tms320c6000价格_tms320c6000_tm320c6000网盘

电脑杂谈  发布时间:2017-02-24 08:23:17  来源:网络整理

tm320c6000网盘_tms320c6000_tms320c6000价格

tms320c6000

1 你必须知道的TMS320C6000启动过程

这部分内容在我的另一篇博客

DSP TMS320C6000基础学习(7)—— Bootloader与VectorTable

有提到过,这里重新摘录一遍。

如上图

在Device Reset阶段:设备初始化为默认状态,大部分三态输出都配置为高阻态。

在CPU Reset阶段:从RS上升沿处开始(这个时候,HD[4:3]配置启动模式,HD8配置大小端模式,CLKMODE配置输入时钟源,根据HPI_EN配置外设功能),处理器检查启动模式HD[4:3],启动bootloader程序。

从上图可以看出,CE1地址空间必需连接Flash芯片才能使用外部Flash引导模式,在电路设计时要注意。tms320c6000

若HD[4:3]=10(本文的操作环境基于此),EDMA自动将CE1起始位置的1KB代码拷贝到内部程序存储器的0地址,这部分功能是由硬件完成的,称一级引导Bootloader。

因此,外部Flash启动的最简单的想法就是:把要运行的程序放到CE1的起始1KB地址空间。这样只要设置HD[4:3]=10就能自启动了。那这么简单,还有讨论本文的必要吗?

呃,如果你的思维还停留在小孩子过家家的程度,唉。。。1KB?1KB才能存多少代码?要是代码量超过1KB呢?这正是本文要探讨的问题的初衷:程序代码>1KB,如何让C6713的程序从外部Flash自启动?

这就涉及另一个Bootloader了,我们称之为二级引导Bootloader(说白了就是一段小程序)。二级Bootloader作用有:(1)在上电复位后将用户的应用程序从Flash拷贝到RAM中执行;(2)跳转到应用程序的入口函数处。vcD4KPHA+Crb+vLZCb290bG9hZGVytcTWtNDQ0qrTydK7vLZCb290bG9hZGVyv72xtLW9UkFN1tDWtNDQo6zV4r7Nw/ew18HLo6y2/ry2Qm9vdGxvYWRlcrHY0Ou3xdTazeKyv0ZsYXNotcTG8Mq8tcQxS0LOu9bDtKahozwvcD4KPHA+Cs7Sw8e88tKqtcTTw7j2zbzD6Mr2z8LL+c69tcS2/ry2Qm9vdGxvYWRlcrXE19TG9Lavuf2zzLyw1vfSqsu8wrehozwvcD4KPHA+CjxpbWcgc3JjPQ=="http://.2cto.com/uploadfile/Collfiles/20140331/2014033109072140.png" alt="\">

要完成这个过程,

首先要编写一段称为2 Level Bootloader的启动代码并烧写到Flash的初始1KB地址处(DSP6713的CE1起始地址为0x90000000),1 Level Bootloader将该代码拷贝到RAM的起始0地址,开始执行。

烧写用户程序到0x90000400开始的Flash地址处

2 Level Bootloader将0x90000400开始的用户代码拷贝到RAM的0x400地址处

2 Level Bootloader调用_c_int00用户入口程序,然后调用main函数开始执行用户代码

关于_c_int00的介绍也请参考[DSP TMS320C6000基础学习(7)—— Bootloader与VectorTable]本文所有操作的前提是您已经配置好了中断向量表(这样在调用_c_int00时才能正确的进入到用户程序)。

2 编写二级Bootloader


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-34190-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...