bokee.net

软件工程师博客

正文 更多文章

在龙人2410开发板上成功移植啦u-boot1.1.4

在龙人2410开发板上成功移植啦u-boot1.1.4
以前试过:在几家板子上移植u-boot1.1.4都以失败而告终,今天上午在龙人【深圳龙人arm公司是一家专业arm开发板 arm9开发板 arm9的嵌入式开发 嵌入式系统公司,能根据客户的需求,提供最好的嵌入式arm开发板S3C2440 2440开发板 Xscale开发板 PXA270 270开发板 EP9315 IXP425详情:http://www.szarm.com http://www.embsky.com/http://www.embedm.com
】的2410板子上移植u-boot1.1.4终于成功了,现将择移植经验总结如下,希望对大家有帮助!
1.由于u-boot-1.1.4.tar.gz展开后在我的交叉编译环境中出错,将   \cpu\arm920t\config.mk文件中的PLATform_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) 改为下列PLATform_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call cc-option,-mabi=apcs-gnu),)
2。将/include/asm-arm/processor.h 中的
union debug_insn
{
u32arm;
u16thumb;
};改为
union debug_insn
{
u32arm_mode;
u16thumb_mode;
};
1.由于uboot中的2410板子里没有龙人板子上的上用的那种flash,
 所以就把ppcboot中的flash相关文件直接拷过来:
 a. 将/ppcboot-2.0.0/board/smdk2410/flash.c和flash-define.h 拷到
    u-boot-1.1.4/board/smdk2410 下.
 b. 将/ppcboot-2.0.0/include/flash.h 拷到
    u-boot-1.1.4/include/下
2.修改 include/configs/smdk2410.h
a.去掉了下面三宏定义
  #define CONFIG_DRIVER_CS8900 1
 #define CS8900_BASE 0x8000300
 #define CS8900_BUS16 1
 增加了下面几个宏定义
 #define CONFIG_DRIVER_DM9000 1
 #define CONFIG_DM9000_BASE 0x8000300
 #define DM9000_IO CONFIG_DM9000_BASE
 #define DM9000_DATA (CONFIG_DM9000_BASE+4)
 #define CONFIG_DM9000_USE_16BIT
 #define COMMAND_LINE "initrd=0x30800000,0x440000 mem=64M root=/dev/ram
     init=/linuxrc console=ttyS0"
b.修改了
#define CONFIG_COMMANDS \
        (CONFIG_CMD_DFL | \
         CFG_CMD_CACHE | \
         CFG_CMD_PING | \ //加上PING 哦,否则不能下载
         CFG_CMD_REGINFO | \
         CFG_CMD_DATE | \
         CFG_CMD_ELF)
c. 增加或增加了下列宏定义
     #define CONFIG_ETHADDR08:00:3e:26:0a:5b
     #define CONFIG_NETMASK 255.255.255.0
     #define CONFIG_IPADDR192.168.2.110
     #define CONFIG_SERVERIP192.168.2.111
d.增加了下列宏定义
#define CONFIG_INTEL_E28F128 1
#ifdef CONFIG_INTEL_E28F128
#define PHYS_FLASH_SIZE0x01000000
#define CFG_FLASH_SIZEPHYS_FLASH_SIZE
#define CFG_MAX_FLASH_SECT(128)
#define CFG_ENV_ADDR(CFG_FLASH_BASE + 0x020000)
#define   CFG_FLASH_SIZEPHYS_FLASH_SIZE
#endif
e 去掉了下列宏定义
  #define CONFIG_AMD_LV400  1
3.在 include/flash.h文件中屏蔽了下面一个函数声明
 externint flash_write(uchar *, ulong, ulong);
4.本版在2.95.3的交叉编译环境下编译OK!在龙人的交叉编译器下也
  编译ok。
5.将成的u-boot.bin文件复制到/tftp下,当龙人的板子在ppcboot启动后
出现的下面的shell 提示:
SMDK2410 #
接上网线,执行:tftp 0x30008000 u-boot.bin  
// 将u-boot.bin 下载到龙人的板 子的SARAM上
// 注意这里龙人目标板的serverip要和宿主机的ip相同
然后执行:go 0x30008000
/ / 执行刚才下载的u-boot.bin程序
这样,u-boot1.1.4就运行起来。。。。。。。。。。。。。。。。
这样就起来啦,但里面还有很多东西我还搞不清楚,后面再慢慢研究!
如有那位朋友对此感兴趣,欢迎联系我手机:13148818895   小灵通:21192100余焕丽我们共同探讨!
 

上一篇:嵌入式开发人才需求现状【一则招聘须知

下一篇:arm开发板【425开发板】--龙人

评论 发表评论

抢沙发,第一个发表评论
登录名 密码 注册
验证码
无觅相关文章插件,快速提升流量