首先、我使用了闪烁 LED 来闪烁示例。 当我对28035进行下电上电时、它立即开始闪烁 LED -是的!!
在尝试将28035引导至 CAN 总线时、我用 以下方式更新了 OTP 密钥和 BMODE:
在文件 DSP2803x_Headers_nonBIOS.cmd 中、我添加了以下内容:
第1页
OTPKEY:origin = 0x3D7BFE,length = 0x000001 //引导加载程序 GetMode 项*/
OTPBMODE:origin = 0x3D7BFF,length = 0x000001 /* Bootloader BMODE 键-设置为 CAN*/
部分
/*** CAN 引导加载程序的设置***/
OtpKeyVar:> OTPKEY,PAGE = 1.
OtpBMode:> OTPBMODE,PAGE = 1.
创建了一个具有以下内容的 OTP、asm 文件:
;/ /
.sect "OtpKeyVar"
.int 0x55AA;针对 CAN BMODE 的一次性可编程
;/ /
.sect "OtpBMode"
.int 0x0007;CAN BMODE
;/ /
.end
它在.map 文件中显示为:
OTPKEY 003d7bfe 00000001 00000001 00000000 RWIX
OTPBMODE 003d7bff 00000001 00000001 00000000 RWIX
然后、我进行了下电上电、闪烁的 LED 按预期缺失、因此我认为28035正在等待 CAN 数据。 好的
然后、我返回到闪烁 LED 示例、只需使用以下命令创建相同的文件、以便从 CAN 引导中将其删除:
创建了一个具有以下内容的 OTP、asm 文件:
;/ /
.sect "OtpKeyVar"
.int 0x0000; 针对闪存模式的一次性可编程-值不正确
;/ /
.sect "OtpBMode"
.int 0x0000;闪存
;/ /
.end
现在、我的闪存程序返回到闪存-是的!
我做过几次、以确保事情按预期进行。 我的下一个步骤是连接 CAN 总线、并尝试发送0x08AA 并查看它已被识别。
但是、我无法再写入 0x55AA 的 OtpKeyVar、因为我遇到以下错误:
C28xx:闪存编程器:写入闪存存储器时遇到错误
C28xx:文件加载程序:内存写入失败:未知错误
C28xx:GEL:文件:C:\Users\jmasse\workspace_v10\F2803x_CAN_FLASH_kernel\Debug\F2803x_CAN_FLASH_kernel.out:加载失败。
我可以写入 0x0000的 OtpKeyVar、闪存将进行编程、但除0x0000以外的任何内容都将收到编程错误。
有什么想法? 我能否提供任何数据文件供审核?