求助 怎么在 linux 下搭建 stm32 的开发环境

2016 年 5 月 29 日
 MikeFish

最近在玩一些硬件相关的玩具,需要在 linux 下使用工具链编译 目前我已经完成了 arm-none-eabi-gcc 和 openocd 的安装 我个人比较倾向于这样的工程目录

├── stm_project

│ ├── inc

│ ├── libs

│ └── src

在根目录及每个子目录下写 makefile,src 目录下存放c文件, libs 目录下存放 stm32 官方库文件, inc 下放头文件,工程目录中还有什么需要补充的文件和文件夹,每个子目录下需不需要在细分文件夹,求各位大神指点,谢谢 stm32f103 的官方库在什么地方下载,我在意法半导体官网上没有找到 还有就是每个 makefile 文件和链接脚本这个很蛋疼,有没有人能带我飞,谢谢

6065 次点击
所在节点    硬件
23 条回复
cnnblike
2016 年 5 月 29 日
现在都用 STM32CubeMX 了,官方附件库已经不维护了
kokutou
2016 年 5 月 30 日
atom + platformio 看看有没有你的板子。。。
arduino 表示很爽,但是启动好慢。。。
hanliumaozhi
2016 年 5 月 30 日
查看 https://leanpub.com/mastering-stm32 讲了在 linux 搭建开发环境的 不过撸单片机代码还是在 win 上好。。。
eamars
2016 年 5 月 30 日
如果官方支持的话可以用 mbed ,官方提供了 online compiler
MikeFish
2016 年 5 月 30 日
@cnnblike STM32CubeMX 有合适的资料么
@hanliumaozhi 感觉好像很简单 环境搭建只有两页
@eamars mbed 是什么东西
谢谢大家的回复,上完课刚刚回来看见
eamars
2016 年 5 月 30 日
@MikeFish
这里是支持列表: https://developer.mbed.org/platforms/
mbed 为很多设备和模块提供了抽象的硬件驱动。意味着如果你需要管理一个数字输入接口,你可以直接使用 DigitalIn inputDevice 这样的硬件无关的操作

而且 mbed 支持在线编辑器和在线编译器,自带版本管理,发布,一键导入驱动,导出为各种工程文件等等。在线编译器需要配合本地的 st-link 使用。不少 stm 的开发板,比如 nucleo 系列自带 st-link ,使用起来挺方便的。
cnnblike
2016 年 5 月 30 日
@MikeFish st.com 自己查
SunZhiwei
2016 年 5 月 30 日
前端时间有写过之类 不过很挫
用的 arm-gcc 和 stlink, 另外板子型号好像忘记了 23333
你可以去看看: https://github.com/ZhiweiSun/stm32
SunZhiwei
2016 年 5 月 30 日
哦 好像就是 stm32f103 吧 不过也许可能达不到你的要求
MikeFish
2016 年 5 月 30 日
@SunZhiwei 我的也是 stm32f103 因为不想折腾寄存器 官方库又下不到
SunZhiwei
2016 年 5 月 30 日
@MikeFish 我那个 stm32 里面应该就是你需要的吧 不过也许不全 毕竟当时做的东西比较简陋,(而且对硬件不是很熟 23333
MikeFish
2016 年 5 月 30 日
@SunZhiwei 但是具体到 linux 下还是有很多问题,可以谈谈你是怎么玩的么
MikeFish
2016 年 5 月 30 日
@SunZhiwei 你有博客之类的么
SunZhiwei
2016 年 5 月 30 日
@MikeFish 谈不上玩吧 而且也是磕磕碰碰过来的, 一般都在 ```win``` 下面弄得吧 (没有 懒得维护 23333
大致就是先组织结构 把需要的文件整理好 然后写了个 ```Makefile``` 之后就开始写东西了
在 linux 下 ```arm-none-eabi-gcc``` 和 ```stlink``` 应该就行了
but0n
2016 年 5 月 31 日
MikeFish
2016 年 6 月 1 日
@but0n 现在我已经找到了这个工程 但是 openocd -f openocd.cfg 连不上我的单片机
but0n
2016 年 6 月 1 日
@MikeFish 我用的 stm32flash 串口烧写
MikeFish
2016 年 6 月 2 日
这个怎么弄 老司机指条明路 @but0n
but0n
2016 年 6 月 2 日
@MikeFish

stm32flash: https://github.com/ARMinARM/stm32flash
clone 到本地然后编译

串口烧写还需要安装 USB 转串口的驱动,这个在网上能找到

https://github.com/but0n/stm32_development_on_Mac
我用的 Mac
MikeFish
2016 年 6 月 3 日
@but0n 谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/282081

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX