首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将为arm-none-eabi-gcc链接的头文件?

将为arm-none-eabi-gcc链接的头文件?
EN

Stack Overflow用户
提问于 2017-05-12 02:30:27
回答 2查看 1.1K关注 0票数 0

我最近一直在试验不同的AVR/PIC和MSP430系列的微控制器,最重要的是,我从Windows切换到Linux来做软件工作,而不使用任何图形用户界面/集成开发环境。我现在正在学习STM32系列控制器。

我想用一下ARM的GCC工具链。下面是我安装的版本。

代码语言:javascript
复制
arm-none-eabi-gcc (15:4.9.3+svn231177-1) 4.9.3 20150529 (prerelease)

我已经从here(Standard Peripheral Library)下载了半导体公司提供的标准外设程序库。在浏览其中的所有文件夹时,我没有找到像stdio.h或stdint.h这样的标准库。

它是否会使用gcc的库,并转换并生成扫描隧道显微镜的.out文件?或者我必须明确地提到,如果我包含标准库,我将为微控制器生成代码,而不是为主机系统生成代码?

任何使用STM32和使用arm-none-eabi- reference的参考资料都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2017-05-12 02:59:32

stdio.h依赖于操作系统,并且可以处理文件。大多数微控制器没有任何类型的标准库。至于stdint.h,我想说的是工具链使用的是较老版本的c标准。stdint.h did not exist until c99.

票数 0
EN

Stack Overflow用户

发布于 2017-05-12 16:43:20

  1. .h文件无论如何都不会被链接。只有对象和库文件(是对象文件的集合)才能链接。.h文件应该只包含声明和定义,而不应该包含实际的数据或函数。
  2. SPL(我假设您使用的是STM uC)是一个过时的库,不应该使用。请改用HAL库。SPL和HAL是帮助程序员访问低级外设的库,而不需要直接的裸寄存器访问。获得硬件抽象层的最简单方法是使用software.
  3. standard库,CubeMX库通常是工具链的一部分。实际上我没有找到任何没有它的(我使用arm和avr micros)

因为您是初学者,所以安装openstm32软件(eclipse +插件+工具链),您将获得所需的一切。为避免出现问题,请使用CubeMX生成新项目并将其导入到openstm32中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43923116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档