加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSSRSS-巴斯仪表网
您当前的位置:首页 > 电子发烧 > 单片机学习

VC5402 FLASH BOOT流程

时间:2013-09-08  来源:123485.com  作者:9stone

1 程序编写完成生成.OUT文件前,选择菜单Project/Build Option...,在Complier里面的Process Version里填548,然后再编译生成OUT文件。

2 将TI的hex500文件放在C盘或者其他盘符的根目录下(假设放在C盘下flash_boot)

3 将OUT文件复制该文件下。

4   写一个.cmd文件 文件如下(以lcd.out为例):用记事本打开文件lcd.out,会看见如下程序。
 lcd.out    
-a
-map ioport2.mxp
-o lcd.hex
-e 0x100
-romwidth 16
-memwidth 16
-boot
-bootorg 0
-swwsr 0
-bscr  0
修改方法: 
第1行lcd.out  是你在CCS中生成的.out文件名,
第4行-o lcd.hex 是你将要生成hex文件的文件名,一般和out文件名一致
第5行-e 0x100  是你程序的首地址,如我的LCD程序是放在FLASH中首地址为0x100的地方的。
最后保存。

5 用鼠标左键点击电脑左下角“开始”菜单,然后点击“运行”,在对话框中输入:cmd ,然后点击“确定”,出现DOS对话界面。如下图
  
在光标处输入命令:cd /flash_boot,然后回车,如下图
  

6 在光标处输入文件名:hex500 lcd.cmd回车,如下图
 
然后在文件夹flash_boot中生成了一个lcd.hex。这就是FLASH加载所需的.table表。

8 在ccs中打开工程flash,将.table表中的内容复制到程序中数组table[]里去,然后删掉数组内容最末的元素0x00,然后记下数组元素个数,修改主程序中for循环次数(循环次数既是数组中的元素个数),如下修改
main()

    int i=700;//修改i的值
    unsigned int temp;

   flash_ready();
 EraseChip(); 
 for(i=0;i<700;i++)//修改i的值
  {
   WriteByte(i,table[i]);//0x7fff
   }
   WriteByte(0x7fff,0x8000);//0x7fff 
   temp=Flash_read(0x0);
    temp=Flash_read(0x01);
     temp=Flash_read(0x02);
     while(1);
 exit(0);
}

9  修改完毕后然后就远行程序,用仿真器将生成的.hex文件下载到DSP中去。

10 在主函数  while(1);
                 exit(0);
}

语句前设置断点,如下图
 
然后运行断点,当断点运行完毕后,程序就烧写到FLASH中去了。

11 测试:关闭CCS界面,拔掉仿真器,断开电源。然后重新上电,会发现外接液晶显示正常,证明加载成功。


分享到:
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
栏目导航->单片机学习
  • 电子应用基础
  • 电源技术
  • 无线传输技术
  • 信号处理
  • PCB设计
  • EDA技术
  • 单片机学习
  • 电子工具设备
  • 技术文章
  • 精彩拆解欣赏
  • 推荐资讯
    使用普通运放的仪表放大器
    使用普通运放的仪表放
    3V与5V混合系统中逻辑器接口问题
    3V与5V混合系统中逻辑
    数字PID控制及其改进算法的应用
    数字PID控制及其改进
    恶劣环境下的高性价比AD信号处理数据采集系统
    恶劣环境下的高性价比
    栏目更新
    栏目热门