传送门:

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就会正常运行了。

 ==========================================
 
关键字: stm32 linux

<转>linux 下stm32开发环境安装的更多相关文章

  1. Linux下STM32开发环境的搭建

    目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...

  2. linux下c++开发环境安装(eclipse+cdt)

    方法一: 此外,众所周知,Eclipse是Java程序,因此很容易就实现了跨平台,也是众所周知,Java的大型程序非常吃内存,即使有512MB内存, 仍然感觉Eclipse的启动速度很慢.个人认为1G ...

  3. windows下STM32开发环境的搭建

    一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...

  4. deepin linux 下C开发环境配置

    # deepin linux 下C开发环境配置 ## 前言-----------------------------deepin操作系统商店默认提供了 eclipse for c\c++但是系统没有提 ...

  5. Linux 下的各种环境安装

    Linux 下的各种环境安装 1.安装 python Centos7  安装  python 2.7 : https://www.cnblogs.com/Jomini/p/10507077.html ...

  6. Linux下golang开发环境搭建

    对于golang开发来说,Windows下可以用vscode或者liteide都不错,但是Linux下的开发也就只有vim了,所以怎么搞笑的利用vim进行golang开发呢? 参考官方推荐的一个插件: ...

  7. 【Qt开发】Linux下Qt开发环境的安装与集成

    近期工作需要在Linux下用Qt进行C++开发,所以就在linux下尝试装QT开发环境.本人用的linux是CentOS 6.5.现在对安装过程做出总结.有两种安装方式,下面分别详述: 1 图形化安装 ...

  8. Linux下Java开发环境搭建—CentOS下Eclipse的安装教程

    据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...

  9. Linux下vim 开发环境配置及配色(Ruby)

    终端设置 字体:Monospace 10 粗体 内置方案M:黑底白字 内置方案S:Linux控制台 安装vundle git clone https://github.com/VundleVim/Vu ...

随机推荐

  1. Netfilter&iptables:如何理解连接跟踪机制?

    如何理解Netfilter中的连接跟踪机制? 本篇我打算以一个问句开头,因为在知识探索的道路上只有多问然后充分调动起思考的机器才能让自己走得更远.连接跟踪定义很简单:用来记录和跟踪连接的状态. 问:为 ...

  2. poj1925Spiderman(dp)

    链接 确实是破题 按复杂度估计怎么着也不能按坐标D 啊 网上的代码交上去还TLE 无语了  多次TLE之后终于看到一次WA..好高兴 以横坐标进行DP dp[j] = min(dp[j],dp[2*x ...

  3. poj 1062 昂贵的聘礼(最短路 dijk+枚举)

    终于A 了,这题做着真麻烦 题目:http://poj.org/problem?id=1062 dijk 一般用于正权有向图 此题的关键在于等级限制的处理,最好的办法是采用枚举,即假设酋长等级为5,等 ...

  4. [swustoj 1088] 德州扑克

    德州扑克(1088) 问题描述 德州扑克是一款风靡全球的扑克游戏.德州扑克一共有52张牌,没有王牌.每个玩家分两张牌作为“底牌”,五张由荷官陆续朝上发出的作为公共牌.开始的时候,每个玩家会有两张面朝下 ...

  5. apache开源项目--Mahout

    Apache Mahout 是 Apache Software Foundation (ASF) 开发的一个全新的开源项目,其主要目标是创建一些可伸缩的机器学习算法,供开发人员在 Apache 在许可 ...

  6. 【转】忙里偷闲写的小例子---读取android根目录下的文件或文件夹

    原文网址:http://www.cnblogs.com/wenjiang/p/3140055.html 最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还 ...

  7. 【转】蓝牙4.0——Android BLE开发官方文档翻译

    原文网址:http://ricardoli.com/2014/07/31/%E8%93%9D%E7%89%9940%E2%80%94%E2%80%94android-ble%E5%BC%80%E5%8 ...

  8. HTML5桌面通知:notification api

    1. 为什么需要HTML5的桌面通知 传统的桌面通知可以写一个div放到页面右下角自动弹出来,并通过轮询等等其他方式去获取消息并推送给用户.这种方式有个弊端就是:当我在使用京东 进行购物的时候,我是不 ...

  9. Window.Event.KeyCode=13

    Window.Event.KeyCode=13是enter键处发windows事件,enter键的ASCII是13. <input type="password" name= ...

  10. linux下判断网络是否连接

    本文改写自网上的一个程序,原始程序中为阻塞式调用,而且有现成创建的过程,非常不利于集成到自己程序中,因此对原始程序进行改造,使其可以完成发送一个imcp包的方式来判断网络连通,只需要调用改进后的 bo ...