Other Parts Discussed in Thread: CONTROLSUITE
我从资料上看到F28377的BOOT MODE由GPIO84 和72决定,然后The boot mode pins are configurable by user by programming proper OTPKEY,意思应该是这两个脚可以换成别的脚,是吗。然后我的GPIO84和72用去做其他用处了,当时没考虑到BOOT的选择问题(现在芯片认为不是FLASH mode),我该怎么办
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.
Other Parts Discussed in Thread: CONTROLSUITE
我从资料上看到F28377的BOOT MODE由GPIO84 和72决定,然后The boot mode pins are configurable by user by programming proper OTPKEY,意思应该是这两个脚可以换成别的脚,是吗。然后我的GPIO84和72用去做其他用处了,当时没考虑到BOOT的选择问题(现在芯片认为不是FLASH mode),我该怎么办
可以说的详细点吗,谢谢了
我在CMD里面找的的,是这个地方吗
DCSM_Z1 : origin = 0x05F000, length = 0x000030 /* Zone 1 Dual code security module registers */
DCSM_Z2 : origin = 0x05F040, length = 0x000030 /* Zone 2 Dual code security module registers */
DCSM_COMMON : origin = 0x05F070, length = 0x000010 /* Common Dual code security module registers */
DCSM_Z1_OTP : origin = 0x078000, length = 0x000020 /* Part of Z1 OTP. LinkPointer/JTAG lock/ Boot Mode */
DCSM_Z2_OTP : origin = 0x078200, length = 0x000020 /* Part of Z2 OTP. LinkPointer/JTAG lock */
该怎么改
请先看文档关于这个功能的详细描述,理解清楚了再操作。
上面提到的TRM (SPRUHM8) 的3.10 Boot Modes Supported on CPU1章节里,从The following modes are available when TRSTn = 0.开始,都是有关的详细说明。
你需要通过DCSM_Z1_ZoneSelectBlock.asm文件更改Z1-BOOTCTRL寄存器的值的配置:
C:\ti\controlSUITE\device_support\F2837xD\v210\F2837xD_examples_Cpu1\blinky_with_DCSM\cpu01
好像不行的,如果把OTPBOOTCTRL里面的Z1-BOOTCTRL更改了,比如改为0x0203815A。 这样修改,是选择 GPIO1和GPIO2作为boot选择.
上电后,判断是0x5A会进入选择状态,依据 GPIO1和GPIO2的状态:
Boot Mode = 0 -> Parallel Boot Mode
Boot Mode = 1 -> SCIBOOT Mode
Boot Mode = 2 -> WAIT BOOT Mode
Boot Mode = 3 -> GET MODE (read OTP Boot Mode values)
如果这两个引脚上电时都为1, 才会进入get mode,然后才会根据0x81选择SCIBOOT1,可以通过GPIO28,GPIO28下载.
但是这么设置之后,由于是修改了OTP(不能在修改回来)烧录完程序之后,如果重新上电只能进入SCIBOOT1.没法进入直接flash运行程序.
除非是想每次都从SCIBOOT1,然后,先下载一个程序(比如到RAM),运行后,再去执行flash中的程序.
不太清楚TI这么设计的初衷.