网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> 服务导航 >> 帮助中心 >> C6000 >> 文章正文
  TMS320CC6727开发---Bootloader           ★★★ 【字体:
TMS320CC6727开发---Bootloader
作者:FreeNet    文章来源:FreeNet    点击数:    更新时间:2008-2-29    

最近这个工作是要把以前的6713上的一个程序移植到6727上,本来以为这两个芯片只有两个数字不同,应该差别不大,可是开发过程中却遇到了许多新问题。第一个重要的问题就是从flash自举。

由于6727EMIF的地址线太少,只有13根,当要对较大的flash存储器寻址时,必须想办法确定地址的高位。硬件设计上将flashA14-A17DSPHD0 – HD4相连。HD0 – HD4 属于UHPI单元,因此在启动之后第一件事情就是将HD0 – HD4设置为GPIO模式。对flash寻址的时候,先设置好GPIO这几根线,然后再读取地址0x9000xxxx中的值。

67270x00000000 – 0x10000000的地址空间属于片内ROM,当DSP启动时从ROM中的0x00000000开始运行,这里面有一段程序将自动读取DSP的几根启动配置线的值,以决定采用何种方式载入程序。这个项目从flash启动,当ROM中的程序确定从flash启动之后,它读取flash中的第一个字节的数据(地址为0x90000000),若为0则表示此flash8bit,若为1则表示为16bit,然后它进行相应的EMIF的配置,接着复制flash中的头1024个字节到0x100000000x90000000 – 0x90000400 0x10000000 – 0x10000400,然后设置程序指针寄存器到0x10000004开始运行。

放在0x90000000 – 0x90000400的程序就是所谓的Bootloader。它负责把剩下的程序从flash复制到指定的位置,然后跳转到c_int00开始程序的执行。TI提供的Using the TMS320C672x Bootloader文档有这方面的详细介绍。但是其中推荐的启动格式是Application image script(AIS)。这和以前的6713Boot table完全不同。为了能够识别AIS格式,1Kbyte的程序远远不够,因此TI提供的例子采用了二级启动。先由0x90000000 – 0x900004001Kbyte的程序将放在flash中的一个二级启动程序复制到内存中,然后运行这个二级启动程序,它分析flash中的AIS格式的数据,并将相应部分复制到内存中,然后再跳转到c_init00运行。

我觉得这样的程序写起来太复杂了,于是干脆还是用以前的那个boot table格式,和6713的程序基本相同,就是要多注意flash地址页更换的情况。

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号