<转>linux 下stm32开发环境安装
传送门:
http://www.eefocus.com/marianna/blog/13-10/298454_7e04f.html
http://blog.sina.com.cn/s/blog_6439091b0100huj7.html
http://www.mcuos.com/thread-5885-1-1.html
为了避免原作者博文删除,我粘贴复制过来吧。原文链接已经在传送门处。感谢原文作者的共享!
======================
Linux发行版是64bit的Fedora19,方案选择为:Eclipse+CodeSourcery+OpenOCD+STLINKv2。
NO1.准备STM32的开发板,购买仿真器STLINKv2。
NO2.安装 CodeSourcery
如果是64bit机器,首先确认它能够运行32bit的软件。CodeSourcery可以在官网https://sourcery.mentor.com下载,名称为arm-2013.05-23-arm-none-eabi.bin,安装它。
CodeSourcery是编译好的二进制GCC程序包。
NO3.安装 OpenOCD
实际上,使用下面这个命令就可以:
yum install openocd
openocd是开源仿真软件,支持 STLINKv2。
NO4.安装 STLINKv2的驱动
在google使用关键字搜索即可,也是开源软件。安装它可能要费一番周折,你可能需要先安装systemd-devel,libusb-1.0,autoconf和automake,然后export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig,执行这些操作的理由都会在config.log文件中找到。
另外别忘了将rules文件加入/etc/udev/rules文件夹,并且载入它。
NO5.安装 Eclipse及ARM插件
在Eclipse官网下载它,解压就能用。 在打开的界面上点击help->Install New software,安装ARM插件。
NO6.下载STM代码
包括所有的.h和.c文件,以及启动代码startup_stm32f10x_md.S(注意S要大写)和.ld配置文件。
NO7.编译STM代码
使用Eclipse新建C Project,将STM代码放进去。根据你自己的STM32芯片类型,修改.S和.ld文件内容,注意.ld文件中要使用绝对路径。
修改工程属性,注意要修改头文件路径、芯片类型和GCC工具(即CodeSourcery,同样使用绝对路径)。
点击build all即可。
如果编译不成功,就根据Eclipse的console提示,搜索解决方法。
NO7.openocd和arm-none-eabi-gdb仿真与调试
连接好硬件之后,执行
openocd -f stlink-v2.cfg -f stm32f1x_stlink.cfg //注意要有绝对路径
如果硬件和STLINKv2的驱动都没有问题,它会出现:
Info : This adapter doesn't support configurable speed
Info : STLINK v2 JTAG v16 API v2 SWIM v4 VID 0x0483 PID 0x3748
Info : Target voltage: 3.269657
Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
在另外一个终端执行arm-none-eabi-gdb,在它的提示符下输入下面的命令:
(gdb) target extended-remote : 3333
(gdb) monitor reset init
(gdb) load maria_test.hex
(gdb) monitor reset
现在,STM32就会正常运行了。
<转>linux 下stm32开发环境安装的更多相关文章
- Linux下STM32开发环境的搭建
目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...
- linux下c++开发环境安装(eclipse+cdt)
方法一: 此外,众所周知,Eclipse是Java程序,因此很容易就实现了跨平台,也是众所周知,Java的大型程序非常吃内存,即使有512MB内存, 仍然感觉Eclipse的启动速度很慢.个人认为1G ...
- windows下STM32开发环境的搭建
一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...
- deepin linux 下C开发环境配置
# deepin linux 下C开发环境配置 ## 前言-----------------------------deepin操作系统商店默认提供了 eclipse for c\c++但是系统没有提 ...
- Linux 下的各种环境安装
Linux 下的各种环境安装 1.安装 python Centos7 安装 python 2.7 : https://www.cnblogs.com/Jomini/p/10507077.html ...
- Linux下golang开发环境搭建
对于golang开发来说,Windows下可以用vscode或者liteide都不错,但是Linux下的开发也就只有vim了,所以怎么搞笑的利用vim进行golang开发呢? 参考官方推荐的一个插件: ...
- 【Qt开发】Linux下Qt开发环境的安装与集成
近期工作需要在Linux下用Qt进行C++开发,所以就在linux下尝试装QT开发环境.本人用的linux是CentOS 6.5.现在对安装过程做出总结.有两种安装方式,下面分别详述: 1 图形化安装 ...
- Linux下Java开发环境搭建—CentOS下Eclipse的安装教程
据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...
- Linux下vim 开发环境配置及配色(Ruby)
终端设置 字体:Monospace 10 粗体 内置方案M:黑底白字 内置方案S:Linux控制台 安装vundle git clone https://github.com/VundleVim/Vu ...
随机推荐
- 【HDOJ】1979 Fill the blanks
预处理+搜索剪枝.4*4的边界上的数字必须是奇数. /* 1979 */ #include <iostream> #include <sstream> #include < ...
- Java之获取系统属性
import java.util.Enumeration; import java.util.Properties; public class Example609 { public static v ...
- poj 1328 Radar Installation(贪心)
题目:http://poj.org/problem?id=1328 题意:建立一个平面坐标,x轴上方是海洋,x轴下方是陆地.在海上有n个小岛,每个小岛看做一个点.然后在x轴上有雷达,雷达能覆盖的范 ...
- 设计模式 - interpreter
interpreter模式在GOF中的定义是:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 定义看起来是非常晦涩.简单来讲,解释器模式通常用于处理特 ...
- poj 2503 快排+二分
..] of string; i,n,l,r,mid:longint; s:string; procedure qsort(h,l:longint); var i,j:longint; temp,m: ...
- windows远程桌面3389超时锁定时间调整方法(取消锁屏时间限制)
我们在管理服务器操作时,有时候需要长时间操作服务器,有时候稍微离开下倒杯水或接个稍长点的电话,就超时断开了很烦啦!有没有方法解决这个问题类?答案是有的!我只要在组策略里面,稍微修改下超时时间就可以了. ...
- 多线程程序设计学习(7)read-write lock pattern
Read-Write Lock Pattern[读写]一:Read-Write Lock Pattern的参与者--->读写锁--->数据(共享资源)--->读线程--->写线 ...
- 在ASP.NET中各种跳转控制
在ASP.NET中各种跳转控制 分类: 我的资料2012-03-16 15:01 76人阅读 评论(0) 收藏 举报 asp.netjavascripturlmenu Respose.Write(&q ...
- Android学习过程
0. Tutorial 1. 基础知识的书 2. 实践为主的书 3. 阅读开源项目 4. 自己做项目 5. 理论为主的书 6. 编程规范和技巧性的书 通过实例了解Android开发 组件:Activi ...
- 【JMeter】JMeter完成一个java请求的压测
先定义一下我说的remoteService:即远程调用服务,没有http的url.不对外提供或者对外提供有限的服务.具体视各公司的代码架构所定,比如有些公司为web工程,scf服务,db.scf即为服 ...