ubuntu下安装stm32开发环境

本文详细介绍在Linux环境下配置STM32开发环境的过程,包括安装arm-none-eabi-gcc、JLink驱动、eclipse及STM32插件等。通过简易步骤实现工程创建、编译及调试。

在windowns下开发stm32刚开始学最烦的就是创建工程模板,都不知道为什么要那样设置,而且步骤繁多。现在我告诉大家一个好消息,在linux下配置stm32开发环境包括创建工程,使用JLink仿真简单到我都不知道怎么写教程了,什么固件库,OPENOCD,都成了浮云。
        先上我自己整理软件,包括eclipse, arm-none-eabi-gcc, stm32 m3 3.5固件库(备用),stm32 for eclipse插件, JLink 4.78驱动,JLink固件(在 JLink 4.78驱动下不丢固件,但要下进去以后在windowns下面升个级),还有stlink驱动,以及串口下载软件都是linux下的,足够让玩stm32的linux用户爽一阵了。
        下载地址   http://pan.baidu.com/s/1c0GJiLE
        
        1.安装arm-none-eabi-gcc:
        直接解压复制到自己的安装目录下。我是在用户目录下建了一个software文件夹,直接放到里面就可以了。
        设置好路径:Ctrl+Alt+T
        键入命令 sudo gedit ~/.profile 
        在password:输入自己的密码,不显示。
        在打开的文件最后面添加自己的路径。我的是/home/godsend/software/arm-none-eabi-gcc/bin所以我自己的路径就是

        export PATH=$PATH:"/opt/microchip/xc8/v1.21/bin:/home/godsend/software/arm-none-eabi-gcc/bin:/home/godsend/software/opt/FriendlyARM/toolschain/4.4.3/bin:/home/godsend/software/jdk1.7.0/bin:/home/godsend/software/stlink-master:/home/godsend/software/stm32flash"

        由于我的软件比较多就是这样,在这要注意一下,不同路径之间用冒号隔开。完了以后重启一下系统,使刚才设置的路径生效。
        打开终端,运行arm-none-eabi-gcc -v  
        如果出现下面的内容就说明arm-none-eabi-gcc已经安装成功。
GNU gdb (GNU Tools for ARM Embedded Processors) 7.4.1.20121207-cvs
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-linux-gnu --target=arm-none-eabi".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
godsend@godsend-Vostro-1088:~$ arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/home/godsend/software/arm-none-eabi-gcc/bin/../lib/gcc/arm-none-eabi/4.7.3/lto-wrapper
Target: arm-none-eabi
Configured with: /home/build/work/GCC-4-7-build/src/gcc/configure --target=arm-none-eabi --prefix=/home/build/work/GCC-4-7-build/install-native --libexecdir=/home/build/work/GCC-4-7-build/install-native/lib --infodir=/home/build/work/GCC-4-7-build/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/home/build/work/GCC-4-7-build/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/home/build/work/GCC-4-7-build/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/home/build/work/GCC-4-7-build/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-lto --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/home/build/work/GCC-4-7-build/install-native/arm-none-eabi --build=i686-linux-gnu --host=i686-linux-gnu --with-gmp=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-mpfr=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-mpc=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-ppl=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-cloog=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-libelf=/home/build/work/GCC-4-7-build/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for ARM Embedded Processors' --with-multilib-list=armv6-m,armv7-m,armv7e-m,armv7-r
Thread model: single
gcc version 4.7.3 20121207 (release) [ARM/embedded-4_7-branch revision 194305] (GNU Tools for ARM Embedded Processors)

2.安装JLink驱动

首先在ubuntu软件中心安装gdebi,右击JLink.deb选择open with的GDebPackage installer来安装(32位系统就选i386,64位系统就选x86_64)。

3.安装eclipse

直接解压,复制到自己的安装目录,我的是/home/godsend/software,进入eclipse目录双击eclipse打开,单击菜单栏Help下的Install New Software.

打开Install窗口,点击Add,在Name处填STM32(可以随意),在Location右边点击Archive,选择刚下载好的ilg.gnuarmeclipse.repository-1.8.1-201401111229.zip,点击OK

勾选刚才添加的插件。 

一路Next+Agree+Ok,完成后eclipse会重启。

到这里安装已经完成了。

下面我们来点亮地一个发光二极管。

创建工程

点击菜单栏File下的New,C Project.在Priject Name里填入工程名,m3,其他如图,是不是简单多了。

Next

我的芯片的STM32F103VE,所以选择STM32f10x Hight Density ,Flash是512K,RAM是64K,自己根据自己的芯片选择填。然后就是3个Next+1个Finish.

工程创建完了以后会发现有很多错误,怎么办呢?其实不用管,过个几秒钟自己就没有了。

 工程已经建立完成。现在编译就能通过,根本不用配置。不信我们可以查看工程文件夹和工程属性。
芯片选择OK!
库链接OK!

宏定义OK!

脚本链接OK!

编译没有报错,已经产生m3.hex文件。
不过在这需要设置一下。让它产生.bin文件,原因是下载软件好像都只支持二进制文件,

在编译一下。产生了m3.bin文件

仿真。。。。。
菜单栏run下的Debug Configuration,在打开的窗口双击GDB SEGGER J-Link Debugging.


好像也配置好了。需要自己设置的可以自己设置一下,我的板子是SWD接口,在终端打开JLinkGDBServer找不到芯片,不知道什么原因,用别人的JTAG接口应该能够直接点击Debug运行了。
我只好借助JLink的命令下载了。
打开终端,命令JlinkExe
然后在输入
h           
speed 4000
exec device = STM32F103VE
loadbin m3.bin 0x8000000
r
g
这时就能看到板子上pinc12脚的LED在闪烁了。

解释一下命令:
h                                                               //暂停运行           
speed 4000                                          //设置下载速度
exec device = STM32F103VE         //芯片型号
loadbin m3.bin 0x8000000               //下载命令 stm32的flash下载地址是0x8000000,
r                                                              //复位
g                                                            //运行

stlink:stlink-master
              安装:直接解压复制到安装目录下,设置环境变量。参考arm-none-eabi-gcc的设置过程。
             下载命令:st-flash write m3.bin 0x8000000
              仿真用st-util,有兴趣可以自己配置一下,这里就不多说了。
串口下载:stm32flash
            解压进入目录make一下,产生可执行文件,全部复制到安装目录下,设置环境变量。参考arm-none-eabi-gcc的设置过程。有兴趣的可以自己baidu or google。

ubuntu下的51开发环境:sdcc+8052ide +avrdude/gSTC-ISP/kSTC89-ISP/kSTC12-ISP,avrdude稍微配置一下就可以用USBasp下载At89s52,其他可以下载STC的89和12系列的最好配个自动下载器就更好了。整理好的下载地址,比较容易。
http://pan.baidu.com/s/1eQDrt2U

ubuntu下的AVR开发环境:avr-gcc+avrdude+kontrollerlab(IDE),支持很多下载工具。avr-gcc直接在ubunru的软件中心找,安装kontrollerlab(IDE)时可能会需要一些依赖包,我都整理在一起了,需要什么装什么就可以,也比较简单,
http://pan.baidu.com/s/1o6scryU

ubuntu下的pic开发环境:就两个文件,很简单。用bash安装。
http://pan.baidu.com/s/1i3JqN4p

FPGA开发环境软件4G多无法上传,可以到Altera官网下载free版。我的是12.0sp1的,安装类似与PIC但需要配置一下,也比较简单,自己可以baidu or google一下。

Arduino在ubuntu的软件中心就可以找到,要选择最新版,旧版本有点小BUG。

转载于:https://www.cnblogs.com/lixuejian/p/10706199.html

### 如何在 Ubuntu 系统中搭建 STM32 开发环境 #### 工具链安装 为了能够在 Ubuntu 上开发 STM32 微控制器程序,需要先安装必要的工具链。这些工具通常包括编译器 `arm-none-eabi-gcc` 和调试工具 OpenOCD。 1. **更新包管理器并添加源** 首先确保系统的软件包是最新的,并通过国内镜像加速下载速度。 ```bash sudo apt update && sudo apt upgrade -y ``` 2. **安装 GCC 编译器** 使用以下命令安装 ARM GNU Toolchain: ```bash sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi -y ``` 这一步会安装用于交叉编译的工具链[^1]。 3. **安装 GDB 调试器** 安装支持远程目标调试的 GDB 版本: ```bash sudo apt install gdb-multiarch -y ``` 4. **安装 OpenOCD** OpenOCD 是一个开源硬件调试工具,可以用来烧录代码到 STM32 并进行在线调试。 ```bash sudo apt install openocd -y ``` 如果默认仓库中的 OpenOCD 不够新,可以通过构建最新版来替代现有版本。 5. **安装 ST-Link 工具** 对于 STM32 的调试和编程,推荐使用官方驱动程序 stlink。 ```bash sudo add-apt-repository ppa:stlink-org/stlink-v1 sudo apt update sudo apt install stlink-tools -y ``` #### IDE 安装与配置 对于集成开发环境 (IDE),可以选择 VSCode 或 Arduino IDE 来完成开发工作流。 1. **VS Code 安装** Visual Studio Code 提供轻量级编辑体验以及强大的插件生态系统。 ```bash wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" sudo apt update sudo apt install code -y ``` 推荐安装 C/C++ 插件扩展以便更好地支持语法高亮、智能感知等功能。 2. **Arduino IDE 支持 STM32** 若希望简化流程,则可以直接利用 Arduino IDE 实现快速原型设计。 下载 Linux 版本后解压运行即可: ```bash cd ~/Downloads/ wget https://downloads.arduino.cc/arduino-latest-linux64.tar.xz tar xf arduino*.tar.xz ./arduino* ``` 同时记得按照文档指引增加对 STM32 核心的支持[^2]。 3. **CubeMX 设置** STM32CubeMX 可帮助生成初始化代码框架,减少手动编写寄存器操作的时间成本。 借助 Wine 模拟层加载 Windows 应用程序实例化该图形界面应用: ```bash sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install wine-stable winbind lib32ncurses5:i386 lib32stdc++6:i386 zlib1g:i386 -y ``` #### 测试验证 最后确认整个链条正常运作无误的方法如下: - 创建简单的 Blink LED 示例工程; - 将其上传至实际硬件设备观察效果是否一致; - 利用断点功能逐步跟踪执行路径以熟悉调试技巧。 ```python def blink_led(): import time while True: print("LED ON") time.sleep(0.5) print("LED OFF") time.sleep(0.5) blink_led() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值