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.
我在通过 DCSM 写入 X1_BOOTCTRL 时遇到问题。 在整理有关该问题的文件后,似乎最可能起作用的方法是:
1.在 c2000Ware 支持中导入 f2837xs 的"blinky_with_dcsm"示例工程
2.在"blinky_with_dcsm_cpu01.c"文件中添加下面的 main()
#pragma RETAIN(otp_z1_bootctrl)
#pragma DATA_SECTION(otp_z1_bootctrl,"dcsm_otp_z1_bootctrl");
const long otp_z1_bootctrl = 0xFFFF045A;
3.通过 JTAG 调试会话编译和部署项目。
我可以看到值保留在存储器映射中、但我看不到结果存储在存储器映射中的 Z1_BOOTCTRL 寄存器中(通过各种运行和复位应用程序的方法)。
DCSM_OTP_Z1_BOOTCTRL
* 0 0007801c 00000002 DSECT
0007801c 00000002 blinky_cpu01.obj (dcsm_otp_z1_bootctrl:retain)
在使用存储器浏览器进行查看时、0x0005F004处的值保持为0xFFFFFFFF。 此外、我还无法在内存浏览器中直接编辑此值、这是在一些论坛帖子中推荐的。
无法写入 Z1_BOOTCTRL 寄存器后、我决定尝试使用 EMU_BOOTCTRL 解决该问题。 我能够使用0x045A 编辑0x0D00位置、但是 每次尝试从 CCS 启动 CPU 复位时、我都会运行到一个断点。 我没有注意到系统复位或重启命令产生的任何影响-闪烁应用程序继续执行、就像没有中断一样。
复位时的消息为:
(已暂停- SW 断点-目标上发生了复位)
我无法使应用程序运行超过这一点。
请注意、我们分别使用默认的 GPIO 引脚84和引脚72将 BOOTPIN0和 BOOTPIN1引脚配置为获取模式(均为高电平)。
是否有关于在 F28379S 上尝试启用 SPI 引导的任何指导或支持、可提供有关该问题的一些指导或支持?
您好! 是否有关于此问题的任何更新?
您好!
Unknown 说:在 使用内存浏览器查看时、0x0005F004处的值仍然为0xFFFFFFFF。 我也无法在内存浏览器中直接编辑此值、这是在一些论坛帖子中推荐的。
您需要从该文件中删除 DSECT 属性、否则将无法对其进行编程。 我们还提供了安全工具、可生成所需的配置以避免此类问题。 有关 使用此工具的信息、请参阅此应用报告。
[quote userid="552013" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1326311/tms320f28379s-issues-with-programming-bmode-in-x1_bootctrl-using-dcsm-project-or-using-emu_bootctrl-to-kick-off-a-spi-boot 无法写入 Z1_BOOTCTRL 寄存器后、我决定尝试使用 EMU_BOOTCTRL 解决这个问题。 我能够使用0x045A 编辑0x0D00位置、但是 每次尝试从 CCS 启动 CPU 复位时、我都会运行到一个断点。 我没有注意到系统重置或重启命令的任何影响-闪烁的应用程序继续执行,就像没有中断一样。请确认您从 CCS 发出复位后点击运行。 如果您正在使用重新启动、则无法正常运行。
此致、
维维克·辛格
我曾尝试使用应用报告中提到的 DCSM 工具、但它似乎不支持我们的器件。 我在尝试打开与处理器的闪烁工程示例关联的 dcsm_security_tool.syscfg 时收到以下错误消息:
未找到器件:F28X7X。 此器件可能在较新版本的 SysConfig 中提供
我们的器件是 F28379S。
如果我们继续克服错误、将打开正常的 SysConfig 工具、而不是应用手册中所述的特殊 GUI 界面。 超过这一点后、我无法继续执行 DCSM 工具工作流程。
该应用手册中提到了以下先决条件:
因此、根据应用手册、我们应实现合规性。
作为替代方案、您提到了删除 DSECT 属性应该会允许对寄存器进行编程。 我现在了解了 blinky 项目尝试执行的操作、并从连接器文件中删除了 Z1寄存器的属性(在2837xS_DCSM_lnk_cpu1.cmd 中)、并取消添加 DCSM_Z1_ZoneSelectBlock.asm 中的值的注释。 不幸的是、寄存器仍然没有体现我尝试编程的值: .sect "dcsm_otp_z1_bootctrl"
.long 0xFFFFFFFF ;Reserved
.long 0xFFFF045A ;Z1-BOOTCTRL
对于下一步该怎么做有什么想法? 我更喜欢使用此工具、但无法解决上述错误。
尊敬的 Jeremy:
向 blinky_with_dcsm 等位域示例添加.syscfg 文件将不起作用、因为 SysConfig 是在 driverlib 之上构建的。 您可以改用以下步骤吗?
在这里、您会看到一个与 Vivek 应用手册中描述的 GUI 非常相似的 GUI。 我们在各个器件之间添加了新的 DCSM 功能、因此 GUI 不会完全相同、但相同的概念仍然适用。
您在不使用 DCSM 工具的情况下尝试的方法似乎正确。 您可以在存储器浏览器中查看0x7801C - 0x7801F 吗? 是否仍然是所有 F 部分? 引导 ROM 应将在此字段编程的值加载到 Z1_BOOTCTRL 寄存器中。
使用 DCSM 工具进行编程是否可以解决此问题?
谢谢!
卢克