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.
在用的2802,想用1K的OTP存放表格,如何去做?
是不是只在CMD文件中定义好段就可以了。以后这个表格也不会去更改了。读OTP与读FLASH有没区别?
所谓OTP,是指只能一次性写入,不能被擦除,所以已经写过的部分是不可以的。
注意,写一次的对象是位,不是字节,不是字,也不是一个区,所以OTP可多次写入,但对于一个位或一个地址所在,只能写一次。
LACC GPR_AX
MOVL XAR7,#TEMP_LIST
ADDL XAR7,ACC
PREAD GPR_AX,*XAR7
这里TEMP_LIST是表头地址在OTP区域0X3D7901,GPR_AX是0,但是执行完后GPR_AX是0FFFFH,表格中前几个数都不是0FFFFH。问题在哪?
哦哦!非常谢谢!不过我还有一个问题,不好意思哦!偶是第一次弄DSP的,让您见笑了!我要写一个基于CAN通信的TMS320F28030的bootloader程序,但现在遇到了几个问题如下:
1, 自己写的Bootloader程序和芯片内部BootROM区固化的Bootloader程序,在引导加载程序时,它们之间的关系是什么?
2,BootROM区固化的Bootloader 的有关函数可以直接调用吗?或者可以说如何读取BootROM区的内容?
OTP来做Bootloader可以参考下面的资料,里面有详细说明:
http://www.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=spraaq3
http://www.ti.com/cn/litv/pdf/sprugo0a
他们的关系是,上电-->运行芯片的bootrom中的bootloader-->符合sprugo0a文档中的要求会跳转指定的地址,比如您想做的OTP loader。
理论上BootROM区固化的Bootloader 的有关函数可以直接调用,因为可以读取bootrom的内容,但是TI并没有提供里面的函数地址,做起来会比较麻烦。
以后有新问题请重发新帖。
你的问题可能跟电源或复位信号有关,请检查一下上电时,正常和异常时的电源波形有无不同,复位信号是否正常。
另外,也可能与初始化程序有关,建议可以使用例程测试一下先,然后对比一下主要看看顺序上是否有差别。