Part Number:TMS570LC4357
你好:
请问该芯片的bootloader在哪可以找到?是什么类型的文件结尾的?例如.S,.C这种
Susan Yang:
li xy 说: 请问该芯片的bootloader在哪可以找到?
您是想做二次的boot吗? 我们有类似的文档,您可以看一下
https://www.tij.co.jp/jp/lit/an/spna199/spna199.pdf
在此,bl_main.c 是 The main control loop of the bootloader
,
li xy:
我的是LC4357,跟LS31x系列应该有区别吧?我在LC4357的官网链接只看到了CAN bootloader,应该还有别的类似uart,spi那种bootloader吧?
,
Susan Yang:
li xy 说:我在LC4357的官网链接只看到了CAN bootloader,应该还有别的类似uart,spi那种bootloader吧?
LC4357也是可以参考LS的文档和工程的。
您可以参考之前的讨论和说明
https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/838842/tms570lc4357-uart-bootloader
,
li xy:
那void _c_int00(void)这个函数就是bootloader吗?
,
Susan Yang:
函数 _c_int00 是C/C++ 程序的启动例程(也称为 boot routine)。它执行 C/C++ 程序初始化自身所需的所有步骤。
名称 _c_int00 意味着它是中断号 0、RESET 的中断处理程序,并且它设置了 C 环境。它的名称不必完全是 _c_int00,但默认情况下链接器将 _c_int00 设置为 C 程序的入口点。编译器的运行时支持库提供了 _c_int00 的默认实现。
启动例程负责执行以下操作:
通过初始化 SP 设置堆栈
设置数据页指针 DP(对于有一个的架构)
设置配置寄存器
处理.cinit表以自动初始化全局变量(使用 –rom_model 选项时)
处理.pinit表以构造全局 C++ 对象。
使用适当的参数调用函数 main
main 返回时调用 exit
,
li xy:
所以这个_c_int00 函数是在bootloader之后运行的对吧
,
Susan Yang:
可以这样理解,您可以实际拿板子跑一下来更深刻地了解整个过程
,
li xy:
请问SafetyMCU_Bootloader 这个lib在哪链接下载的?
,
Susan Yang:
SafetyMCU_Bootloader.zip
,
li xy:
谢谢,请问只有CCSv5版本才能编译bootloader吗?
,
Susan Yang:
其他版本也可以,尽量保证Compiler的版本一致
,
li xy:
你这里说的compiler指的是?
,
Susan Yang:
CCS内编译器的版本
,
li xy:
请问,有关于如何在CCS内配置bootloader工程的介绍文档吗?我导入了bootloader_uart工程,如何编译出了问题
,
Susan Yang:
应该是路径设置的问题,您需要根据您的路径修改下面的设置
另外需要注意lib的路径,附上lib
https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/312/6254.F021_5F00_API_5F00_CortexR4_5F00_BE.lib
https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/312/6012.F021_5F00_API_5F00_CortexR4_5F00_LE.lib
,
li xy:
这个C:\Users\a0324020\workspace_v5_4这个路径是如何产生的?
,
Susan Yang:
这个就是当时编写该工程的工程师电脑内的CCS workspace的路径,您需要根据您的路径进行修改
,
li xy:
意思就是我得把这个C盘路径,换成我自己的workpalce路径对吧?就是更换SW_ROOT,和CG_TOOL_ROOT的variable的值?
,
Susan Yang:
是的,您的理解是正确的
,
li xy:
我这边电脑问题,没办法上传截图:
1.我现在的ORIGINAL_PROJECT_ROOT设置的是D:\SafetyMCU_Bootloader\SafetyMCU_Bootloader\TMS570LS31x\boot_uart; 这个路径也就是SW_ROOT。这个路径就是SafetyMCU_Bootloader.zip里面的bootloader_uart;
2.我现在遇到的编译问题是:
找不到"../bl_link.cmd", line 23: error #10008-D: cannot find file "F021_API_CortexR4_BE.lib";
error #10008-D: cannot find file "D:/SafetyMCU_Bootloader/SafetyMCU_Bootloader/lib/F021_API_CortexR4_BE.lib"
error #10056: symbol "Fapi_setupEepromSectorEnable" redefined: first defined in "./Fapi_UserDefinedFunctions.obj"; redefined in "..\Release\Fapi_UserDefinedFunctions.obj"
是不是我的F021_API的安装路径问题?我看了一下F021_API_CortexR4_BE.lib,这个lib在F021_API文件夹里面
,
Susan Yang:
如我之前第2张图,您需要对lib添加对应的路径