*开发过程
建立交叉编译环境
在目标机安装bootloader
配置和编译内核
通过bootloader安装和运行内核
准备根文件系统的内容
安装根文件系统
开发运行应用程序
* GNU交叉开发工具链(toolchain)
GNU工具链包括以下几个组成部分:
1. GCC编译器(跨平台)
2. Glibc库
3 Binutils二进制工具
4 GDB
ARM交叉编译环境
1 交叉编译器及其二进制工具(连接器、归档工具、符号玻璃器), 路径: $DIR/bin
2 针对目标平台的C头文件。 路径:$DIR/arm-linux/include
3 针对目标平台的C函数库 路径: $DIR/arm-linux/lib
系统引导
Linux从开机到启动的过程
* 执行ROM启动代码
* ROM对CPU等设备进行初始化,执行引导装载器
* 引导装载器解压内核, 然后跳转到第一条指令处执行
* 内核做一些初始化工作,然后挂在根文件系统
* 内核执行根文件系统中的init程序
内核选择、编译和安装
make menuconfig
make dep
make zImage 或者 make vmlinux
准备根文件系统
建立交叉编译环境
在目标机安装bootloader
配置和编译内核
通过bootloader安装和运行内核
准备根文件系统的内容
安装根文件系统
开发运行应用程序
* GNU交叉开发工具链(toolchain)
GNU工具链包括以下几个组成部分:
1. GCC编译器(跨平台)
2. Glibc库
3 Binutils二进制工具
4 GDB
ARM交叉编译环境
1 交叉编译器及其二进制工具(连接器、归档工具、符号玻璃器), 路径: $DIR/bin
2 针对目标平台的C头文件。 路径:$DIR/arm-linux/include
3 针对目标平台的C函数库 路径: $DIR/arm-linux/lib
系统引导
Linux从开机到启动的过程
* 执行ROM启动代码
* ROM对CPU等设备进行初始化,执行引导装载器
* 引导装载器解压内核, 然后跳转到第一条指令处执行
* 内核做一些初始化工作,然后挂在根文件系统
* 内核执行根文件系统中的init程序
内核选择、编译和安装
make menuconfig
make dep
make zImage 或者 make vmlinux
准备根文件系统