s3c44b0 第2代BOIS 包括(RTL8019等模块测试)1.文件说明
Net : Rtl8019驱动代码
Src : 主程序代码
Inc : 主程序的头文件
Debug : SDT目标代码
Mybios_Data\Debug : ADS目标代码
Mybios.apj : SDT2.51工程文件
Mybios.mcp : ADS1.2工程文件
Mybios.PR : SourceInsight3.5工程文件2.烧写步骤
1> 开发板上电
2> 执行Debug目录下的F.bat文件将bios程序烧写到flash中
3> 将PC配置为192.168.111网段
4> 用交叉网线连接开发板和PC
5> 运行串口监视软件,波特率57600
6> 开发板复位
7> 可以看到如下提示信息
Bios for S3C44B0x
Flash ID is : 278200bf
IP address : 192.168.111.8
Build date:Apr 19 2004-22:07:20
8> 敲入help,回车看到可执行的命令的列表
help ------ show help
? ------ = help
date ------ show or set current date
time ------ show or set current time
setweek ------ set weekday
clock ------ show system running clock
setmclk ------ set system running clock
setbaud ------ set baud rate
ipcfg ------ show or set IP address
load ------ load file to ram
comload ------ load file from serial port
run ------ run from sdram
prog ------ program flash
copy ------ copy flash from src to dst address
boot ------ boot from flash
backup ------ move bios to the top of flash
md ------ show memory data
move ------ move program from flash to sdram
9> 若是第一次运行bios,敲入backup,将bios备份到flash高端
即:1f0000处3.几个重要命令
1> load
格式:load RAM地址
用途:通过网络将主机上的文件加载到开发板的RAM中的指定地址处
若缺省地址,则地址取默认值0c008000。
2> run
格式:run RAM地址
用途:从开发板的RAM总的指定地址运行程序,若地址缺省,则取默
值0c008000。
3> prog
格式:prog Flash地址 RAM地址 代码长度 选项(-no0)
用途:将指定RAM地址开始处的指定长度代码烧写到指定的Flash地址
中。当指定的Flash地址为0时,若再指定选项-no0,则不会修改0地
址处的代码,直接烧入。否则先修改后在烧入。修改后的代码为指向
flash高端处备份的bios的一个跳转。具体原来参考shell.c中的原码。
4> move
格式:move Flash地址 RAM地址 代码长度
用途:将指定Flash地址处开始的指定长度代码复制到指定的RAM地址
中。
5> boot
格式:boot
用途:运行Flash中的代码,不是bios。
6> md
格式:md 地址
用途:显示指定地址开始处的22*4*4字节的内容,缺省地址为0。4.注意事项
1> Src目录中的44binit.s文件于原开发板所带的其它原码中的44binit.s
文件不同,不可被替换。
2> 工程中指定的ro-base为0x0c7c000,不要改为0,具体原来参考44binit.s
中的注释。
3> 执行load命令后网络才会工作,平时是ping不通的。
4> 缺省的编译环境为sdt2.51,若需要使用ads编译后的目标文件则需要修改两处代码:
src\main.c 第22行
ETHERFRAME etherframe; 改为 ETHERFRAME __align(4) etherframe;
net\ne2000.c 第12行
NICHDR nichdr; 改为 NICHDR __align(4) nichdr;
修改后重新编译,否则网络不通。
5> 用bios引导uClinux时,需要先在flash的0地址处烧入boot.bin文件,这个文件
可以在vector目录下找到,此文件的作用是将0地址处的中断向量映射到0xc000000处,
完成与uClinux中断处理程序的衔接,它的原码参见同目录下的boot.s5.操作实例(以引导uClinux为例,假定bios已烧入flash,并备份到高端,并且连线正确)
1> 在超级终端中输入:
load
回车后会提示:
No begin address for download, use address 0xc008000
Load image file from host
Type tftp -i 192.168.111.8 put filename at the host PC
Press ESC key to exit
2> 在windows中开一个命令窗口,并输入
tftp -i 192.168.111.8 put boot.bin
回车开始传送文件,这时在超级终端中将显示
Begin to receive filename: boot.bin, transtype: octet.
传送完成后会显示
TFTP transfer finished, and receive 3c bytes.
并重新回到提示符状态
3> 超级终端中输入
prog 0 c008000 3c
回车后,显示
program flash begin @0x0, from ram data @0xc008000, size = 60Bytes
Are you sure? [y/n]
输入y开始将文件烧入到flahs的0地址处,烧写过程中会有如下提示
Erase sector 0x0 ok
program ok
Erase sector 0x1fd000 ok
program ok
烧写完成后,重新会到提示符状态
4> 在超级终端中输入
load c000000
回车后会提示:
No begin address for download, use address 0xc000000
Load image file from host
Type tftp -i 192.168.111.8 put filename at the host PC
Press ESC key to exit
在windows命令窗口中输入
tftp -i 192.168.111.8 put image.rom
回车开始传送文件,这时在超级终端中将显示
Begin to receive filename: image.rom, transtype: octet.
传送完成后会显示
TFTP transfer finished, and receive f6104 bytes.
并重新回到提示符状态
5> 在超级终端中输入
run c000000
回车后会提示
Run program from 0xc000000, are you aure? [y/n]
输入y后开始运行加载到0xc000000处的image.rom。**********************************************************
复位后可读取保存的IP地址,波特率和CPU时钟等变量初始化系统。
8019驱动部分适用于FS44B0板,对于ST44B0板要改一下数据宽度的定义。
另外串口下载改用DNW了,输入comload,comrun等指令后在DNW的SERIAL PORT菜单下选择TRANSMIT就可以了。
对于NAND FLASH的操作,是为我们44B0增强板准备的。