嵌入式开发工具链与C库全解析
1. 工具链选择
在嵌入式开发中,C库的选择会限制工具链的选择,因为并非所有预构建的工具链都支持所有的C库。对于交叉开发工具链,有以下三种选择:
- 找到符合需求的预构建工具链。
- 使用嵌入式构建工具生成的工具链。
- 自己创建工具链。
预构建的交叉工具链有一定吸引力,只需下载和安装,但会受限于其特定配置,且依赖于提供者。常见的预构建工具链来源如下:
| 来源 | 说明 |
| ---- | ---- |
| SoC或开发板供应商 | 大多数供应商提供Linux工具链 |
| 为特定架构提供系统级支持的联盟 | 如Linaro为ARM架构提供预构建工具链 |
| 第三方Linux工具供应商 | 如Mentor Graphics、TimeSys或MontaVista |
| 桌面Linux发行版的交叉工具包 | 如基于Debian的发行版有用于ARM、MIPS和PowerPC目标的交叉编译包 |
| 集成嵌入式构建工具生成的二进制SDK | 如Yocto Project有相关工具链示例 |
| 论坛链接(可能已失效) | |
在选择预构建工具链时,需要考虑是否使用了偏好的C库,以及提供者是否会提供安全修复和漏洞更新。若答案是否定的,则应考虑自己创建工具链。不过,构建工具链并非易事。若想完全自己动手,可参考Cross Linux From Scratch;更简单的方法是使用crosstool-NG,它将过程封装在一组脚本中,并提供菜单驱动的前端;使用Buildroot或Yocto Project等构建系统则更简单,它们会在构建过程中生成工具链。
超级会员免费看
订阅专栏 解锁全文
936

被折叠的 条评论
为什么被折叠?



