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

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

3天内不再提示

DSP28335学习笔记(2):启动原理详解

CHANBAEK 来源:强盛电子厂 作者:高启强的 2023-07-02 15:46 次阅读

1.前言

通常了解一款芯片,我们最开始从它的电特性描述出发,随后看其外设、存储、时钟等系统基本框架。我相信大家拿到一款芯片之后第一件事就是去查阅其数据手册,对芯片特性有个初步了解。

很多芯片开发者在了解芯片特性之后,会直接拷贝官方提供的例程进行调试,之后慢慢熟悉芯片,变成开发者模式。在这过程中,很多开发者往往忽略了一个重要的步骤,那就是熟悉芯片启动原理,所以我们今天将DSP28335这款芯片的启动原理与大家分享。

2.上电复位

颠覆我们感性认识的是,芯片上电过程不是一个瞬时过程,而是 爬坡过程 ,也就是说芯片上电也是需要时间的。

在了解芯片基本特性之后,我们清晰的知道一般芯片都有上电复位模块(POR),也可以称为上电延时复位,其作用是通过延时器件在上电电压爬坡过程中把芯片锁定在复位状态,保证芯片模拟模块和数字模块初始化至已知状态再启动芯片。

当电压逐渐增大,直到达到阈值电压时,上电复位电路会释放内部复位信号。在其他必要条件充足的情况下,芯片开始启动。

3.BOOT ROM

BOOT ROM是芯片内部存储器中固化好的一块只读存储区,用来存放引导程序。

图片

BOOT ROM在芯片内部存储器中地址0x3FE000-x3FFFFF如上图所示。

图片

上图是BOOT ROM中按功能分类的段地址存储区。

图片

CPU Vector Table,此功能区在VMAP = 1 ,ENPIE = 0的情况下使用。

图片

再完成芯片引导程序后,此功能区其他部分被用来存放中断向量表。

4.启动过程

芯片上电完成后,开始运行程序。首先PC指针指向CPU Vector Table中的RESET(地址:0xFFFC0)。

图片

图片

通过观察CMD文件中的RESET地址,我们发现此地址存放着.reset,通过访问存储区中翻译成汇编语言的代码,这里存放着一条跳转指令。芯片复位后第二步,跳转到InitBoot函数入口地址,执行InitBoot函数。

图片

在InitBoot函数中,对器件模式、地址进行选择,还对某些功能进行初始化。最关键的是调用了SelectBootMode这个函数,这个函数通过BOOT引脚状态来决定通过哪种方式引导程序,接下来我们一起走进SelectBootMode。

DSP28335InitBoot中的SelectBootMode是通过读取4个IO引脚的状态决定程序引导方式。

图片

如上图所示定义16种状态。

在引导方式上可以分为两大类,一类是进行ADC校准,一类是不进行ADC校准。

图片

SelectBootMode首先依据读取到的引脚状态判断是否是不进行ADC校准,不校准直接跳过后续程序,将读取到的引导模式的引导函数入口地址返回。

若需要ADC校准,则往下执行ADC校准。

图片

图片

校准后再判断以哪种方式引导,并将引导函数入口地址返回。

返回后在InitBoot中将引导函数入口地址存入ACC,再将ACC赋予PC退出InitBoot,开始运行用户程序。

图片

一般我们将程序引导至FLASH(地址:0x33FFF6)。

图片

图片

通过工程下的CMD文件可发现0x33FFF6中存放着codestart函数,所以紧接着运行codestart函数。

图片

codestart函数中禁止看门狗,再调用RTS中的c_int00函数。

图片

图片

c_int00函数中为C语言的运行搭建运行环境,然后跳转至main函数,来到C语言的世界。

图片

图片

5.总结

以上是DSP28335芯片上电到运行至main函数的基本过程,其基本流程可查阅芯片技术参考手册第二章,流程图如下图所示。

图片

以上是本期全部内容,那么现在芯片就可以正常运行、万事大吉了吗?

当然不是,芯片启动后还需对芯片进行一系列初始化配置,那么这又是怎样一个过程呢?

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

    关注

    447

    文章

    47804

    浏览量

    409174
  • 存储器
    +关注

    关注

    38

    文章

    7151

    浏览量

    162002
  • 函数
    +关注

    关注

    3

    文章

    3882

    浏览量

    61310
  • Boot
    +关注

    关注

    0

    文章

    142

    浏览量

    35253
  • DSP28335
    +关注

    关注

    22

    文章

    57

    浏览量

    40184
收藏 人收藏

    评论

    相关推荐

    DSP28335外部中断的使用

    处理器的外部中断主要用于捕抓外部输入的高低电平。本篇文章将介绍DSP28335的外部中断的使用。
    的头像 发表于 07-07 16:41 2587次阅读
    <b class='flag-5'>DSP28335</b>外部中断的使用

    dsp28335程序例程

    学习dsp28335时,可以根据例程学习程序,有较多功能例程,推荐
    发表于 10-30 09:41

    dsp28335 SPI启动方式不启动

    最近一个项目用到DSP28335 SPI启动方式,现在确认了硬件配置为SPI启动方式,工程编译生成的OUT文件转换成16进制文件,通过烧写程序将转换后的文件烧写到SPI FLASH中,重新上电,用
    发表于 12-12 11:11

    DSP28335的应用是什么

    近日工作中又涉及到了DSP28335的应用,看来TI的芯片还是得到了公司领导的认可,也直接丢了一份DSP28335的FOC程序给我理解。以前读书阶段较为简单的接触过一段时间,对DSP28335
    发表于 02-16 06:54

    Dsp28335中断的方法

    Dsp28335中断的方法Dsp28335中断的方法
    发表于 01-08 14:17 14次下载

    基于DSP28335的三电平SVPWM算法研究

    基于DSP28335的三电平SVPWM算法研究
    发表于 04-15 18:29 46次下载

    DSP28335中文手册

    TI公司 DSP28335中文资料数据手册
    发表于 05-19 11:17 152次下载

    DSP28335研发笔记_ccs5.2

    DSP28335研发笔记
    发表于 12-30 15:04 20次下载

    dsp28335如何入门:程序设计步骤

    本文首先介绍了dsp28335的概念,其次介绍了dsp28335电气特性及特点,最后详细阐述了关于dsp28335的程序设计步骤。
    发表于 05-23 17:09 1.9w次阅读

    dsp28335开发板中文资料汇总(dsp28335最小系统_引脚图_封装_初始化程序)

    本文主要介绍了dsp28335开发板最小应用系统设计、dsp28335引脚图功能和dsp28335封装及dsp28335初始化程序。
    发表于 05-24 17:25 6.1w次阅读
    <b class='flag-5'>dsp28335</b>开发板中文资料汇总(<b class='flag-5'>dsp28335</b>最小系统_引脚图_封装_初始化程序)

    使用DSP28335控制电机的资料合集免费下载

    本文档的主要内容详细介绍的是使用DSP28335控制电机的资料合集免费下载包括了:电机控制原理图,硬件手册,H桥直流电刷电机控制,DSP28335使用程序,DSP28335电机控制开发板测试步骤,
    发表于 05-18 08:00 141次下载
    使用<b class='flag-5'>DSP28335</b>控制电机的资料合集免费下载

    DSP28335学习——系统初始化

    近日工作中又涉及到了DSP28335的应用,看来TI的芯片还是得到了公司领导的认可,也直接丢了一份DSP28335的FOC程序给我理解。以前读书阶段较为简单的接触过一段时间,对DSP28335
    发表于 12-17 18:20 17次下载
    <b class='flag-5'>DSP28335</b><b class='flag-5'>学习</b>——系统初始化

    DSP28335学习笔记(3):InitSysCtrl

    在上一节中,我们讲到DSP28335启动原理,启动后来到main函数执行用户代码。我们现在已经启动完成,那么启动后我们如何对芯片进行配置呢
    的头像 发表于 07-02 15:48 1950次阅读
    <b class='flag-5'>DSP28335</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b>(3):InitSysCtrl

    DSP28335学习笔记(5):GPIO介绍及使用

    在前面的章节中,我们对DSP28335系统初始化过程有了一个初步的了解,下面的章节我们开始外设的应用。
    的头像 发表于 07-02 15:52 4762次阅读
    <b class='flag-5'>DSP28335</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b>(5):GPIO介绍及使用

    研旭DSP28335实用版-硬件测评

    电子发烧友网站提供《研旭DSP28335实用版-硬件测评.pdf》资料免费下载
    发表于 10-09 15:19 2次下载
    研旭<b class='flag-5'>DSP28335</b>实用版-硬件测评