Обновите RTC на STM32F4 при перепрошивке UC - PullRequest
0 голосов
/ 11 сентября 2018

Есть ли способ обновить RTC с помощью компьютерной информации при загрузке программы на STM32F4?Например, информация о дате и часах на компьютере: 12: 40, 11/09/2018, и когда я прошиваю микроконтроллер IAR / AC6, тогда RTC устанавливается с этими частями информации?

Ответы [ 3 ]

0 голосов
/ 12 сентября 2018

Насколько я понимаю, у вас есть два варианта:

  1. Запекать время ПК в вашей прошивке. Чтобы сделать это, вы можете собрать свою прошивку с некоторой областью памяти или действительно Makefile, выделенный для значений в реальном времени, которые заполняются скриптом во время сборки. Когда микропрограмма запускается впервые, она будет считывать данные из этих мест и обновлять RTC. Если вы выберете такой подход, ваше время всегда будет на некоторое время меньше, в зависимости от того, сколько времени потребуется для сборки и загрузки прошивки на устройство.
  2. Запишите время ПК при первом включении. Для этого вам потребуется интерфейс между ПК и устройством и приложение, работающее на ПК. Приложению будет дано указание получить текущее время ПК и отправить его на устройство через интерфейс (например, через последовательный кабель), а затем будет обновлен RTC. Это лучший подход, так как время устройства будет более тесно связано со временем ПК, и вы можете также написать это. Недостатком здесь является создание интерфейса.

Кроме того, рассмотрим, нужно ли вашему приложению «в реальном времени». Многие встроенные устройства могут обойтись с относительным временем, например, миллисекундами, прошедшими с момента включения питания.

0 голосов
/ 12 сентября 2018

Самый простой способ IMO - это изменить скрипт openOCD TCL для загрузки (после перепрошивки) небольшой программы, которая будет обновлять RTC.15 минут работы

0 голосов
/ 11 сентября 2018

Моя идея состоит в том, чтобы создать скрипт, который вы запускаете после перепрошивки (я не знаком с IAR, но надеюсь, что возможно выполнить что-то после FLASH), и этот скрипт будет устанавливать на порт отладки регистры RTC с текущим временем.

Если вы используете для прошивки оборудование ST-Link / V2 и у вас есть опыт работы с python, вы можете использовать для этой библиотеки pyswd . это просто, просто в скрипте Python получить фактическое время и установить соответствующие регистры в подключенном MCU.

...