uboot结合git开发流程总结

25 篇文章 0 订阅
22 篇文章 1 订阅

      

uboot结合git开发流程总结

uboot结合git开发流程



系统环境:Linux czy-desktop 2.6.32-38-generic #83-Ubuntu SMP Wed Jan 4 11:13:04 UTC 2012 i686 GNU/Linux

交叉工具:gcc版本:gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203)


预备知识:

1、#建立一个我们自己的uboot目录,这里我用MYUBOOT变量代替

2、uboot源码包,这里假设叫做netra-uboot-2010.06.tar.bz2

3、注意用户权限,这里一直使用root权限

4、确认交叉编译器没有问题,我的交叉编译路径/opt/CodeSourcery/Sourcery_G++_Lite,这里我用变量MYCROSS_COMPILE代替

5、git的安装及操作

6、对自己开发板芯片架构需了解


当我们得到一个源码包后,通过解压命令tar解压至指定目录。

#tar xvf netra-uboot-2010.06.tar.bz2 -C $MUUBOOT

通常的,在安装了git的linux系统上,我们可以进入该目录执行git命令,使用git命令来托管我们的源代码,当我们开发的时候就不比担心修改源码失误导致混乱,当然如果没有安装就可以跳过下面的步骤:

#cd $MYUBOOT/netra-uboot-2010.06

#git init

#git config --global user.name "lichao"

#git config --global user.email "lichao@kedacom.com"

#git add .

#git commit -m "first submitted"

#git log

注意,为了不跟踪我们在编译的时候生成的文件和目录,我们可在git init的目录中新建.gitignore文件,并向其中写入不需要跟踪的文件,这里我们就不具体讨论git用法.

此时,你将会发现如下信息:




之后,我们就可以进行自己对源码的修改了。

这里假设我们拥有一块kedacom公司的开发板h800,cpu为TI公司生产的Netra系列DM8168芯片,架构ARM,我们开始配置属于自己板子的uboot.

#cd $MYUBOOT\netra-uboot-2010.06

1.修改主Makefile

#vi Makefile

找到最接近我们开发板的配置,复制一份,并进行修改,下面这个是h600的配置





上面最后一行@$(MKCONFIG) -a $(@:_config=) arm arm_cortexa8 h600 kedacom ti81xx参数意义如下:

arm:                cpu架构(ARCH)

arm_cortexa8:  cpu类型,对应于cpu/arm_cortexa8目录

h600 :               开发板型号(board),对应于board/kedacom/h600目录

kedacom:          开发者,经销商,对对应于board/kedacom目录

ti81xx :              片上系统(SOC)

阅读完上述配置后,我们根据他,Makefile中添加自己的配置.

      





注意:在每行打头的@前面都是TAB分隔符.

修改完毕后保存退出.

2.建立自己的开发板目录,复制并修改代码文件

#mkdir board/kedacom/h800

我们配置了经销商kedacom,所以必须在board下建立相应的目录,如果次参数为null,则无需建立经销商目录.

#cp -rf board/kedacom/h600/* board/kedacom/h800/

#cd board/kedacom/h800

#vi config.mk

找到上述行,将连接脚本路径修改为我们自己的路径

保存退出!

3.创建开发板的配置文件

#cp $MYUBOOT/netra-uboot-2010.06/include/configs/h600.h h800.h

至此,所有配置文件和相关代码已经创建完毕,接下来如果你想看看我们修改了哪些uboot配置和增加了哪些

内容.我们通过git命令和之前的对比就可以查看到:

#cd  $MYUBOOT/netra-uboot-2010.06

#git status

上面显示,我们修改了一个Makefile文件,增加了新文件夹h800和h800.h文件.

#git status board/kedacom/h800

上面显示我们在board/kedacom/h800文件夹中增加了新文件board.c等.

#git diff

上面显示我们在主Makefile中加入了新内容,及图中'+     '打头后的部分.

我们先保存当前的所有修改,并提交至仓库中,方便接下来的工作.

#git commit -a -m "create relevant h600 code file ok"

#git log

从上面我们可以看到我们一共提交了2次.

这里,我们试着编译一下我们自己刚配置的uboot.

在编译之前,我们我们最好先执行如下2条命令设置你开发板的架构和你交叉编译工具链路径

#export ARCH=arm

#export CROSS_COMPILE=$(MYCROSS_COMPILE)/bin/arm-none-linux-gnueabi-

#make h800_config

#make u-boot.bin

如果编译通过,在进行下面的修改,否则请检查你之前的操作或交叉编译器的配置以及你使用的uboot是否存在问题

我的可以正常编译通过,说明没有问题,接下来,我们需要针对性的对我们开发板的特性进行设置:

首先我们找到h800.h

#cd $MYUBOOT/netra-uboot-2010.06/include/configs

#vi h800.h

这里为了举例,只是选择性的进行配置,方便大家学习,基本上,所有关于uboot命令,开发板flash支持,内核载入地址等

都在此文件中进行配置.

# define CONFIG_BOOTDELAY            5   /*设置启动等待时间*/

#define CONFIG_SERIAL1                  1   /*选择串口作为输出端口*/

#define CONFIG_EXTRA_ENV_SETTINGS   /*配置所需要的环境变量*/
#define CONFIG_BOOTCOMMAND           
/*配置所需命令等*/



下面进入开发板相关代码目录

#cd board/kedacom/h800

一般添加分区,初始化等操作都在此目录的文件中,由于板子的差异,出现的文件名可能不相同,这里就不做修改.

当你认为修改好了自后你就可以执行入下操作了

#export ARCH=arm

#export CROSS_COMPILE=$(MYCROSS_COMPILE)/bin/arm-none-linux-gnueabi-

#make h800_config

#make u-boot.bin  /*具体是u-boot.in还是uboot.bin,可以查看主Makefile文件*/



最后,会在$MYUBOOT/netra-uboot-2010.06/arch/arm/boot中生成你所需要的boot文件.

成功后不要忘记把我们现在的配置提交到git仓库,方便以后回滚的时候可以回到任意提交时的状态!

#git commit -a -m "fix  h800 code file ok"

#git log


说明:上面在第二次提交时将提交信息里的"h800"误写成"h600",请读者注意.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值