⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 最新的BOOTLOADER,供大家参考使用。
💻 TXT
字号:
*************************************************
		BIOS程序说明
	By hugang, hgxxx@51eda.com

    本程序改编自antiscle公布的代码,在此首先
    对antiscle表示感谢,我替换的原代码的网络
    部分,对shell和flash也进行了一定的修改,
    使其可以在51eda的开发板上可以正常运行。
*************************************************

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>  运行串口监视软件,波特率115200
  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.s

5.操作实例(以引导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。


      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -