TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28388D: 关于CPU1 BOOTDEF Bit Fields的疑问

Part Number:TMS320F28388DOther Parts Discussed in Thread:TMS320F28379D

问题1.如上图所示,请问哪里可以找到CPU1 BOOTDEF Bit的默认值呢?在ROM Code and Peripheral Booting章节中,没有找到相关的寄存器定义。

默认boot引脚配置如下:

照此推断,如果GPIO72\GPIO84配置默认上拉电阻,那是不是选择了BOOT_DEF3

如上图所示,

问题2. BOOT_DEF3的默认值会是3吗?

如果通过dcsm_security_tool例程修改默认的boot引脚,如下图所示:

问题3.ZONE1和ZONE2是都要修改吗,还是只修改一个就可以

看到两个里面都可以修改

user78960159:

对于问题3 找到答案了 zone2的优先级高于zone1

问题4. 对于控制器而言,它怎么知道当前是修改了zone1还是zone2呢,

如上图所示,将工程的两个zone的header展开,如果勾选了zone2的Configure Boot Setting,就是表示将会对zone2进行修改,这个理解对吗?

,

Yale Li:

1. 看一下高亮的部分:

(spruii0d_TMS320F2838x Real-Time Microcontrollers With Connectivity Manager TRM (Rev. D) 第704页)

可以通过管脚来选择不同的引导模式,这个管脚的数量、路由都是可以由用户定义的;

管脚的数量最少是0个(只有1种引导模式),最多是3个(8种可选择的引导模式);

BOOT_DEF0~BOOT_DEF7就是定义了这1~8种引导模式,

eg1:0个boot选择管脚,则只有1种引导模式,BOOT_DEF0定义了这1种引导模式;

eg2:2个引导模式选择管脚,有4种boot模式,BOOT_DEF2定义了 当这2个管脚的输入 被编码为“   10”时的引导模式;

eg3:3个boot选择管脚,则会有8种引导模式,BOOT_DEF7定义了 当这3个管脚的输入 被编码为“111”时的引导模式;

这里可以参考下TRM中紧接着的Section 5.4.3,里面举了一些例子。

Section 5.7.8中列出了所有可供选择的BOOTDEF Value。

user78960159 说:照此推断,如果GPIO72\GPIO84配置默认上拉电阻,那是不是选择了BOOT_DEF3,

(第700页)

这里列出的是 默认的boot选择管脚 及 相应的默认的可选择的boot模式。如果没有由用户进行自定义,则就是使用默认的;如果用户进行了自定义,则使用用户自定义的。

2. 这里的default对应的就是Table 5-6中列出的每一个默认boot选项的用例,比如[GPIO72:GPIO84] = [1:1],选择的是Flash boot,那么Flash Entry Point Address = 0x0008 0000,Flash Sector为CPU1 Bank0 Sector 0:

(第743页)

4. 看一下第709页的Figure 5-3. CPU1 Standalone Boot Flow:

,

user78960159:

您好 感谢帮助 对于问题4 您贴出的流程图描述的很清楚 不过我想知道具体如何操作,比如利用dcsm_security_tool例程修改默认的boot引脚

这个例程 对于379和388,其中的dcsm_security_tool.syscfg打开后是不一样的

先来看379的driverlib里的dcsm_security_tool.syscfg例程的dcsm_security_tool.syscfg文件,打开以后展开zone1和zone2的header是下面这样的

如流程图中描述的那样,确实看到了key,不过两个区域的key都是灰显的,不允许修改

所以我在想,是不是我之前的理解可能是对的,如果没有选择蓝色圈出来的勾选,也就是没有选择对应区域的配置,同时,不选则蓝色圈出来的勾选选项,也不会展开后续的配置。

因为如果不是这样的话,勾选之后,是没有办法修改key的,也就是如果勾选了zone2的蓝色勾选项,zone2修改pin后一定会生效,因为key为5A 且不可修改。

当然,我也不确定如果不勾选zone2,其key是什么,您可以解答一下吗?

如果是388对应的例程,两个区域的header展开后,是这样的

可以看到,这里甚至连灰显的key都没有显示,就更不知道怎么像流程图描述的那这样把zone2的key修改为不是0x5A了

,

Yale Li:

首先灰显的框是不需要填写的,是由IDE根据别的相关选项框的值自动生成的。

勾选了Configure Boot Setting之后,Boot Control Key的值就为0x5A。0x5A表示用户要自定义BMSP及BMODE。

spruhm8i_TMS320F2837xD Dual-Core Delfino Microcontrollers Technical Reference Manual (Rev. I)第607页Table 4-6. BOOTCTRL(1) Register Bit Fields for CPU1

user78960159 说:如果没有选择蓝色圈出来的勾选,也就是没有选择对应区域的配置,同时,不选则蓝色圈出来的勾选选项,也不会展开后续的配置。

不勾选就是不配置。

user78960159 说:当然,我也不确定如果不勾选zone2,其key是什么,您可以解答一下吗?

BOOTCTRL(OTP)的默认值是全F:

 第403页

 第410页

F28379D的BOOT Flow和F28388D的略有不同,先判断是否要使用Z1,没有使用Z1的话再判断是否使用Z2,没有使用Z2的话就使用默认boot选项:

第607页Figure 4-1. Z1 and Z2 BOOTCTRL Selection

这个顺序和F28388D恰好相反。

所以DCSM中有关BOOT的配置只要配置一个(Z1/Z2)就可以了。

eg: 比如使用的是TMS320F28379D,使用Z2(set Z2-BOOTCTRL. OTP_KEY to 0x5A)来对BOOT进行配置(这个时候不要动Z1);

后期需要调整设计,更改BOOT选项,使用Z1(set Z1-BOOTCTRL. OTP_KEY to 0x5A)来配置BOOT。

(需要注意OTP只能编程1次!不需要使用的DCSM区域最好不动)

user78960159 说:这里甚至连灰显的key都没有显示,就更不知道怎么像流程图描述的那这样把zone2的key修改为不是0x5A了

如上所述,只要勾选了Configure Boot Setting之后,Boot Control Key的值就自动为0x5A了。

,

user78960159:

F28379D的BOOT Flow和F28388D的略有不同,

您好 感谢您的解答 我又了解到两颗处理器使用时的一个不同点

,

Yale Li:

客气了~

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28388D: 关于CPU1 BOOTDEF Bit Fields的疑问
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1