Перейти к содержанию

    

kvandr

Участник
  • Публикаций

    50
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о kvandr

  • Звание
    Участник
  1. Если бы молодость, было бы веселее. А так полтинник, и башка занята чем попало... Кейл только вкусов в коктейль добавил ))
  2. Там только регион указан, а мне по адресу нужно.
  3. Так как всё таки записать эту секцию для массива в IRAM2 например int Arr [1024]? С началом по конкретному адресу.
  4. Куда вписывать #pragma section и как объявлять массив в данном случае? Извините, не делал такого раньше. Поэтому, если можете, чуть подробнее.
  5. Массив по заданному адресу MDK-ARM (Keil)

    Добрый день. В документации MDK-ARM описана возможность размещения переменной по заданному адресу. Например int x2 __attribute__((at(0x12000))) = 10; А как массив разместить в определенном адресном пространстве (может как-то через первый элемент)? Спасибо!
  6. Два действия по одному событию

    Не обязательно тим6. Но смысл я понял. Спасибо.
  7. STM32H743 & keil ARM MDK 5.16a @ WinXP

    Тоже искал как это обойти. Пришлось вместо ХР 7ку 64 бита вешать и кейл 5.24. Было грустно. Но заработало.
  8. Два действия по одному событию

    Добрый день. У меня переполнение TIM1 в режиме ШИМ на STM32H743 настроен для транзакции DMA1 при передаче данных на GPIO. Всё работает. Можно ли на это же событие установить например запуск TIM6? Или другого таймера. Если да, то как в общих чертах это реализовать? Спасибо.
  9. TIM1_CH3

    Цитата(SSerge @ Apr 25 2018, 16:25) Надо ещё в TIM3->DIER установить бит TIM_DIER_CC3DE, разрешить таймеру выдавать запросы к DMA. А ещё у STM32F4 есть еррата, "2.1.13 Delay after an RCC peripheral clock enabling". После включения тактирования нельзя сразу же обращаться к регистрам периферии, надо немного подождать. например так: RCC->APB1ENR |= RCC_APB1ENR_TIM3EN; __DSB(); А то результат настройки периферии непредсказуем. Спасибо! TIM1->DIER |= TIM_DIER_CC3DE покатило. Почему не понадобилась та же опция для TIM1_UP - загадка.
  10. TIM1_CH3

    Цитата(Сергей Борщ @ Apr 25 2018, 14:57) Будет. TIM_SR_CC3IF устанавливается периодически в процессе работы таймера, я его отслеживаю и сбрасываю программно, но при этом декремента счетчика DMA NDTR не происходит. Странно.
  11. TIM1_CH3

    Цитата(Сергей Борщ @ Apr 25 2018, 11:34) То событие, которое вызывает установку CC3IF. При этом еще должен быть разрешен третий канал, т.е. должен быть взведен CC3E. Будет ли работать эта система, если 3й канал сконфигурирован в режиме ШИМ?
  12. TIM1_CH3

    Добрый день. Возникла проблема. В STM32F4 есть источник для DMA2, который называется TIM1_CH3. Какое событие при этом подразумевается для запуска транзакции DMA? Например TIM1_UP - это просто перезагрузка таймера. Для TIM1_CH3 перезагрузка таймера в режиме ШИМ на 3 канале не катит. Просветите, пожалуйста, по этому вопросу. Спасибо.
  13. Запуск кода из ram

    Цитата(Forger @ Nov 10 2017, 16:39) Каких ресурсов? Разметите критический важный кусок кода внутри отдельных функций, размещенных в отдельном С/CPP файле, поместите весь файл в секцию RAM (как это сделать, см. мануал на Keil). Тогда не придется городить загрузчик лишь для того, чтобы весь код засунуть в ОЗУ. Этот с/срр файл можно сделать в существующем проекте среди других с/срр файлов?
  14. Запуск кода из ram

    Цитата(Forger @ Nov 10 2017, 16:39) Каких ресурсов? Разметите критический важный кусок кода внутри отдельных функций, размещенных в отдельном С/CPP файле, поместите весь файл в секцию RAM (как это сделать, см. мануал на Keil). Тогда не придется городить загрузчик лишь для того, чтобы весь код засунуть в ОЗУ. Вы действительно полагаете, что перемещение ВСЕГО кода в ОЗУ поможет решить эту проблему? Спасибо за идею.
  15. Запуск кода из ram

    Цитата(jcxz @ Nov 10 2017, 15:19) На F7 (да и пожалуй на любом из старших ARMов) в принципе не надо писать код, основанный на времени выполнения NOPов. А как получить задержку 5 тактов на 200 МГц? Цитата(Forger @ Nov 10 2017, 17:31) Лютое решение ((( Конечно, уже поздно переделывать железо, но почему решили все это чисто на MCU, а не поставили хотя бы FPGA в связке с практически любым МК? В этом весь сок. Обойтись без плиски.