当前位置:首页 > 编程笔记 > 正文
已解决

【精通嵌入式Linux编程】工具链

来自网友在路上 155855提问 提问时间:2023-09-26 08:28:59阅读次数: 55

最佳答案 问答题库558位专家为你答疑解惑

一、嵌入式Linux的4个基本要素:
1、工具链(toolchain)
2、引导加载程序()bootloader
3、内核(kernel)
4、根文件系统(root filesystem)


一、工具链


GNU工具链三个主要组件组成:Binutils,GNU编译器集合(GCC),C库


CPU架构,工具链必须根据目标CPU的能力来构建:
1、CPU架构,
2、大端操作或者小端操作,
3、浮点支持,
4、应用程序二进制接口(ABI):函数调用之间传递参数的调用条约

C库的选择
glibc:标准GNU C库
musl libc:嵌入式C库,小型
uclibc-ng:uclinux才使用


构建工具链的个人或组织:
1、SOC或电路板供应商。
2、linaro组织。
3、第三方Linux工具供应商。Mentor Graphics、TimeSYS 或Monta Vista
4、基于嵌入式构建工具之一生成的二进制SDK,yocto
5、基于桌面Linux发行版的跨平台工具包,Debain发行版具有ARM MIPIS目标的交叉编译包。


构建工具链的整个过程
Cross Linux From Scratch
https://trac.clfs.org


使用crosstool-NG构建工具链

sysroot,库和头文件
工具链sysroot是一个目录,其中包含库,头文件和其他配置文件的子目录。该目录可以在通过--with-sysroot=配置工具链时进行设置,
也可以在--sysroot=命令行中进行设置。
可以使用--print-sysroot查看默认sysroot的位置:
$arm-linux-gcc -print-sysroot


C库的组件
C库不是单个库文件,它由共同实现POSIX API的4个主要部分组成:
libc:可移植的操作系统接口函数
libm:数学函数
libpthread:pthread开头的POSIX的线程函数
librt:POSIX的试试扩展,共享内存和异步I/O。


 

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"【精通嵌入式Linux编程】工具链":http://eshow365.cn/6-13820-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!