环境搭建篇
相信很多同学在学习stm32,环境搭建很麻烦,这里总结一下,希望可以方便小伙伴们。
stm32的开发环境有很多种,其中最强大、最方便的就是SDK和IAR,但是这两个软件收费,所以向企业只能寻找免费开发工具,免费方案包括:eclipse、vim,其中eclipse是ide比较好用,纯vim编辑+makefile更原始化,如果vim用的很6,可以考虑vim。
编辑器使用eclipse,ST公司官网有一款类似的软件trueSTUDIO,2017年以前也是收费的,但是现在免费了,这款软件其实就是eclipse,只不过再次基础上配置了交叉编译工具链等插件,可以直接使用,无需配置。
仿真器使用openocd+openjtag/jlink,市面上有很多支持stm32的仿真器,其实仿真器很贵的,正版的 仿真器可能要七八百,但是自从jlink被破解后,淘宝上就出现了白菜价的jlink(50RMB),我这里openjtag和jlink都有,下面会介绍如何使用,方法一样,就是是改个参数而已。
1首先插上openjtag,记下ID 1457:5118
user@ubuntu:~/$ lsusb
Bus 002 Device 005: ID 093a:2521 Pixart Imaging, Inc.
Bus 002 Device 003: ID 1457:5118 First International Computer, Inc. OpenMoko Neo1973 Debug board (V2+)
2 sudo gedit /etc/udev/rules.d/45-ftdi2232-libftdi.rules 添加驱动规则,加入下面内容
SYSFS{idProduct}=="5118", SYSFS{idVendor}=="1457", MODE="666", GROUP="plugdev"
3.重启服务
sudo /etc/init.d/udev restart
重新插拔openjtag
1.SEGGER官网下载最新jlink驱动,网址 https://www.segger.com/downloads/jlink
2.下载完成后,找到下载好的文件,双击JLink_Linux_V614b_i386.deb,会自动在ubuntu software center安装,比压缩文件安装方便多啦。
3.找到路径 /opt/SEGGER/JLink/ ;执行JLinkExe,能进入则成功
4.顺便可以查看下jlink支持那些设备
https://www.segger.com/downloads/supported-devices.php
两种安装方式,任选其一。
apt安装方式:
apt install openocd
源码安装:
下载源码https://sourceforge.net/projects/openocd/
解压、执行
root@zjy-PC:/workSpace/software/f4# tar xvf openocd-0.10.0.tar.bz2 ^C
root@zjy-PC:/workSpace/software/f4# cd openocd-0.10.0
root@zjy-PC:/workSpace/software/f4/openocd-0.10.0# ./configure ^C
root@zjy-PC:/workSpace/software/f4/openocd-0.10.0# make^C
root@zjy-PC:/workSpace/software/f4/openocd-0.10.0# make install
如果使用的是jlink
则执行
openocd -f /usr/share/openocd/scripts/interface/jlink.cfg -f /usr/share/openocd/scripts/target/stm32f4x.cfg
如果使用的openJTAG,则执行
gedit /usr/share/openocd/scripts/interface/openjtag.cfg
1 #
2 # OpenJTAG
3 #
4 # www.openjtag.org
5 #
6
7 #interface openjtag
8 #openjtag_device_desc "Open JTAG Project"
9
10 interface ftdi
11 ftdi_device_desc "USB<=>JTAG&RS232"
12 ftdi_vid_pid 0x1457 0x5118
13 ftdi_layout_init 0x0c08 0x0f1b
14 ftdi_layout_signal nTRST -data 0x0100 -noe 0x0400
15 ftdi_layout_signal nSRST -data 0x0200 -noe 0x0800
16
17 #interface ft2232
18 #ft2232_device_desc "USB<=>JTAG&RS232"
19 #ft2232_layout jtagkey
20 #ft2232_vid_pid 0x1457 0x5118
执行:
openocd -f /usr/share/openocd/scripts/interface/openjtag.cfg -f /usr/share/openocd/scripts/target/stm32f4x.cfg
至此openocd和jlink/openjtag安装完毕
这个直接去官网下载,双击即可,傻瓜式安装,网址:
https://atollic.com/truestudio/
结合cubeMX软件生成初始化代码:
https://www.stmcu.com.cn/Designresource/design_resource_detail?file_name=STM32CubeMX_STM32%E5%88%9D%E5%A7%8B%E5%8C%96%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90%E5%99%A8&lang=EN&ver=4.25.0
配置truyeSTUDIO:
使用trueSTUDIO打开cubemx生成的工程,工程上右键并选择:Debug As -> Debug Configuration -> Embedded C/C++ Application
右侧选择Debug,右下方选择openocd,并设置参数即可
http://blog.csdn.net/LIU_YANZHAO/article/details/72736595
——————————————————————————————————
下面内容为个人备份,无需查看
——————————————————————————————————
安装jlink:
http://blog.csdn.net/justloong/article/details/73467875
jlink支持的设备
安装openocd:
http://blog.csdn.net/tugouxp/article/details/54799924
使用方法:
https://www.cnblogs.com/51mcu/p/3404165.html
https://sourceforge.net/projects/openocd/?source=typ_redirect
使用方法:
终端1:openocd -f /usr/share/openocd/scripts/interface/jlink.cfg -f /usr/share/openocd/scripts/target/stm32f4x.cfg
终端2:telnet localhost 4444
halt
flash write_image erase $(dir)/(project name).hex
reset
Open On-Chip Debugger 0.10.0
openocd -f /usr/share/openocd/scripts/interface/openjtag.cfg -f /usr/share/openocd/scripts/target/stm32f4x.cfg
https://www.linuxidc.com/Linux/2015-08/121321.htm
=======================================================================================================================
安装 gcc-arm-none-eabi-xxx :
安装eclipse:
http://opensource.zylin.com/embeddedcdt.html
http://download.eclipse.org/eclipse/downloads/drops4/R-4.4.2-201502041700/
http://blog.csdn.net/typa01_kk/article/details/49252513
=======================================================================================================================
安装cube
安装emm
http://blog.csdn.net/LIU_YANZHAO/article/details/72736595