原创 VC33的BootLoader详解

2007-7-25 05:47 3869 9 9 分类: 处理器与DSP

由于VC33的资料很少,将VC33的BootLoader讲得很详细的几乎没有,大家很多看了的都不明白怎么回事,我将介绍VC33 BootLoader的详细步骤,大家按照这个步骤来就OK了^_^。


我们的目的是自启动点亮LED灯,那么我们得有两个工程文件,一个为led.mak,另一个为flash.mak,这里可以视flash工程文件为一个工具,仅仅将led工程中的某种文件导入到flash中,然后掉电重启后由flash装入RAM中运行,实现自启动。所以我们需要做的只是要生成某种文件即bin文件。先说明一下大体的步骤。


1、在led工程中编写hex.cmd文件;


2、通过hex30工具将.out文件转化为.hex文件;


3、通过hexbin工具将.hex文件转化为.bin文件。


下面给出具体的操作:


第一步:我们首先要明白hex.cmd文件里面包含哪些内容,我们应该怎么来写。下面是一个完整的hex.cmd文件。


led.out                                    //输入coff文件
-o led.hex                               //输出hex文件
-map led.mxp                         //输出mxp文件
-i                                             //设置为Intel格式的hex文件
-boot                                      
-bootorg 0
-cg 10f8h                               //设置全局控制寄存器
-romwidth 8                           //ROM字宽
-memwidth 8                          //Flash字宽
-e 0x8001af                            //程序入口地址


可以看出,输入的是led.out文件,输出的文件有led.hex和led.mxp。这里几乎是固定的写法,我们仅仅需要做的是查看程序的入口地址,然后改过来就可以了。


如何查看程序入口地址?


在led工程文件中,执行Project—>Option—>linker,输入生成的map文件名led.map


点击看大图


接下来,我们led工程中打开led.map文件


点击看大图


可以看到,led程序的入口地址为80002e,所以只需要将上述hex.cmd中最后一项改为-e 80002e就行了。


第二步:将out文件转化为hex文件。


使用命令提示符,输入命令进行如下操作:


点击看大图


这时我们看led工程中已经生成了led.hex文件了。


第三步:将hex文件转化为bin文件。


接着第二步输入如下命令:


点击看大图


回车后:


点击看大图


这时我们看到已经生成了led.bin文件了。


第四步:最后一步就是将bin文件烧到Flash中,以实现自启动。


下面的一个工程文件包含一个完整的Flash烧写程序,Flash型号为29LV800BA,如果大家的Flash型号也是这个或兼容的,可以下载运行,当出现“Please Input your file:”的提示时输入“led.bin”,烧写完毕出现提示“OK”。


rar


这样就将VC33的BootLoader过程详细做了一下介绍,有什么问题给我留言。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条