0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【TI FAE经验分享】C2000上电引导模式解析

电子设计 来源:电子设计 作者:电子设计 2021-12-31 13:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在使用C2000的时候,经常遇到工程师说芯片仿真能够运行,但是单机跑却不能跑起来;或者在调试时,复位芯片 》 run,发现程序不能跑起来。这其中的原因主要是没有了解C2000的引导模式设置。另外当我们想通过其他方式去引导芯片启动的时候,往往也需要清楚知道C2000的引导是怎么设置的。因此,在这里跟大家分享一下我对C2000引导模式的理解,希望对各位理解芯片从上电到跑到main这一段芯片运行情况有所帮助。

以C2000 Piccolo系列的引导模式为例,delfino稍微有点区别,concerto系列的引导则更复杂。但理解了Piccolo的引导原理对我们理解后面两个系列的芯片有非常大的帮助。

1.首先我们根据图1来看一下芯片上电后的代码执行流程,当芯片在接收到一个复位信号后,会到0x3FFFC0去复位向量,该复位向量跳到BootROM 0x3FF75C中去执行bootloader的程序,这里主要有initboot, 和SelectBootMode, 以及一些外设引导的函数。SeleteBootMode根据芯片的硬件或软件设置来判断芯片该去哪里寻找程序入口,直接目的是如何找到main,然后执行应用程序。

我们最常用到的主要有两种引导模式:

一种是boot to RAM,即跳到0x000000的RAM中,去开始执行指令,主要针对程序加载在RAM的仿真模式;另外一种是boot to Flash,则跳到0x3F7FF6中去开始执行代码。

相应的,程序会这两个入口地址0x000000, 0x3F7FF6放一条跳转指令,在codestart.asm源文件中,原因是在Flash的入口地址处只有两个单元的空间,后面是CSM模块,所以需要跳转;而在RAM中之所以也需要跳转,主要是因为在跳转到main之前,需要执行一小段代码_c_int00,该代码会使用0x000003之后的一段RAM,如果代码放在那里,在执行_c_int00之后会损坏代码。

另外就是一些外设引导模式,如SCI引导以及SPI引导等,像我们常使用的C2PROG软件就支持SCI引导,然后通过串口下载程序。

2. 那么芯片的SelectBootMode函数是如何来判断芯片的引导模式(boot mode)呢?

从图2中我们可以看到,首先会判断芯片是否连接仿真器,根据TRST引脚的状态来判断。

如果是仿真器连接,则进入仿真引导(Emulation Boot),这时候芯片的引导主要是靠2个RAM的单元来判断,即EMU_BMODE和EMU_KEY,地址是0xD01和0xD00,所以我们在连接仿真器后,可以首先修改这两个EMU_BMODE和EMU_KEY来设置引导模式;

如果没有连接仿真器,则进入单机跑模式(stand alone), 这时候芯片的引导主要靠GPIO34和GPIO37的状态,以及两个OTP存储单元的值来判断。不过我们经常没有使用OTP这两个单元,用GPIO的状态就已经够了。

图2. 两种状态下的引导模式

3. 仿真器连接时的引导模式配置

当带仿真器的时候,芯片会根据EMU_BMODE和EMU_KEY这两个单元的值来判断引导模式,比如我们带仿真器最常用的就是引导到RAM,即需要设置EMU_KEY = 0X55AA, EMU_BMODE = 0X000A。当我们在仿真的时候,程序load到Flash的时候,就需要设置EMU_KEY = 0X55AA, EMU_BMODE = 0X000B,如果EMU_BMODE = 0x0003的话,由于我们没有对OTP单元进行操作,即OTP的值为0xFFFF,所以这种情况下也是boot to flash。

在带仿真器跑程序的时候,我们发现即使我们不配置引导模式,程序也能够跑到main,这主要是因为CCS的功能,在程序load到芯片的时候,或是reset 》 restart,CCS会自动屏蔽bootloader的过程,自动跳到main函数入口。如果我们只选择reset CPU,则需要配置引导模式,即对0x0d01, 0x0d00这两个单元在memory window进行写相应的值,或是在script的菜单中选择引导模式,程序才能够跑到main中。

4. 单机跑是引导模式配置

单机跑的时候,我们最常用的是跑到Flash中,这时候则需要配置GPIO34和GPIO37的引脚为高电平,由于Piccolo系列芯片这几个引导都有上电默认内部上拉使能,所以即使不用加上拉电阻也可以。这时候的引导模式是GetMode,由于我们没有去配置OTP两个单元,所以这两个单元默认为0xFFFF,所以芯片的引导模式最终为boot to Flash。

5. 其他外设的引导模式

从上面这几张图中可以看到还有许多外设引导的功能,以SCI引导为例,带仿真器和单机跑的时候,都要配置相应的存储单元以及GPIO口状态,使之配置为SCI boot mode。然后芯片会SCI boot 函数,准备接收串口的代码,上位机要根据SCI boot的通信协议,生成SCI boot的数据流格式,将数据通过串口发送给芯片,芯片的bootloader会接收该代码,接收完后会根据该数据流中的起始运行地址去开始执行从SCI下载的代码。

审核编辑:金巧

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式处理
    +关注

    关注

    0

    文章

    341

    浏览量

    10450
  • OTP
    OTP
    +关注

    关注

    4

    文章

    237

    浏览量

    49196
  • SCI
    SCI
    +关注

    关注

    1

    文章

    59

    浏览量

    20798
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    谷东智能C2000 AR智能眼镜推动航空航天行业数字化转型

    在航空航天领域,安全、效率与精准性是永恒的追求。谷东智能推出的 C2000 AR 智能眼镜,凭借其卓越的性能与广泛的应用,已成为众多头部航司的得力助手,并获得了某民航局局长的高度认可。
    的头像 发表于 06-20 15:14 996次阅读

    纳芯微NSSine™ NS800RT正面硬刚TI C2000,国产替代“芯”战事, 工业控制MCU市场迎来变局?

    在实时控制MCU(微控制器)的江湖里,德州仪器(TI)的C2000系列是一个绕不开的名字。三十余年来,它如同一位功力深厚的宗师,定义了高性能电机控制、数字电源等领域的标准。对于无数奋战在一线的工程师
    的头像 发表于 06-20 12:45 1221次阅读
    纳芯微NSSine™ NS800RT正面硬刚<b class='flag-5'>TI</b> <b class='flag-5'>C2000</b>,国产替代“芯”战事, 工业控制MCU市场迎来变局?

    TMS320F2800155 C2000™ 32 位 MCU 120MHz 128KB 闪存数据手册

    TMS320F280015x (F280015x) 是成本优化的 C2000 实时微控制器系列的成员,该系列可扩展、超低延迟器件专为提高电力电子的效率而设计。
    的头像 发表于 04-15 15:08 1035次阅读
    TMS320F2800155 <b class='flag-5'>C2000</b>™ 32 位 MCU 120MHz 128KB 闪存数据手册

    TMS320F280034-Q1 汽车级 C2000™ 32 位 MCU 120MHz 128KB 闪存数据手册

    TMS320F28003x (F28003x) 是 C2000™ 实时微控制器系列的成员,该系列可扩展、超低延迟器件专为提高电力电子效率而设计,包括但不限于:高功率密度、高开关频率,并支持使用 GaN 和 SiC 技术。
    的头像 发表于 04-15 14:59 795次阅读
    TMS320F280034-Q1 汽车级 <b class='flag-5'>C2000</b>™ 32 位 MCU 120MHz 128KB 闪存数据手册

    TMS320F2800133 C2000™ 32 位 MCU,具有 120 MHz、64 KB 闪存、FPU 和 TMU数据手册

    TMS320F280013x (F280013x) 是 C2000™ 实时微控制器系列的成员,该系列可扩展、超低延迟器件专为提高电力电子效率而设计。
    的头像 发表于 04-15 14:46 1121次阅读
    TMS320F2800133 <b class='flag-5'>C2000</b>™ 32 位 MCU,具有 120 MHz、64 KB 闪存、FPU 和 TMU数据手册

    TMS320F2800153-Q1 具有 HRPWM、CAN-FD、锁步 ASIL B 的汽车类 C2000™ 32位MCU 120MHz 64KB 闪存数据手册

    TMS320F280015x (F280015x) 是成本优化的 C2000 实时微控制器系列的成员,该系列可扩展、超低延迟器件专为提高电力电子的效率而设计。
    的头像 发表于 04-15 13:46 806次阅读
    TMS320F2800153-Q1 具有 HRPWM、CAN-FD、锁步 ASIL B 的汽车类 <b class='flag-5'>C2000</b>™ 32位MCU 120MHz 64KB 闪存数据手册

    F29H850TU C2000™ 64 位 MCU,带 C29x 200MHz 三核技术手册

    F29H85x 和 F29P58x 是 C2000™ 实时微控制器系列的成员,该系列是可扩展、超低延迟的器件,旨在提高电力电子器件的效率,包括但不限于:高功率密度、高开关频率,并支持使用 GaN 和 SiC 技术。
    的头像 发表于 04-14 14:10 1327次阅读
    F29H850TU <b class='flag-5'>C2000</b>™ 64 位 MCU,带 <b class='flag-5'>C</b>29x 200MHz 三核技术手册

    TMS320F28P550SG C2000™ 32 位 MCU技术手册

    TMS320F28P55x (F28P55x) 是 C2000™ 实时微控制器系列的成员,该系列可扩展、超低延迟器件旨在提高电力电子器件的效率,包括但不限于:高功率密度、高开关频率,并支持使用 GaN 和 SiC 技术。
    的头像 发表于 04-14 10:35 1957次阅读
    TMS320F28P550SG <b class='flag-5'>C2000</b>™ 32 位 MCU技术手册

    F29H859TU-Q1 汽车级 C2000™ 64 位 MCU数据手册

    F29H85x 和 F29P58x 是 C2000™ 实时微控制器系列的成员,该系列是可扩展、超低延迟的器件,旨在提高电力电子器件的效率,包括但不限于:高功率密度、高开关频率,并支持使用 GaN 和 SiC 技术。
    的头像 发表于 04-14 09:44 1064次阅读
    F29H859TU-Q1 汽车级 <b class='flag-5'>C2000</b>™ 64 位 MCU数据手册

    C2000 GANG Programmer error灯常亮是什么原因导致的?

    C2000 GANG Programmer 用了没几次,今天开机发现error 灯常亮,无法工作,也没有任何报错信息,请问是什么问题呢?
    发表于 02-28 08:31

    DLP2000EVM无初始画面怎么解决?

    单独给DLP2000EVM(5v3A),出现的不是初始画面,而是闪烁的红色画面,是需要初始化么?卡在了第一步
    发表于 02-27 07:52

    PMP40690 使用C2000™ MCU和GaN的4kW交错式 CCM 图腾柱无桥 PFC 参考设计

    此参考设计是一个 4kW 交错式 CCM 图腾柱 (TTPL) 无桥 PFC 参考设计,使用 64 引脚 C2000™ 微控制器、LM3410 氮化镓器件和TMCS1100霍尔传感器。它
    的头像 发表于 02-26 09:50 978次阅读
    PMP40690 使用<b class='flag-5'>C2000</b>™ MCU和GaN的4kW交错式 CCM 图腾柱无桥 PFC 参考设计

    采用 C2000™ MCU的CCM图腾柱 PFC和CLLLC DC/DC的7.4kW车载充电器参考设计

    ,所有功率级均使用单个 C2000™ 实时控制微控制器 (MCU) 进行控制,同时利用 TI 氮化镓 (GaN) 功率模块。
    的头像 发表于 02-25 15:16 1101次阅读
    采用 <b class='flag-5'>C2000</b>™ MCU的CCM图腾柱 PFC和CLLLC DC/DC的7.4kW车载充电器参考设计

    参考设计#PMP41043 1.6kW 采用 C2000 和 GaN 实现的 CCM 图腾柱 PFC 和电流模式 LLC

    此参考设计演示了混合磁滞控制 (HHC) 方法,这是一种在半桥 LLC 级使用 C2000 F28004x 微控制器的电流模式控制方法。该硬件基于 TIDA-010062,后者是 1kW、80
    的头像 发表于 02-25 11:27 947次阅读
    参考设计#PMP41043 1.6kW 采用 <b class='flag-5'>C2000</b> 和 GaN 实现的 CCM 图腾柱 PFC 和电流<b class='flag-5'>模式</b> LLC

    C2000常见问题解答

    电子发烧友网站提供《C2000常见问题解答.pdf》资料免费下载
    发表于 12-06 16:04 0次下载
    <b class='flag-5'>C2000</b>常见问题解答