免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1551 | 回复: 0
打印 上一主题 下一主题

u-boot-2011.09-rc1在at91sam9260上的移植 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 03:03 |只看该作者 |倒序浏览
----------------------学习雷锋好榜样---------------------------
Target: at91sam9260开发板
编译工具: arm-linux-4.3.2  (arm-linux-3.4.1无法编译成功)
uboot版本:u-boot-2011.09-rc1
 
1.先进行清理u-boot编译过程文件:
  make unconfig
  make clean
  make clobber

2.删除无关文件
  ./arch/arm下与目标体系不相关文件夹,只留下自己目标体系的。这里我只留arm926ejs文件夹.
 ./board下只留下atmel文件夹
 
3.配置基本编译文件
3.1.根目录下mkconfig文件856行添加:
at91sam9260ek_config : unconfig
 @$(MKCONFIG) -n $@ -t $@ at91sam9260ek arm arm926ejs $(@:_config=) atmel at91sam9260ek
   ###  说明    target        arch cpu        vendor  board
#####这些都对应相关目录,target即mkconfig下的伪目标at91sam9260ek_config
#####arch对应arch下目录名,cpu对应arch/arm/cpu下目录名
######vendor和board对应board下目录
#######配置后生成include/config.mk文件,然后生成include/config.h

3.2.尝试编译
make at91sam9260ek_config
make
报错:在at91sam9260ek.h下找不到asm/hardware.h,原因是在include/asm下生成的arch链接损坏,可以手工创建
   cd include/asm
 rm -rf arch
 ln -s arch-at91 arch

3.3继续make,报错
In file included from /home/cblock/u-boot-2011.09-rc1/include/asm/hardware.h:16,
                 from /home/cblock/u-boot-2011.09-rc1/include/configs/at91sam9260ek.h:34,
                 from /home/cblock/u-boot-2011.09-rc1/include/config.h:7,
                 from /home/cblock/u-boot-2011.09-rc1/include/common.h:37,
                 from lib/asm-offsets.c:18:
/home/cblock/u-boot-2011.09-rc1/include/asm/arch/hardware.h:45:3: error: #error "Unsupported AT91 processor"
原因是没有定义CONFIG_at91sam9260ek。在hardware.h Line27添加defined(CONFIG_at91sam9260ek),如下
#elif defined(CONFIG_AT91SAM9260) || defined(CONFIG_AT91SAM9G20) || \
 defined(CONFIG_AT91SAM9XE)  || defined(CONFIG_at91sam9260ek)

3.4继续make,报错
make -C arch/arm/cpu/arm926ejs/at91sam9260ek/
make[1]: Entering directory `/home/cblock/u-boot-2011.09-rc1/arch/arm/cpu/arm926ejs/at91sam9260ek'
make[1]: *** 没有指明目标并且找不到 makefile。 停止。
make[1]: Leaving directory `/home/cblock/u-boot-2011.09-rc1/arch/arm/cpu/arm926ejs/at91sam9260ek'
make: *** [arch/arm/cpu/arm926ejs/at91sam9260ek/libat91sam9260ek.o] 错误 2
原因是最新的u-boot目录结构改变了,在at91sam9260ek没有makefile来构建目标t91sam9260ek.o,复制at91目录下所有文件到
at91sam9260ek目录,并修改makefile 29行添加
COBJS-$(CONFIG_at91sam9260ek) += at91sam9260_devices.o
 
3.5继续make,报错
cpu.c: In function 'print_cpuinfo':
cpu.c:63: error: 'ATMEL_CPU_NAME' undeclared (first use in this function)
cpu.c:63: error: (Each undeclared identifier is reported only once
cpu.c:63: error: for each function it appears in.)
make[1]: *** [cpu.o] 错误 1
make[1]: Leaving directory `/home/cblock/u-boot-2011.09-rc1/arch/arm/cpu/arm926ejs/at91sam9260ek'
make: *** [arch/arm/cpu/arm926ejs/at91sam9260ek/libat91sam9260ek.o] 错误 2
在arch/arm/include/asm/arch-at91/at91sam9260.h Line164添加
#elif defined(CONFIG_AT91SAM9260)
# define ATMEL_CPU_NAME  "AT91SAM9260"
# define ATMEL_ID_USART5 25 /* USART 5 */
# define ATMEL_BASE_SRAM0 0x00200000 /* Internal SRAM 0 */
# define ATMEL_BASE_SRAM1 0x00300000 /* Internal SRAM 1 */
# define ATMEL_BASE_USART5 0xfffd8000
# define ATMEL_BASE_GPBR 0xfffffd50
 
4.继续make,这下没错了,成功编译。剩下的就慢慢来针对板子来修改了。
 
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP