F2812 dsp 程序启动方式

[复制链接]
8998|20
 楼主| simale 发表于 2013-10-15 17:06 | 显示全部楼层 |阅读模式
大家好,F2812有6种启动方式,分别是:Flash启动、SPI启动、SCI启动、H0 SARAM启动、OTP启动、串口启动,如图所示。
我的问题是,这些启动方式和程序下载方式之间是什么关系?如果要烧录flash程序,这些GPIO的配置会不会影响烧录呢?求高手解答,目前21ic论坛上,这类问题都是只见提问,没有答案。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
zhangmangui 发表于 2013-10-15 23:55 | 显示全部楼层
DSP启动会有TI自带的一段引导代码   执行完这些代码就会根据相应的外设引脚电平选择跳转到相应的位置去执行
wenjun_wang86 发表于 2013-10-16 09:28 | 显示全部楼层
昨天刚研究过这个问题,芯片上电复位后,执行bootloader初始化程序,然后扫描IO引脚以确定使用哪种引导方式。有个文档,中文的,建议看看。文档名称:TMS320x280x DSP 引导ROM
youluo235 发表于 2013-10-16 13:32 | 显示全部楼层
 楼主| simale 发表于 2013-10-16 15:13 | 显示全部楼层
wenjun_wang86 发表于 2013-10-16 09:28
昨天刚研究过这个问题,芯片上电复位后,执行bootloader初始化程序,然后扫描IO引脚以确定使用哪种引导方式 ...

这个过程我明白,我不明白的是引导方式和程序下载方式有什么区别呢?比如我要通过仿真器把程序加载到flash中,那么我必须选择flash引导方式吗?
 楼主| simale 发表于 2013-10-16 15:14 | 显示全部楼层
zhangmangui 发表于 2013-10-15 23:55
DSP启动会有TI自带的一段引导代码   执行完这些代码就会根据相应的外设引脚电平选择跳转到相应的位置去执行 ...

这个过程我明白,我不明白的是引导方式和程序下载方式有什么区别呢?比如我要通过仿真器把程序加载到flash中,那么我必须选择flash引导方式吗?选择spi的引导方式会有影响么?
zhangmangui 发表于 2013-10-16 17:08 | 显示全部楼层
simale 发表于 2013-10-16 15:14
这个过程我明白,我不明白的是引导方式和程序下载方式有什么区别呢?比如我要通过仿真器把程序加载到flas ...

程序下载还是烧写到了内部ROM中   
https://bbs.21ic.com/icview-629089-1-1.html
 楼主| simale 发表于 2013-10-17 10:00 | 显示全部楼层
zhangmangui 发表于 2013-10-16 17:08
程序下载还是烧写到了内部ROM中   
https://bbs.21ic.com/icview-629089-1-1.html

看了你给发的连接,不过还是不明白程序烧录和引导方式的区别。如果我通过仿真器加载flash程序,也可以选择SPI引导方式吗? 我目前还是新手,还望版主耐心指点
wenjun_wang86 发表于 2013-10-17 12:16 | 显示全部楼层
simale 发表于 2013-10-17 10:00
看了你给发的连接,不过还是不明白程序烧录和引导方式的区别。如果我通过仿真器加载flash程序,也可以选 ...

7楼说的是DSP复位引导的过程,而你了解的是DSP烧写方式和引导方式的区别。烧写方式和引导方式是两种不同的过程。烧写方式有FLASH烧写,RAM在线烧程,还有SCI、SPI等方式,需要通过不同的烧写工具和软件进行。而引导方式说明的是,你的程序已经烧好过了,这时候上电复位,程序如何执行的问题。除了bootrom里面的程序,用户程序肯定在之前烧过的FLASH或在线的RAM中。
 楼主| simale 发表于 2013-10-17 16:10 | 显示全部楼层
wenjun_wang86 发表于 2013-10-17 12:16
7楼说的是DSP复位引导的过程,而你了解的是DSP烧写方式和引导方式的区别。烧写方式和引导方式是两种不同 ...

非常感谢您的回答,我理解了。不过有一点很困惑,既然程序被烧录在flash、OTP或者RAM中,那么启动的时候,为什么不直接从flash、OTP或者RAM中启动呢,还要引入SPI、SCI等启动方式呢?
wenjun_wang86 发表于 2013-10-17 18:11 | 显示全部楼层
simale 发表于 2013-10-17 16:10
非常感谢您的回答,我理解了。不过有一点很困惑,既然程序被烧录在flash、OTP或者RAM中,那么启动的时候 ...

原因是这样:你可以想象,有些板子,如果不能使用JTAG口进行烧程序,怎么办呢?这时候可以就可以通过SCI、SPI等接口将程序烧进去。具体的我也没有试过,在datasheet上看的。
 楼主| simale 发表于 2013-10-20 20:52 | 显示全部楼层
wenjun_wang86 发表于 2013-10-17 18:11
原因是这样:你可以想象,有些板子,如果不能使用JTAG口进行烧程序,怎么办呢?这时候可以就可以通过SCI ...

我是这样理解的,F2812有四种接口可以烧录程序,这四种接口分别是:GPIO、SPI、SCI、JATG。用户可以通过这四种接口将程序烧录在RAM、FLASH、OTP这三个位置。如果是一次烧录程序,那么1、用SPI/GPIO/SCI烧录程序时,要将引导方式设置为SPI_Boot/Parallel_Boot/SCI_Boot的方式 2、JATG连接仿真器烧录程序,貌似把dsp设置成任何任何引导方式都可以(我实验了一下,flash、RAM、SPI的方式都可以将程序烧录程序).。程序烧录在flash/OTP/RAM(断电后,RAM中的程序也丢失)中后,如果对目标板复位,那么需要将dsp的启动方式设置为,FLASH/OTP模式,否则程序无法运行。
  不知道理解的对不对,大家多多讨论
u880 发表于 2013-10-20 21:13 | 显示全部楼层
学习学习
huigoushang 发表于 2013-10-20 21:49 | 显示全部楼层
大家多讨论讨论
waitingf 发表于 2013-10-20 22:44 | 显示全部楼层
新手不太懂 学习了
jianwen01 发表于 2013-10-20 22:59 | 显示全部楼层
这个其实很简单:
1.烧录方式是提供向哪里放程序的过程,比如你说的烧写进FLASH。
2.启动方式指的是上电后芯片从什么地方开始执行程序,比如从FLASH或者其他地方。

总的来说你问的问题是两个问题,TI提供这种启动方式和烧写没有关系。只是指你从什么地方开始执行程序,关于SCI,SPI等如果你板上还有其他的控制器或者存放程序的地方就可以从这些地方启动了,目前的应用很少用上。比如你系统需要先上电一个ARM的系统,然后ARM再把相关的程序通过SPI传给DSP启动DSP你就需要配置成SPI启动模式了。
wenjun_wang86 发表于 2013-10-21 09:40 | 显示全部楼层
 楼主| simale 发表于 2013-10-21 14:37 | 显示全部楼层
jianwen01 发表于 2013-10-20 22:59
这个其实很简单:
1.烧录方式是提供向哪里放程序的过程,比如你说的烧写进FLASH。
2.启动方式指的是上电后 ...

回答的真好:)
someonewho 发表于 2013-10-21 22:56 | 显示全部楼层
围观一下 好多高手
yangguangaisha 发表于 2013-10-24 13:38 | 显示全部楼层
楼上的都是大神哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

86

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部