编辑: 会说话的鱼 | 2015-12-10 |
? 从内存中烧录数据到 NAND,写之前必须擦除 a) nand erase
0 300000, 从0地址开始擦除 3MB 空间 b) nand write 0x1c00000
0 300000, 烧录从 0x1c00000 开始的 3MB 数据到 NAND 的0地址 c) nand read 0x1c00000
0 300000,从NAND
0 地址读取 3MB 数据到 0x1c00000 4.4. Loader z Loader: ? bootelf:从内存中直接启动 ELF 文件 exg: 下载ELF文件到地址0x200000, 输入命令 bootelf 0x200000即可执行ELF 格式的 kernel ? bootm:从内存中启动 uimage exg: 假设uimage位于内存地址0x1c00000, 输入 bootm 0x1c00000 启动uimage ? nboot:从NAND 中load uimage exg: 输入 nboot 0x1c00000 0,把uimage 从NAND 的0地址加载到 0x1c00000 z 启动 uimage 文件的制作 mkimage 工具可以用来制作不压缩或者压缩的可启动映象文件. mkimage 在制作映 象文件的时候,是在原来的可执行映象文件的前面加上一个 0x40 字节的头,记录参数 所指定的信息,这样 uboot 才能识别这个映象是针对哪个 CPU 体系结构的,哪个 OS 的,哪种类型,加载内存中的哪个位置, 入口点在内存的那个位置以及映象名是什么 等. mkimage CA arch CO os CT type -C compress -a loadaddr Ce entrypoint \ -n name Cd datafile[:datafile] outputimage How to Loader Linux Kernel: 1.arc-elf32-objcopy.exe -O binary -R .note -R .comment -S vmlinux vmlinux.bin 2.gzip -9 vmlinux.bin 3.mkimage -A arc -O linux -T kernel -C gzip -a 0x82000000 -e 0x82002000 -n "Linux Kernel Image" -d vmlinux.ok.bin.gz uImage 4.Download uImage to 0x1c00000 or other right place from TFTP or NAND or JTAG 5.bootm 0x1c00000
4 /
6 4.5. 移植 将U-boot 移植到新的目标板上,主要修改以下几方面内容: z 在cpu 目录中添加新的 cpu 的IPL 启动文件、timer、Interrupt、chipclock 等方面的 文件;
z 在\include\asm-arc\下添加新 cpu 的头文件;
z 在\board\aml\下添加新 board 的文件夹,添加与目标板硬件相关操作的源文件. mkconfig.mk:CPU 级别基本配置参数;
u-boot.lds:u-boot 链接命令文件;
config.mk:TEXT_BASE 定义了 u-boot 自身 text 段的起始地址;
z 在\include\configs\下添加目标板头文件,配置相关参数;
z 根据目标板情况,调整外设驱动;
4.6. 网络连接 以TFTP 服务器-客户端为例,说明 u-boot 相关的网络应用.局域网内,TFTP 下载速 度可达 450KB/s. a) 首先,在PC 端安装 TFTP 服务器软件,如TFTPD32;
b) 设定服务器端软件参数.以TFTPD32 为例,主要参数有 Base Directory、TFTP Security、TFTP Port、TFTP Timeout 等;
c) 将需要 load 的image 文件 copy 到Base Directory 下;
d) 修改\aml-uboot\trunk\include\configs\***.h 文件, 配置目标板相关网络参数. 如mac、 ip、gatewapip、netmask、serverip 等;
e) 重新编译 u-boot;
f) 将目标板连接到 ethernet,启动 u-boot;
g) 使用 TFTP 相关命令(如tftpboot、bootp、dhcp 等) ,把image 文件从 tftp 服务器 下载到目标板的 memory 中;
h) 使用 bootm 命令,启动 memory 中的 image 文件;
5. STDIO 常用命令说明(部分) 5.1. Help 操作命令 z help [command ...] - 显示对"command"的提示信息;
如果"command"为空,则显示所有支持的命令列 表;
5.2. SPI Nor 操作命令 z sf probe
2 - 探测 spi
5 /
6 z sf erase offset len - erase len' bytes from offset' ,len 必须是 sector 的倍数,offset 是spi nor 内的偏移地址;
z sf read addr offset len - read len' bytes starting at offset' to memory at `addr',注意 addr 和len 要4字节对齐;
z sf write addr offset len - write len' bytes from memory at addr' to flash at `offset',注意 addr 和len 要4字节对齐;