主题中讨论的其他器件:UNIFLASH
工具/软件:Linux
您好!
尝试使用 uniFlash Linux CLI 工具将我自己的.elf 文件上载到 TMS57012板中、但我从 Linux shell 中得到此错误:
DSLite 版本8.1.0.1275
正在配置调试器(首次启动可能需要几分钟时间)...
正在初始化寄存器数据库...
正在初始化:IcePick
执行启动脚本:IcePick
正在初始化:DAP
执行启动脚本:DAP
正在初始化:CortexR4
执行启动脚本:CortexR4
正在连接...
CortexR4:GEL 输出:闪存的存储器映射设置@地址0x0Fail:无法打开文件:闪存
我在 Linux shell 中输入的命令为:
dslite.sh flash -c /home/saeed/Desktop/TMS57012_Kernel/TMS570LS12_Configuration.ccxml -e -f -v /home/saeed/Desktop/kernel.elf
当 endianess 标志设置为-msittle-endian 并且我尝试将.EFL 文件上载到基于云的 uniflash 工具(dev.ti.com/uniflash)时、uniFlash 工具会抛出不同的错误: 与目标字节序不匹配、未加载。 检查项目构建选项和目标配置文件(CCXML)。
如果我尝试在 Makefile 中将 endianess 标志设置为-mbig-endian、然后尝试 make kernel.elf 我从 Linux shell 中获得此错误: arm-linux-gnueabi-ld:kernel.o:为大端系统编译、目标是小端字节序
现在、我将尝试通过将一个非常简单的编译代码上传到板中来开始设计。 我不使用 TI ARM 编译器、但我使用的是开源 ARM-Linux-gnueabi-gcc 编译器。 我怀疑问题可能出在我编写的 Makefile、因此我附加了 Makefile、file.ccxml 和我提到的简单.C 文件(zip 文件夹中的所有文件)。
更新:实际上、如果我能获得有关使用 ARM-Linux-gnueabi-gcc 工具为这个简单程序创建 makefile 的指导、那将是很好的。 我在编译时获得的二进制映像似乎不起作用、因为我认为 CFLAGS、LDFLAGS 和字节序存在问题。 此外、我不确定 uniFlash 工具是否会自动提供 startup.asm 来正确读取我上传到电路板中的 bin 映像。