当程序上传到STM32F4上时,是否可以用计算机信息更新RTC?例如,计算机上的日期和小时信息是:12h40 11/09/2018,当我用IAR / AC6刷新微控制器时,RTC设置为这些信息吗?
答案 0 :(得分:0)
我的想法是制作一个在刷新后运行的脚本(我对IAR不熟悉,但希望可以在FLASH之后运行某些东西),并且该脚本将在当前时间通过调试端口RTC寄存器进行设置。 / p>
如果您使用ST-Link / V2硬件进行刷新,并且对python有任何经验,则可以使用该pyswd库。很简单,只需在python脚本中获取实际时间并在连接的MCU中设置适当的寄存器即可。
答案 1 :(得分:0)
据我所知,您有两个选择:
此外,请考虑一下您的应用程序是否实际需要“实时”。许多嵌入式设备可以处理相对时间,例如自上电以来经过的毫秒数。
答案 2 :(得分:0)
您可以通过SWD(或JTAG)修改大多数端口寄存器,方法与闪存和RAM地址相同。
也许某些预算级别的调试适配器缺少可编写脚本的选项,但至少适配器的主流范围允许您将值写入CPU可通过内部总线到达的任何地址(AHB,APBx等)。 如果您仔细阅读了参考手册,则至少可以找出必须分配的寄存器的原始地址(和位模式)。 如果幸运的话,调试适配器的软件工具甚至可以为您提供一项功能,使您可以使用大量的语法糖来完成此操作-无需深入研究手册。
答案 3 :(得分:-2)
IMO最简单的方法是修改openOCD TCL脚本以上传(刷新后)小程序,该小程序将更新RTC。 15分钟的工作