利用u-boot移植更新u-boot自身
来源:互联网 发布:实施国家大数据战略 编辑:程序博客网 时间:2024/04/28 12:04
做嵌入式开发的时候经常要进行u-boot的移植,u-boot是嵌入式linux系统的引导程序,相当于pc机上的bios。
我移植的板子是华恒的PXA270-R2,u-boot代码是华恒光盘配送的。嵌入式linux版本是2.6.10。由于我原先的u-boot还是完好的,所有我用u-boot来烧写u-boot,如果u-boot损坏了的话,就要用jtag烧写了。
下面介绍用u-boot来烧写u-boot的过程。
1.修改u-boot代码(如果有必要的话)
如果你纯粹为了更新u-boot,而不用对u-boot的一些属性的进行定制的话是不用修改源码的,直接编译就可以了。
我这次由于要修改内核的长度和ramdisk的起始地址,所以进行了 u-boot-1.1.2/include/configs/pxa270.h 文件的修改,当然其他板子的话要修改对应的文件,我主要修改了以下属性:
/*modified FLASH_RAMDISK_START 0x001a0000 to 0x001c0000*/
#define FLASH_RAMDISK_START 0x001c0000
/*modified FLASH_KERNEL_LEN 0x00160000 to 0x00180000*/
#define FLASH_KERNEL_LEN 0x00180000
2.编译代码
#先清除原来的编译
make distclean
#对不同的开发板进行配置
make pxa270_config
#然后
make
编译后会生成u-boot.bin 这就是我们要烧写到flash的u-boot文件,配置启动tftp服务,把它拷贝到tftpboot目录下。
3.minicom下进入u-boot
使用minicom连接板子,启动板子后,当出现u-boot的启动信息:
start linux now(y/n):
按空格或者回车就可以进入u-boot控制台。
4.去除扇区保护
在一些比较新的版本的u-boot里,会有扇区保护,烧写之前必须去掉保护,要获知有无烧写保护可以用通过查看u-boot新息命令
=>flinfo
输出如下:
Bank # 1: INTEL 28F128J3A
Size: 16 MB in 128 Sectors
Sector Start Addresses:
00000000 (RO) 00020000 00040000 00060000 00080000
000A0000 000C0000 000E0000 00100000 00120000
.........
.........
(RO)表示保护
=> protect off 1:0
输出如下:
Un-Protect Flash Sectors 0-0 in Bank # 1
..
---------------------[说明]--------------------------
保护和去除保护的命令如下:
protect on 1:n--m
protect off 1:n--m
这里的n和m的值为flash芯片128个扇区中整数 0,1,2,…… 126, 27) n < m 。参数m可以省略, 略m表示对指定的扇区执行操作,1 是protect函数执行的判断条件,如果是0就不执行相关操作。
另外还可以设置或取消u-boot的所有保护:
=>protect on all
=>protect off all
--------------------------------------------------------
5.烧写
=> protect off 1:0
=> tftp a0008000 u-boot.bin
=> fl 0 a0008000 20000
输出如下:
start_sect=0x0,end_sect=0x0
************erase sector 0x0***********
----------program sector 0x0---------
然后重新设置扇区保护
=> protect on 1:0
reset一下,启动系统引导成功的话就可以了。
- 利用u-boot移植更新u-boot自身
- u-boot-2016.11移植u-boot.bin
- U-boot移植之U-boot概述
- XSBase255B -- u-boot移植
- u-boot移植心得
- u-boot移植日记
- U-BOOT移植
- 移植u-boot
- u-boot移植三
- U-BOOT移植总结
- U-boot移植说明
- at91rm9200移植u-boot
- lpc2210 u-boot移植
- U-BOOT移植小解
- U-BOOT全线移植
- u-boot移植s3c2410
- IXP425 U-boot移植
- u-boot移植手册
- 拼音爱好者的好消息:紫光V6发版
- 《给初学者的Windows Vista的补遗手册》之068
- 《给初学者的Windows Vista的补遗手册》之069
- 如何获取局域网中的所有 SQL Server 服务
- 技术翻译答客问之一
- 利用u-boot移植更新u-boot自身
- js判断浏览器类型
- 主管大忌--护短
- 《给初学者的Windows Vista的补遗手册》之070
- 王小波文集 工作与人生
- UPDATE语句的用法
- 自动创建ODBC
- 自动创建ODBC数据源(Access,Sql Server,DB2
- java面试最常见考题