(hf 44b0 使用说明书 p1 – p35)
---------------------------------------------------------------------------------
大小计算:
0x0c00 0000<->0x0a00 0000 共4MB
2 x^y 10 = 1Kbit = 128B
2 x^y 13 = 8Kbit = 1KB
2 x^y 20 = 1Mbit = 128KB
2 x^y 31 = 2048Mbit = 256MB
内存分配:
(1) nor flash, 2M, 0x0 - 0x001fffff
其中,U-boot代码区0x0–0x0003ffff
U-boot参数区0x00040000–0x0004ffff
用户程序区 0x00050000–0x001fffff
(2) SDRam, 8M, 0x0c000000 - 0x0c7fffff
(3) 网卡, 0x06000000 - ?
命令:
(0) ?
(1) 串口下载文件:
i. loadb 0x0c008000(为什么只能是这个地址呢?)
ii. 传送 - 发送文件 - .bin 协议kermit
iii. go 0x0c008000
(2) 网口下载.bin文件到sdram:
tftp(默认地址0x0c008000)
(3) 运行刚下载的.bin文件:
go 0x0c008000
(4) flash擦除:
erase 0x50000 0x1fffff
(5) 从sdram中向flash烧文件:
cp 源地址 目标地址 长度
cp 0x0c008000 0x50000 4b46b
(6) 解压运行.bin文件:
bootm(注意:默认解压位置是0x0c008000,为避免自我覆盖,之前执行tftp时应指定其他位置,如tftp 0x0c500000)
--------------------------------------------------------------------------------
uclinux系统
G:/Study/ARM hf44b0/Other reference/ARM教程/第7章 嵌入式uClinux及应用开发.pdf
【nor flash & nand flash】
flash 有两种 nor flash 和 nand flash, 另外还有一种改良的类似 nand flash 的Doc
(1) nor flash 价格贵,读写速度快,因为价格贵,所以一般厂商不会用太大容量的。
(2) nand flash 价格低,速度慢些。大部分SD卡 MMC卡,U盘都是用这个。
(3) Doc 和 nand差不多,只是把控制器芯片集成到nand flash一起了,而不需要另外配一个控制器。
这三种存储设备都可以作为ROM使用,所以bootloader都可以存在于这三种介质之上。
【U-boot】
bootloader的一种。bootloader的基本功能就是初始化硬件,并且将ROM(Flash)中的代码复制到RAM中,然后开始执行RAM中的系统。
--------------------------------------------------------------------------------
一、在开发板没有任何程序的情况下,要借助Jtag来烧写U-boot程序到flash。
1. PC-并口线-Jtag线-板上Jtag端口
2. Flash programmer-Program-Browse(u-boot.s19)
之后就可以使用U-boot操作,比如在超级终端中操作(烧写和擦除flash,设置u-boot参数等)。
二、设置超级终端
在计数到0之前按回车键,进入U-boot命令状态,否则自动引导uclinux。
!!!注意:串口线应是直通而非交叉。
三、U-boot下载功能
1. 连接交叉网线和直通串口线。
2. PC默认IP:192.168.0.10(手动设置),开发板默认IP:192.168.0.30
3. 工具软件/tftp, base Directory: 当前目录下默认文件u-boot.bin
4. u-boot命令状态下
(1)下载u-boot.bin文件到sdram:tftp
(2)运行刚下载的.bin文件:go 0x0c008000
四、用U-boot命令烧写uclinux
1.2.3设置同三。
4. u-boot命令状态下
(1) 下载u-boot.bin文件(实际为unlinux的内核+文件系统):tftp
(2) 擦除flash: erase 0x50000 0x1fffff
(3) 从sdram中向flash烧文件:cp 0x0c008000 0x50000 4b46b
(4) 按reset等待系统自动进入uclinux。
五、U-boot参数设置
显示参数:print
修改参数:set 参数名 参数
save
参数bootcmd:默认是bootm 0x50000,也就是启动0x50000位置的压缩内核,即预装的uclinux。
修改:set bootcmd cp 0x50000 0x0c008000 4d4d/;go 0x0c00800
六、使用U-boot烧写flash
1. 写入:cp 源地址 目标地址 文件长度
2. 擦除:erase
注:计算文件长度 e.g. 21300hex, 21300/4 + 2 = 0010 0001 0011 0000 0000 /4 + 2 = 00 1000 0100 1100 0000 + 0010 = 84c2