[转]移植uboot到ARMer9开发系统上, by lane@www.embeder.com |
[转]移植uboot到ARMer9开发系统上, by lane@www.embeder.com |
2007-04-27 08:55:56, Fri
Post
#1
|
|
猫猫猫 Group: Power Cat Posts: 626 Joined: 2006-12-8 Member No.: 2 |
首先了解ARMer9开发系统硬件设计上和三星原装SMDK2410之间的区别。
让uboot在ARMer9开发系统上跑起来,目前只需要关注如下的硬件区别,解决了下面这个问题,uboot就可以在ARMer9开发系统上正常地从串口输出,进入提示符。很多命令都可以使用,当然有些命令需要做修改。 SMDK2410 : nor flash 是AMD的1M的; ARMer9: 是Intel E28F128J3A, 两片并联,一共32M Bytes. 下载一个uboot-1.1.1.tar.bz2.; tar jxvf uboot-1.1.1.tar.bz2; 在uboot目录board/smdk2410 下的flash.c需要修改。这个是Flash的驱动,如何写,需要参考E28F128J3A的Datasheet. 这里我们提供一个我们修改好的flash.c文件,您只需要将这个文件覆盖掉board/smdk2410 下的文件即可。 (注意:你要安装了交叉编译器才行哦) 修改uboot目录下的Makefile,将 ifeq ($(ARCH),arm) CROSS_COMPILE = arm-linux- endif 修改成 ifeq ($(ARCH),arm) CROSS_COMPILE = /opt/host/armv4l/bin/armv4l-unknown-linux- endif 修改processor.h中: union debug_insn { u32 arm; u16 thumb; } 修改成: union debug_insn { u32 arm_mode; u16 thumb_mode; } 然后配置板子 make smdk2410_config 然后 make 在uboot目录生成uboot.bin; 通过sjf2410w程序将uboot.bin下载到nor flash中, 地址为0的地方; 串口接在UART0上,uboot的启动信息将输出。 你将发现很多命令都可以使用了。uboot果然强大。
Attached File(s)
|
|
|
2007-04-27 08:56:24, Fri
Post
#2
|
|
猫猫猫 Group: Power Cat Posts: 626 Joined: 2006-12-8 Member No.: 2 |
关于网络部分,因为ARMer9开发系统使用也是CS8900A,所以代码部分几乎不用做改动,只需要在 include/configs/smdk2410.h中看看,有没有定义CONFIG_ETHADDR,CONFIG_IPADDR, CONFIG_SERVERIP这些宏没有,如果没有,请定义好。
#define CONFIG_ETHADDR 00:00:e0:ff:cd:15 #define CONFIG_IPADDR 192.168.0.5 #define CONFIG_SERVERIP 192.168.0.100 就这样修改一下,网络部分功能就通了,哈哈。 可以使用tftpboot命令从tftp服务器下载程序到系统内存中。 #tftpboot 0x33000000 zImage #bootm 0x33000000 |
|
|
Lo-Fi Version | Time is now: 2024-12-25 02:29 |