关于6713的bootloader问题

[复制链接]
2907|6
手机看帖
扫描二维码
随时随地手机跟帖
lanmanck|  楼主 | 2007-1-8 16:03 | 显示全部楼层 |阅读模式
ce1空间接了flash,

  手上有利用ccs烧写flash 脱机启动的代码,大概是:

1、编译应用程序
2、再写一个烧写flash的工程文件,在这个flash工程里加载上面的应用程序数据,可是,我不知道这个数据是怎么产生的,这里是dat格式,是用hex6.exe产生的吗?

ti有篇关于Creating a Second-Level Bootloader for FLASH Bootloading on C6000的文献,可是我觉得不如这个方法来的简单!

请问大虾们都是怎么写bootloader的?
通过ccs写flash应该是最简单的吧?

相关帖子

fzb1| | 2007-1-8 17:00 | 显示全部楼层

先产生.out文件,然后用HEX6.EXE产生HEX文件

使用特权

评论回复
lanmanck|  楼主 | 2007-1-8 17:11 | 显示全部楼层

fzbl

你这个回答好简单 :)
 用hex6.exe还涉及到cmd文件的编写呢。

使用特权

评论回复
sly1982| | 2007-1-8 21:26 | 显示全部楼层

读内存

当第一个应用程序在运行了一段时间之后,内存中的数据就是第一个的程序代码了
第二个程序就是把第一个程序在内存中的数据烧写到flash里面就好了吧
所以应该不知道那个数据文件应该是没有关系的
不知道答的是否附合lz的意思

使用特权

评论回复
lanmanck|  楼主 | 2007-1-9 10:22 | 显示全部楼层

to sly1982

你说得这个道理我也懂,
步骤大概是:
1、在应用程序工程编译成功后loadprogram,然后file-data-save为dat文件,
这时有个address和legnth,不知道你是不是按照map文件改的?具体用哪个段我就不清楚了。。。。。是不是.text?
2、打开flash工程,file-data-load上面的dat文件,load的地址是下面程序用的源地址,比如0x2000,然后执行写命令,比如
writeflash(0x2000,0x90000000,4096)
参数为:源地址、目标地址、长度
  关键是:8位和16位启动怎么区分?难道忽略?用hex.exe就可以指定8或者16位。
有个大问题:用hex.exe转换out为hex后,用flashburn可以搞定,不过我没有,ti上要money的,那么用fopen打开可以烧进flash,问题是:hex里面有不想要得数据,我该怎么去掉?有没有文档可以看?
  请大虾们不吝赐教!!

使用特权

评论回复
lanmanck|  楼主 | 2007-1-10 15:47 | 显示全部楼层

没人顶,凄凉

dd

使用特权

评论回复
sly1982| | 2007-1-10 21:02 | 显示全部楼层

我试了一下保存ram的值

我尝试了一下把内存里面的数据保存下来到外部文件里
发现很慢,速度相当慢,很久都没有保存完成,我就取消了
我也是6713,把256K的数据读出来并写进文件很慢

因为程序运行的时候运行的是内存256K里面的数据,所以只需要导出内存的数据,然后在用别的另外一个写flash程序写进就可以运行了

你需要的是不是以何种格式写进去吧,按8位走还是按16位或者32位走是吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

153

主题

397

帖子

3

粉丝