电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

嵌入式Linux系统裁剪与微内核化

嵌入式Linux系统裁剪与微内核化_第1页
1/11
嵌入式Linux系统裁剪与微内核化_第2页
2/11
嵌入式Linux系统裁剪与微内核化_第3页
3/11
下载后可任意编辑 嵌入式 Linux 系统裁剪与编译 1 构建交叉编译环境 1.1 交叉编译原理简介 嵌入式开发一般都是使用交叉编译环境。交叉编译就是在一台计算机上编译软件,其生成的软件在另一台不同类型处理器的机器上运行。因为嵌入式硬件性能一般无法和家用计算机相比,无法构建开发和编译环境。所以我们只能“借”家用计算机来对目标平台的软件进行开发和编译。此时称家用计算机为宿主机,而目标平台机器为目标机。每一个软件。在编译过程中。都要经过一系列处理,才能从源代码变成可执行目标代码。这一系列处理包括,预编译、高级语言编译、汇编、连接及其重定位。这一套流程里面用到的工具和库的组合,就称为工具链 。Linux 上常用的开发工具 GCC,它包含预编译器 cpp,c 语言编译器 gcc,汇编器 as 和连接器 ld。这个工具链中,还有用于处理二进制包的工具包binutils,整个工具链应该是 GCC+binutils+Glibc。 为了编译在目标机上运行嵌入式 Linux 内核,首先我们必须编译目标平台的编译链,而这个链是存放在主机上,故名为交叉编译链。1.2 下载构建交叉编译链的工具及其补丁 Binutils-2.19.1 Busybox-1.13.0 GCC-4.3.3 GMP-4.2.4 MPFR-2.4.1 uClibc-0.9.30.1 制作交叉编译链 定义环境变量 定义 MYSYS 变量为嵌入式系统主目录变量、MYSYS_TARGET 变量为目标平台、MYSYS_HOST 为主机平台。使用 export 命令或者将此变量添加.bashrc 文件中。 cat > ~/.bashrc << “EOF” set +h 下载后可任意编辑 umask 022 MYSYS=/mnt/mysys LC_ALL=POSIX PATH=${MYSYS}/ctools/bin:/bin:/usr/bin export MYSYS LC_ALL PATH EOF 这样我们设置了生成系统的根目录变量。 export MYSYS_HOST=”${MACHTYPE}” export MYSYS_TARGET=”[XXX]-ulibc-linux-gnu”这两个变量都是编译过程需要使用的.XXX 是目标平台,如 arm 平台,可写为arm-ulibc-linux-gun。 首先需要安装内核头文件。make mrproper make ARCH=${MYSYS_ARCH} headers_checkmake ARCH=${MYSYS_ARCH} INSTALL_HDR_PATH=dest headers_install制作工具链的时候需要使用部分内核头文件。 编译 GMP。 ../configure --prefix=/ctools --enabled-mpbsd make make install 编译 MPFR。 LDFLAGS="-Wl,-rpath,/ctools/lib" \ ./configure --prefix=/ctools --enable-shared \ --with-gmp=/ctools cp -rv dest/include/...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

嵌入式Linux系统裁剪与微内核化

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部