大家好
按照 TI 的文档和代码、我能够在我的定制板上实现引导加载程序、其中 TM4C1290NCPDT 加载在闪存中的0x0上、我的应用程序加载在0x4000上。 我可以使用我从 Tivaware tools 目录编译的 sflash.exe 代码、使用此引导加载程序成功地重新加载应用程序。 一切都很好,谢谢!
但是、在加载引导加载程序后、我无法重新启动微控制器、我似乎需要一个完整的电源循环来使其再次运行(此时工作正常)。
我正在发送 sflash 运行命令、地址为0x4000 (我的应用程序在 flash 中的起始地址)。 我应该传递的正确地址是吗? 我原以为是这样、但现在我想知道它是否应该是复位 ISR 矢量? 我很困惑。 我还尝试了0x0 (这是引导加载程序位于闪存中的位置),但也不起作用。
对电路板进行电源循环并不是一件大事、但由于 FPGA 等其他器件需要一些时间才能重新配置、因此这有点困难。
谢谢
Peter
sflash 命令:
/sflash ./cm_mcu.bin -r 0x4000 -p 0x4000 -c /dev/ttyUSB2 -b 115200 -d -s 76
[尽管我认为不需要解决此问题,但我在基于 RHEL7的 Linux Box 上使用的是最新版本的 Tivaware,并具有基于 gcc 的 Makefile 编译路径。]