主题中讨论的其他器件:TMS320F28379D
我有一个 TMS320F28379D 控制卡和一个定制硬件原型、我使用的代码基本相同、只将少量 GPIO 引脚分配 差异限制在头文件中。 我在使两个电路板从闪存引导时遇到了问题、但由于在另一个线程中解决了该问题、我遇到了这样一个问题、即我 可以看到控制卡上的模拟子系统寄存器在加电时加载了非零的修整值、 但我的自定义硬件上的相同寄存 器中有零、就像在 c1brom_boot.c 中没有从 c1brom_system_init ()调用 Device_cal (0x70280)作为引导加载程序初始化序列的一部分一样。 我最初以为这可以通过从闪存引导来解决、这样校准就不会被绕过、但似乎没有解决问题、所以我回来了。 )
我已经转储了这两个 OTP 存储器并对其进行了比较、以确保 DEVICE_CAL_LOCATION 不是全为零或全为1、因为这会阻止调用。 当我单步执行0x070280处的汇编代码时、所有内容在两个硬件上看起来都是一样的(虽然一个尝试加载0x0000.8D63、另一个尝试加载0x0000.955E、正如一个预期的那样、因为修整值对于每个 DSP 来说是唯一的)、 但是在控制卡上、我可以观察到 ANAREFTRIMA 寄存器使用 OTP 中的值进行更新、而在定制硬件上、寄存器只是保持为零、就像被锁定或禁止写入一样。 是否有任何可能 阻止在我的定制板上写入校准寄存器的操作? 我完全被骗了。
我将连接来自控制卡和自定义硬件的 OTP 转储、以及在0x70296、MOVL @0x36、ACC 的步进指令之后时刻比较模拟子系统寄存器的屏幕截图。 控制卡寄存器为黄色(已更改)、自定义硬件寄存器保持不变。
谢谢!
e2e.ti.com/.../custom_5F00_hardware_5F00_otp_5F00_dump.zipe2e.ti.com/.../control_5F00_card_5F00_otp_5F00_dump.zip



