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.

[参考译文] TMS320F28033:OTP 变量编程不一致

Guru**** 2387830 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1021455/tms320f28033-otp-variables-programmed-inconsistent

器件型号:TMS320F28033

首先、我使用了闪烁 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以外的任何内容都将收到编程错误。

有什么想法? 我能否提供任何数据文件供审核?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    消除这一问题、因为这可能太令人困惑。 我将打开另一个关于 如何设置 OTP_KEY 和的问题
    OTP_BMODE。