原创 S3C44b0x BIOS启动参考程序

2011-11-16 08:03 1309 13 13 分类: MCU/ 嵌入式

 

说明:
1) 本项目在ADS1.2下编译,在SDT2.51的ADW中调试。编译时,请将整个44b0xbios目录拷贝到c:\下
2) 现在只对39VF160烧入,对其他FLASH可自改,注意要修改BIOS的驻留地址,现地址为0X1F0000.
3) 对不同的RAM而言,修改SYSINIT.S里的参数.FS44B0Xbios运行地址为0XC7C0000,可在ADS中修改.
4) 波特率为57600
5) ip地址为 192.168.0.100

使用方法:
1).用fluted等工具将44B0XBIOS.BIN烧入到FLASH起始位置.
2).接好串口,使用UART0,开SSCOM,设57600,复位,进入BIOS后输入copy 0 1f0000 8000,这一步是把FLASH    从0位置开始的长度为8000H的BYTE COPY到 1F0000处,
输入Y确认.
3).输入ap 进入TFTP接收数据,在主机终端执行 tftp -i 192.168.0.100 put filename 传送数据,结束   后在SSCOM输入Y确认烧入,很快就完成了.
4).输入boot并确认,即可启动烧入的程序.
5).再复位后,又进入BIOS,可重新烧写FLASH,也可输入boot启动已烧入的程序.

附加说明:
下载文件主要是用来烧写到FLASH里面去的.在执行烧写以前,要确保你已经把BIOS拷贝到FLASH的0X1F0000处了,即第一次通过FLUTED将BIOS烧到FLASH的0地址开始的地方后,复位后运行BIOS,需要输入一次 copy 0 1f0000 8000的命令.以后从串口或者网口下完程序后就可以把你的程序烧到FLASH里了(因为一般用户程序是从0开始的).另外也可以在下载完程序到RAM后再运行程序,但是要注意几点,一个是下载到RAM中的起始地址,缺省是0XC008000,也可以指定下载地址.实际上下载后再run是直接在RAM中执行了.另一点是看程序里是否用到中断,用到中断的话那么FLASH中的相应向量也要正确,比如在跑UCLINUX时,要在FLASH的0-0X1C都作了跳转.还一点就是看是否初始化硬件.

命令介绍
help 及 ? 列出所有命令
load [address]从主机TFTP接收数据,缺省地址为C008000,接收完后问是否启动IMAGE
prog addr1 addr2 length [-no0] 将RAM中ADDR2开始的数据烧入到FLASH中ADDR1开始的位置,长度为LENGTH, -no0指示不修改0地址的数据,只对FLASH 0地址起始
的烧写操作有效,此BIOS能将B XXXX指令转到B 1F0000 执行BIOS程序,所以复位后直接进入BIOS,若使用-no0则直接进入程序,下次再要BIOS时可在0地址写入
B 1F0000命令
ap 从TFTP接收数据到C008000处完后将数据写入flash 0地址开始的地方,并修改0地址的内容
copy 
ipcfg 显示IP地址
ipcfg xxx.xxx.xxx.xxx 修改IP地址
boot 启动程序

注意:对与0地址命令为b xxxx或nop地程序,此BIOS比较好使,若要加入对MOV PC, xx, 和LDR PC, XX的支持可自改BIOS


下载地址:

http://bbs.52dbr.com/forum.php?mod=viewthread&tid=256&extra=page%3D1

文章评论0条评论)

登录后参与讨论
我要评论
0
13
关闭 站长推荐上一条 /2 下一条