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.
CKFA烧写程序,Appcoed.bin要求Flash的全部空间填充,28335的空间为256k * 16,所以生成的appcode.bin的大小应该是512k * 8.
按照spraaq2的说明,通过hex2000指令完成,但编译器是CCS3.1:
"E:\Practise\DSP\28335\Debug\28335.out"
-map 28335.map
-o 28335.hex
-m
-memwidth 16
-image
ROMS
{
flash28335:origin = 0x300000, len = 0x40000, romwidth = 16, fill = 0xFFFF
}
但这样的指令在CCS4下编译后,提示错误,hex转bin文件出错,把romwidth = 16改为romwidth = 8,可以生成,但会生成2个文件,不符合要求。
请教一下,CCS4下如何填充整个Flash空间?Thx!
补充:上述指令在.out转hex没出错,但hex转bin出错!
你用的是什么烧写方式,我想用的CKFA项目的串口烧写方式!你看一下上面的那个PDF附件!
擦除Flash也会使flash置1,我需要的是手动填充flash空间!你是一下转换为bin文件,看其大小是否为512k!因为28335的flash空间大小为256k,存储位数为16位。你的转换文件不是512k!
FileIOShell.exe -i 28335.hex -o 28335.bin
TMS320F28335的flash空间配置:origin = 0x300000, length = 0x040000,填充值是0xFFFF吗?
-image
ROMS
{
flash28335:origin = 0x300000, len = 0x40000, romwidth = 16, fill = 0xFFFF
} ROMS指令是这样配置,还是你上面的配置吗?
还有,用不用FileIOShell没什么关系,关键是按照TMS320F281x Boot ROM Serial Flash Programming这个pdf的方法,生成不了正确的bin文件!
这个AppCode附件,就是官方例程,2810生成128k的bin,2812生成256k的bin,但按这种方法,28335成不了512k的bin。
既然hex2000能够转换成bin文件,我想是否就不要在纠结于FileIOShell?我里面填充的是0xfffe,这您可以写其他的数值。
FileIOShell是当时针对281X芯片的,您试试在28335上如2812那样只用0x10000长度的内存,按照该文档的方法那应该也能够正确转换。
尝试了一下,好像FileOShell转换超过256k*(0x20000)的文件就错误了,如果用hex2000转换,指令如何编写:
"E:\Practise\DSP\28335\Debug\28335.out"
-map 28335.map
-o 28335.bin
-b
-memwidth 8
-image
ROMS
{
flash28335:origin = 0x300000, len = 0x40000, romwidth = 16, fill = 0xFFFF
}
这样的话,好像不对,生成不了正确的512k的bin文件!应该是哪里错了,求教啊!
可以生成512Kb的bin文件!还有地址和长度要乘二是因为menwidth = 8!还有你有没有研究过DSP的串口烧写方案CKFA,没有的话,可以看一下,实在是很无语!
就只剩下回调函数这个问题啊!那个双ram buf接收串口数据,边烧写边接收数据!
万分感激,你的指导!Thx!