uboot-2011-06 之makefile分析(三)结合代码的编译
来源:互联网 发布:淘宝模特拍摄技巧 编辑:程序博客网 时间:2024/05/17 04:01
在虚拟机里装个一个ubuntu14.04 64位版本,开始结合代码分析和编译。
首先要设置编译器的类型,一般默认的是gcc ,而我们要用的是以arm-linux为版本的编译器。我使用的编译器的版本是arm-linux-gcc 4.3.2,网上有下载,或者换个其他的版本试试。
解压后放在/opt/目录下,然后回到自己的home目录,打开.profile,添加
if [ -d "/opt/arm/4.3.2" ]; then PATH="/opt/arm/4.3.2/bin:$PATH"fi
</pre><p>或者是在.bashrc文件中添加</p><p></p><pre name="code" class="cpp">export PATH=/opt/arm/4.3.2/bin:$PATH
然后保存后执行source .profile的命令,查看echo $PATH,看是否已经多了一个path的路径,或者是敲arm ,然后tab ,看是否能显示一堆的关于arm-linux 。。。的东西。
注意,我的移植的目标是三星的S5PV210,具体的架构在前面提到过,或者自己百度一下。
我是用的是14.04的64bit ubuntu,
装一些32位的库
sudo apt-get update然后执行
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
之前说到,先要配置make xxx_config,然后到mkconfig的shell脚本中,shell脚本会读取boards.cfg中的有关xxx的一行,那么第一步需要我们来添加和自己对板子的配置
Target ARCH CPU Board name Vendor SoC Optionscarl210 arm armv7 carl210 samsung s5pc1xx
执行make carl210_config ,
进入include目录下,ls -al asm
然后
再然后
看一下config.mk文件
ARCH = armCPU = armv7BOARD = carl210VENDOR = samsungSOC = s5pc1xx
看一下config.h
/* Automatically generated - do not edit */#define CONFIG_BOARDDIR board/samsung/carl210#include <config_cmd_defaults.h>#include <config_defaults.h>#include <configs/carl210.h>#include <asm/config.h>看看这些config.h中包含的文件。
config_cmd_defaults.h
#ifndef _CONFIG_CMD_DEFAULTS_H_#define _CONFIG_CMD_DEFAULTS_H_#define CONFIG_CMD_BOOTM 1#define CONFIG_CMD_CRC32 1#define CONFIG_CMD_EXPORTENV 1#define CONFIG_CMD_GO 1#define CONFIG_CMD_IMPORTENV 1#endif
支持简单的命令,go,bootm,exportenv,inportenv
看看config_defaults.h
#ifndef _CONFIG_DEFAULTS_H_#define _CONFIG_DEFAULTS_H_/* Support bootm-ing different OSes */#define CONFIG_BOOTM_LINUX 1#define CONFIG_BOOTM_NETBSD 1#define CONFIG_BOOTM_RTEMS 1#define CONFIG_GZIP 1#define CONFIG_ZLIB 1#endif这个是支持什么linux,netbsd,rtems系统启动的。
看看configs目录下的carl210.h,没有定义的,这个需要我们自己来定义其中的内容,这个后续会讲到定义哪些东西。
看看asm/config.h 文件
#ifndef _ASM_CONFIG_H_#define _ASM_CONFIG_H_#define CONFIG_LMB#define CONFIG_SYS_BOOT_RAMDISK_HIGH#endif
0 0
- uboot-2011-06 之makefile分析(三)结合代码的编译
- uboot 2011-06 之顶层Makefile分析
- uboot分析之Makefile(二)两种编译
- uboot的编译过程分析---Makefile分析
- uboot系列之-----顶层Makefile分析(三)
- uboot 2011-06 之makefile 分析(二)
- Uboot 之Makefile 分析
- uboot之Makefile分析
- Uboot 之Makefile 分析
- uboot之Makefile分析
- uboot之Makefile分析
- Uboot 之Makefile 分析
- Uboot 之Makefile 分析
- uboot分析之Makefile
- uboot之makefile分析
- uboot分析之Makefile(一)
- Uboot的Makefile分析
- uboot的 MakeFile分析
- ajaxfileupload.js插件结合一般处理文件实现Ajax无刷新上传
- C语言 头指针单链表
- Android中的信使Messenger的源码解析
- HDU ACM 2049 不容易系列之(4)——考新郎->组合加错排
- 使用WakeLock使Android应用程序保持后台唤醒
- uboot-2011-06 之makefile分析(三)结合代码的编译
- 数据库 优化临时表使用,SQL语句性能提升100倍
- android 屏幕保持唤醒 不锁屏 android.permission.WAKE_LOCK
- [Android]浅析Http框架 - Android-Async-http
- CAS—认证原理
- jhat命令使用
- 【2015/6/2】SYN洪水攻击
- 天祥电子avr视频中的AVR_PQ1A.h头文件
- hdu 1069 Monkey and Banana(dp)