极术小姐姐 · 3 天前

将项目从 GCC 移植到 Arm 嵌入式工具链

image.png

Arm Compiler for Embedded (AC6) 与 Arm GNU Toolchain (GCC) 并非 100% 兼容。AC6 使用专有链接器,需要 Arm scatter-loading 文件而不是 GNU 式链接器脚本来在内存中排列代码和数据。下一代 Arm 嵌入式工具链(ATfE)是 100% 开放源代码,使用 LLVM 的 “ld ”链接器,可接受 GNU 风格链接器脚本。这是否意味着目前使用 GCC 构建的嵌入式项目无需修改即可使用 ATfE 构建?

不是,ATFE 和 GCC 并不完全兼容。要使用 ATfE 构建 GCC 项目,需要进行一些修改。这些修改主要源于 C 库之间的差异: ATfE 的 Picolibc 和 GCC 工具链的 Newlib。在这篇博文中,我将介绍作为 Arm Development Studio 套件一部分提供的 startup_Armv8-Ax1 示例项目。这是一个带有链接器脚本和启动代码的小型项目,已经使用 GCC 进行了构建,因此是一个理想的实验项目。

作者:Paul Black
文章来源:https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/migrating-a-project-from-gcc-to-arm-toolchain-for-embedded

欢迎大家点赞留言,更多 Arm 技术文章动态请关注极术社区 Arm 技术专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
23663
内容数
1073
Arm相关的技术博客,提供最新Arm技术干货,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息