Микроконтроллеры ПОКА позволяют работать на самом низком уровне. Если все это переложить на библиотеки и конфигураторы, то в один момент окажется, что производители софта сговорились и выложили доступ к железу только через их драйверы без низкоуровневого доступа к портам и прочему. А это скучно.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
в один момент окажется, что производители софта сговорились и выложили доступ к железу только через их драйверы без низкоуровневого доступа к портам и прочему
так и случится. такое случилось с персоналками, такое случилось и с промышленными контроллерами
Подскажите что сделать что бы в режиме отладки через программатор регистры CYCLECOUNTER, CCTIMER1, CCTIMER2, CCSTEP. работали. Сейчас в качестве программатора использую stm32f100 Discovery, но там нету вывода SWO. С ним будет работать?
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Скажите, можно ли как-то программно управлять выбором загрузки МК - из флеш или запуск бутлоадера? Ну или на ножку BOOT как-то программно влиять? Я хочу сделать так, чтоб можно было обновлять прошивку с ПК. Но для этого все равно надо предварительно посадить ножку BOOT на плюс либо городить какие-то внешние транзисторы и цепочки задержки. Можно без этого обойтись?
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Но для этого все равно надо предварительно посадить ножку BOOT на плюс либо городить какие-то внешние транзисторы и цепочки задержки. Можно без этого обойтись?
Я делал так: программа загрузчик ищет файл прошивки на карте памяти (или мониторит например uart какое то время), если прошиватся ненадо, то пригаем на основную программу. Если надо прошиватся, то переписываем основную программу и пригаем туда предварительно стерев прошивку с карты памяти.
Ну Вы бутлоадер сами писали, и обновлялись с внешней флешки. А у меня какраз UART в устройстве используется и я предположил, что логичнее всего использовать штатный, уже имеющийся в любом микроконтроллере загрузчик - и память экономлю и писать ничего не надо. Кроме того, помимо программы "Flasher" ST предлагает описание протокола программирования и даже готовые DLLки для компьютера, т. е. в дальнейшем можно даже в свою программу (на ПК), работающую с устройством на STM, вставить кнопочку "Обновить..." и тогда совсем все по-человечески будет выглядеть.
Можно при получении команды, пригнуть в свой бутлоадер, переписать программу и вернутся назад. По поводу памяти, то вместе с FAT и дисплеем 320 на 240 он занял меньше 22к. Зато ненадо химичить с внешними элементами.
User can jump to the System Memory Bootloader from his application code using the following entry point: 0x1FFFC518
Вот только почему-то не для всех МК такая фраза указана. Забыли написать? В частности, в таблице 3 на стр. 21 приведены адреса для всех процев. По идее, надо просто прыгнуть из своей программы на указанный адрес. Но пока не пробовал.
Кстати, ЮСБишные версии F0 "из коробки" грузятся по USB или же USB-bootloader надо зашивать самому? Как ни странно, гугл породил множество сомнений.
Говорю же - на стр. 21 таблица с адресами для всех МК. В частности, на основе этой таблицы я предположил, что в младших F10x действительно с этим большая проблема, кроме того, нет встроенного USB-bootloader'а, а в остальных МК, вчастности F0, вроде как и адрес загрузчика явно указан, и по USB они, по идее, должны грузиться сразу после приноса их из магазина.
Кто-нибудь понимает фарси? Пишут персы что-то про Proteus 8.6 SP2, так ведь ни слова не разобрать. Видно только, что он научился симулировать STM32F1xx.
Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Пт мар 24, 2017 11:38:29
Сверлит текстолит когтями
Карма: 5
Рейтинг сообщений: 19
Зарегистрирован: Вт фев 01, 2011 17:56:40 Сообщений: 1270 Откуда: г. Жуковка, Брянская обл.
Рейтинг сообщения:0
Здравствуйте. Изучаю тут таймеры. Использую STM32F030F4P6. Назначил таймер SysTick ответственным за задержки функции delay, а таймер 14 за вывод информации на дисплей раз в секунду. Проблема в том, что как только я запускаю таймер 14, его обработчик успешно выполняется раз в секунду, но зацикливается, т.е. после выполнения снова вход в него. Никак не найду где проблема. Вот код: Спойлер
Проблема отложенной записи, сначала нужно сбросить флаг - а после выполнять код. Ну и само выполнение графических функций в прерывании - не самое лучшее решение. Делают немного иначе - в прерывании устанавливают флаг для внешней графической функции. Внешняя функция проверяет флаг когда есть возможность рисовать. Если цикл рисования получится больше времени таймера - будет пропущен один цикл. Если рисовать в прерывании - гарантированно зависнет.
Модель STM32 в протеусе не полная на данный момент. Например не работает DMA. Дальше не стал копать.
Хотя, возможно, стоило.
Цитата:
И самое главное, если внимательно изучить эту страничку, то можно получить очень приятный сюрприз.
И как оказалось, для этого совершенно не нужно знать фарси. Кстати сказать, там персы еще непонятно что рассказывают про февральский Keil MDK-ARM 5.23 и мартовский IAR Embedded Workbench for ARM 8.10
Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Сб мар 25, 2017 21:51:57
Сверлит текстолит когтями
Карма: 5
Рейтинг сообщений: 19
Зарегистрирован: Вт фев 01, 2011 17:56:40 Сообщений: 1270 Откуда: г. Жуковка, Брянская обл.
Рейтинг сообщения:0
AVI-crak писал(а):
сначала нужно сбросить флаг - а после выполнять код
Пробовал в начало переместить. Так тоже зависает.
AVI-crak писал(а):
Делают немного иначе
Благодарю, сделаю таким образом.
AVI-crak писал(а):
Если рисовать в прерывании - гарантированно зависнет.
Но все же не совсем понятно, почему так происходит? Ведь рисование выполняется быстрее, чем 1секунда и оно завершится до следующего вызова прерывания, но такое ощущение, что флаг и не сбрасывается/не учитывается...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 56
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения