我用的是5502,采用并行16外部flash引导自起动,按照网上资源,已经到了.dat文件了,可是发现自己不知道怎么把它烧写到flash 中才是正确的?我采用的是用fread函数读.dat 中的数,然后暂时放在一个数组中,再将数组写到flash 中,通过内存察看到写的数据是一位一位的?不能实现自起动,那要怎么烧写才对呢?那个能具体说一下???
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.
我用的是5502,采用并行16外部flash引导自起动,按照网上资源,已经到了.dat文件了,可是发现自己不知道怎么把它烧写到flash 中才是正确的?我采用的是用fread函数读.dat 中的数,然后暂时放在一个数组中,再将数组写到flash 中,通过内存察看到写的数据是一位一位的?不能实现自起动,那要怎么烧写才对呢?那个能具体说一下???
按我说的那样写,可以烧写对,它就是一位一位地写进去的,而且对应的都是正确的,比如:我用记事本看到的dat中为0x0000,0x0248,烧写后,察看Flash中内容为0x0030 0x0078 0x0030 0x0030 0x0030 0x0030 0x002c 0x0030 0x0078 0x0030 0x0032 0x0038 0x0034 但是这样是不能自起动的,所以我想是不是不能这样一位一位地写,要按dat格式写进去才行呢?但是怎么才是正确的烧写方式?我现在就停这里了,不知道怎么才能实现自起动了
需要手动合并, 如下面的代码.
char data[];
char buf[2];
for (i = 0; i < 2; ++i)
{
/* pack two bytes from file into target char */
int buf[2];
fread(buf, 2, 1, filep);
data[i] = (buf[0] << 8) | buf[1];
}
具体参考下面文档.
http://www.ti.com/lit/an/spra757/spra757.pdf
好的,我先按你说的调整一下,不过你们在用DSP有没有遇到
Error connecting to the target:
Error 0x80003240/-116
Fatal Error during: Initialization, OCS, Target, Control,
This error was generated by TI's USCIF driver
这样的问题,本来想看看改过之后能用不了,可是半天都没有连上下载器,都要疯了,这个JTAG连接怎么这么不稳定啊,每次调程序都要罢工N次
试了你的方法,可是还是没有成功自起动,生成了一个数组头文件,然后也正确写到了Flash中,可是还是没有能自起动?不知道是怎么回事?难道是我的引导格式不对?下面是我引导表生成的设置,你看看那里有问题
-boot
test2.out
-v5510:2
-parallel16
-memwidth 16
-romwidth 16
-map test2.map
-e 0x00000284 (这个是我察看map中的入口地址_c_nt00)
-a
-o test2.hex
-delay 0xffff