保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

TMS320C6711的FLASH引导装载系统研究与设计


加快代码的执行速度。链接可由*.cmd文件来实现。代码在链接在应遵循以下原则:
  
  (1)所有代码和初始化数据都必须有一个FLASH的导入地址;
  
  (2)所有非常数数据据都有一个RAM运行地址;
  
  (3)未初始化的数据无需独立的导入地址;
  
  (4)从FLASH拷贝到RAM的代码要有一个FLASH导入地址和RAM运行地址。
  
  3.3写自加载功能的定制代码
  
  通常1kB的定制代码需要包括以下三个部分:
  
  (1)配置EMIF寄存器。只有正确配置了EMIF的值,它才有可能访问外部存储器FLASH和SDRAM;
  
  (2)拷贝初始化段。对于既有导入地址,又有运行地址的初始化段,需要把它从导入地址拷贝到它的运行地址处,处时还必须参考.map文件来确定要搬移的数据块的大小,这些段代码的搬移可以用汇编指令MOV来实现,也可以用TMS320C6711的EDMA来实现。由于用EDMA搬移数据要对EDMA参数进行设置,所以通常采用MOV指令来实现;
  
  (3)转向C程序的入口_c_int00,即跳转到main()函数的入口处。
  
  该自加载功能的代码如下:
  
  BOOT_SIZE.equ0x9800;待装载代码的大小
  
  FLASH_START.equ0x90000000;FLASH起始地址
  
  BOOT_START.equ0x0000000;L2sram起始地址
  
  EMIF_GCR.equ0x01800000;EMIF全局控制寄存器的地址
  
  EMIF_CE1.equ0x01800004;CE1空间控制寄存器的地址
  
  EMIF_CE1-8.equ0x1161C901;CE1空间控制寄存器的值
  
  .sect".boot_load"
  
  .global_boot
  
  .ref_c_int00
  
  _boot:
  
  mvklEMIF_GCR,A4
  
  mvkl0x3300,B4
  
  mvkhEMIF_GCR,A4
  
  
  
  
  mvkh0x3300,B4
  
  stwB4,*A4;配置EMF全局控制寄存器
  
  mvk1EMIF_CE1,A4
  
  mvk1EMIF_CE1-8,B4
  
  mvkhEMIF_CE1,A4
  
  mvkhEMIF_CE1-8,B4
  
  stwB4,*A4;配置CE1空间控制寄存器
  
  mvklBOOT_START+1024,A4;待搬移数据的目标地址
  
  mvklFLASH_START+1024,B4;待搬移数据的源地址
  
  mvkhBOOT_START+1024,A4
  
  mvkhFLASH_START+1024,B4
  
  zer0A1
  
  _boot_loop1:数据搬移
  
  ldb*B4++,B5
  
  mvklBOOT_SIZE,

《TMS320C6711的FLASH引导装载系统研究与设计(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/142407.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。