从网站上下载了AM335x的 starterware,用CCSv5,加载了boot的工程,编译出现如下错误,由于初次搞TI的MCU,不知道错误是什么原因,求助。
error: IRAM_MEM memory range overlaps existing memory range sram.
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.
看上去像是configure 文件不对,你看看processors.wiki.ti.com/.../AM335X_StarterWare_Environment_Setup
首先ccs没发现这个bug,其次,你看看这两个cmd有什么区别?你有没有对照wiki里的说法做
嗯,这个问题暂时不去纠结了。
另外一个问题,我参考那个wiki,我用的板子是大联大的am3359的板子,编译starterware中的boot和demo,将boot_ti.bin重命名为MLO,demo_ti.bin重命名为APP,用那个工具将其放到SD上,用SD卡启动,终端无任何输出,说明boot都没有成功的运行(因为boot有在uart打印信息),大联大的板子与evm335x有何区别?还是我哪个地方配置有误?(暂时没有xds100 v2仿真器),
还有一个问题,电路图上的jtag 与正常的jtag貌似有区别(虽然都是20pin),上面标示为CTI jtag,CTI jtag 与标准jtag有何区别?我在网上查到 jlink在4.47a之后都支持am335x,如果要采用jlink调试有何区别?
1. 我不了解大连大的板子,所以不好意思,我不知道怎么告诉你配置。
2. CTI jtag和标准ARM jtag是有区别的,不仅仅是硬件管脚的区别,内部JTAG协议也有区别,所以建议使用ti的仿真器
ROM 代码不能烧写, sysboot只是在启动的时候会被读取,所以使用中不会和LCD冲突
Tks.
刚才和大联大的人联系过,他们没搞过starterware,但是他们说他们那块板子的原理图和TI的evm是一样的,如果这样的话,之前我的那个SD卡启动的问题可能是什么造成的?他们的u_boot可以启动,我发现他们的U-boot第512字节开始之后的才是TI header( imagesize and loadaddr),跟PDF上有冲突,PDF上说是起始8个字节为TI header,看见他们是这样的,然后我就在自己编译的boot程序前加了512个字节,然后再是TI header,依然无输出。
1.要确定板子是SD卡启动
2.如果大连大的板子是参考EVM做的,要使用EVM目录下的boot工程
3.boot工程是否是Debug-MMCSD Active
4.确定SD卡烧写流程是否正确
1、确定是板子是SD卡启动(用TI原版的Linux里的MLO放到SD卡里启动正常)
2、板子是自己参照已有的开发板画的,使用的是EVM目录下的Boot
3、boot工程是Debug-MMCSD Active(已检查)
4、SD卡烧写流程也是按照手册上的过程来的,用到了两个工具 tiimage和TI_SDCard_boot_utility_v1_0
不过我的SD卡座与单片机只连接了了6个引脚CMD、CLK、D0-D3;写保护引脚与SD卡检测引脚没有连接,不知道这个有没有问题
你用HP格式化工具格式化SD卡为FAT类型,先把MLO文件拷贝去,再拷贝app文件。
另外要注意名称不要把MLO写成ML0(零),app用小写的。
如果这样还不行的话,建议用其它SD卡再试一下。