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

2016-05-29 21:28:14 +08:00
 MikeFish

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

├── stm_project

│ ├── inc

│ ├── libs

│ └── src

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

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

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

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

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

https://github.com/but0n/stm32_development_on_Mac
我用的 Mac
MikeFish
2016-06-03 19:14:00 +08:00
@but0n 谢谢

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

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

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

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

© 2021 V2EX