This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LC4357:CAN 引导加载程序刷写 FreeRTOS

Guru**** 2044430 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/998425/tms570lc4357-can-bootloader-flashing-freertos

器件型号:TMS570LC4357

你好。

我使用了 TMS570LC43的 Hercules CAN 引导加载程序示例来刷写在 FreeRTOS 中运行的应用程序。 重要的是 、当我在 CCS 的调试模式下刷写应用程序时、应用程序将在第一次复位后工作。 如果我再次复位 Launchpad、应用程序将无法正常工作。 加载程序符号后、我看到应用程序正在循环使用调度程序的函数、但任务未被切换。 它始终停留在一个任务内。   

我的应用程序起始地址为 :0x00010020

这是我从引导加载程序获取的 hL_sys_intvecs.asm

.sect ".intvecs"
ARM

;------------------------------------------------------------------
;中断例程的导入引用

.ref _c_int00

;------------------------------------------------------------------
;中断向量

b _c_int00;0x00
B #0x10018;
B #0x10018;
B #0x10018;
B #0x10018;
b #0x10018;0x14
LDR PC、[PC、#-0x1b0];0x18
LDR PC、[PC、#-0x1b0];0x1C

来自应用程序的链接器脚本如下所示:

存储器

引导程序(X):origin=0x00010020 length=0x00000020
内核(RX):origin=0x00010040 length=0x00008040
FLASH0 (RX):origin=0x00018080 length=0x001F7FE0
//FLASH1 (RX):origin=0x00200000 length=0x00200000
堆栈(RW):origin=0x08000000 length=0x00000800
Kram (RW):origin=0x08000800 length=0x00000800
RAM (RW):origin=(0x08000800+0x00000800) length=(0x0007F800 - 0x00000800)

/*用户代码开始(2)*/
/*用户代码结束*/

您对如何解决此问题有什么想法吗?  

提前感谢您。

大家好

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您的项目中有多少个任务? 是否可以增加 CONFIGTALHEAPSIZE?  

    请阅读  FreeRTOS 网站上的堆管理页面:

    www.freertos.org/a00111.html

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    实际上、我想知道了。 在应用程序代码中添加 vimInit()可以解决该问题。  

    无论如何都谢谢。