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.
我的程序编译后报错,由于CCS显示不完全,错误描述那块是黑的,就是酱紫:
然后我双击错误描述,就自动跳转到28035_RAM_lnk.cmd文件了,就是酱紫:
我不知道为什么会有这个报错,也不知道跳转到的这一行是什么意思,估计是跟RAM有关吧,也不知道怎么解决这个问题。请求官方人员解疑答惑,谢谢。
麻烦问一下RAML0L1具体是怎么扩充呢。
我找到了PAGE0的MEMORY定义:
是要修改origin还是length,origin是代表什么意思,length是长度,length后三位字母是什么意思,具体要怎么修改呢,谢谢。
length后面就是长度,就是这一个区域有0xD00的长度,换算成十进制就是有3K大小。28035的PAGE0的L0L1加起来就这么大,你看一下view菜单下的memory allocation,里面有程序占用情况。
换成28035.cmd文件后,真的好了,不报错了。所以用28035_ram_lnk文件就是用ram调试,用28035.cmd就是用flash调试吗,总而言之问题解决了,谢谢!
cmd文件就是分配你的代码编译后的数据的,用28035_ram_lnk只会把代码放在RAM里,28035.cmd是分配整个存储空间。flash里面运行的代码比RAM要慢,对时间有要求的代码在程序初始化的时候拷贝到RAM里运行就好了
程序初始化是什么时候,怎么拷贝到ram呢,另外我在论坛里查找资料的时候看到有人说delay函数只能在ram里运行,,是这样的吗?因为我的程序里有很多关于delay函数的警告,但是由于问题描述显示不全,我也不知道警告的全部内容,截图如下:
你可以导入一个flash的例程看看,Example_2803xFlash,拷贝到RAM的语句是memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (Uint32)&RamfuncsLoadSize);延时函数是DELAY_US,这个是TI在汇编里面写好的,调用就行了