慢慢学Linux驱动开发,第十一章,开始U-boot移植第一步

  老婆去逛街了,不知道是不是给我省电话费呢,最近几天通话时间都很少,也不知道她在那边生活费够不够,也不让我给她打点钱,估计饿瘦了都,老婆……她去逛街了,我只好继续奋斗喽,为了将来好好照顾她,hehe:)

  买tiny6410时,虽然说什么东西都给我们弄好了,但也是这什么都弄好了,以至于可以让我们弄得东西没有了,比如上面的LED驱动啊等等,都不是模块形式的,或者说是没法卸载的,所以我想自己学习移植一套Linux上去,自己写驱动会不会学得多一点,这几天一直在纠结学习的方法论的问题,最后还是实践派打败了理论派,于是,开始…………

  首先是开发环境的搭建,不用多说,arm-gcc交叉编译器应该都会装吧,记得加入环境变量以方便使用。

  还有就是u-boot和Linux内核的源代码的下载,去官网下吧,别去别的地方了。

  这里使用的U-boot版本是u-boot-2010.09,Linux版本为linux-2.6.29

  u-boot-2010.09这个版本其实对对很多CPU都是直接支持的,首先进入board目录看一下,我的Tiny6410使用的是三星的S3C6410,进入board/samsung/目录下,发现有smdk2400、smdk2410和smdk6400,很遗憾没有6410,不过以前了解过三星6400和6410几乎是差不多的,应该是可以在其基础上进行修改的。

 

1)在board/samsung/下建立开发板的项目文件夹,取名叫tiny6410,并把smdk6400文件夹里的东西全部复制过去,并修改其文件名,如图所示。

2)进入u-boot根目录/include/configs/,复制smdk6410.h粘贴更名为tiny6410.h。

3)进入u-boot根目录的makefile文件中,首先指定交叉编译器找到CROSS_COMPILE?=在等号后面添加arm-linux-,然后找到SMDK6400的配置信息,依样画葫芦,來一个tiny6410的

#########################################################################
## ARM1176 Systems
#########################################################################
tiny6410_noUSB_config \
tiny6410_config : unconfig
# 注意下面应为tab健,不可以用4个空格代替
@mkdir -p $(obj)include $(obj)board/samsung/tiny6410
@mkdir -p $(obj)nand_spl/board/samsung/tiny6410
@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
@if [ -z "$(findstring tiny6410_noUSB_config,$@)" ]; then \
echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/tiny6410/config.tmp;\
else \
echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/tiny6410/config.tmp;\
fi
@$(MKCONFIG) tiny6410 arm arm1176 tiny6410 samsung s3c64xx
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk

4)测试编译新建的th6410开发板项目

出现如图Configuring for tiny6410 board...字样,说明设置成功,继续

#make ARCH=arm //编译后在根目录下会出现u-boot.bin文件,则u-boot移植的第一步就算完成了 

当然编译是需要一段时间的,耐心等待吧,不过别高兴太早,可能有人说这也太简单了吧,其实这里编译出来的u-boot.bin对自己的tiny6410开发板是没有任何用处,以上的移植只是搭建了一个tiny6410开发板u-boot的框架,要使其功能实现,还要根据tiny6410开发板的具体资源情况比如晶振频率等来对u-boot源码进行修改,方才可以使用

------------------------------------------------------------------------------------------------------------------

作者:庞辉

出处:http://www.cnblogs.com/pang123hui/

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名庞辉(包含链接).

  

  

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值