本帖最后由 wolfgang2015 于 2017-6-17 10:51 编辑 一、寻觅一个比较方便的开发环境 用Keil MDK的编辑器虽然调试、下载程序非常方便,但是Keil MDK编辑器万年不变的风格,对于代码的寻找、读取、关联查询非常不方便。能不能用一个比较方便的编辑器来读取、编写、读取、查询STM32的项目文件呢?答案是有的,Eclipse。; _5 V, u7 Z7 U$ ` 你会说Eclipse?这行吗?在网上搜索一下,有很多Eclipse搭建环境的文章,都很繁琐不系统,建立的代码要么很老不支持最新的芯片和主板,要么搭建起来系统内的关联性阅读十分不方便。 6 C7 v( Z" ^& i# J" G$ t 二、Eclipse下使用CubeMX插件 stmcu.org网站提供了一个Eclipse插件: 在网站中搜索STSW-STM32095 ,能搜索到一个文档,文档说明: 用于STM32配置和产生初始化C代码的PC端工具STM32CubeMX在eclipse中的插件。 这个可以让Eclipse使用CubeMX的插件,版本4.11.0(https://www.stmcu.org.cn/document/detail/index/id-214172),这里提供三个部分文件(stsw-stm32095.part1、stsw-stm32095.part2、stsw-stm32095.part3) 组成的压缩包,下载下来后解压出来是一个目录,但这个目录在Eclipse中并不能识别和安装。我们还是去官网(http://www.st.com/)看看,是否有更新的插件包。 在www.st.com网站中,我们能找到个叫UM1718 的文档(链接:http://www.st.com/web/cn/catalog ... -long-promo_feb2014) 这里可以找到这样的一段文字:
8 |1 _ M# x' ? 哈哈,有下载,而且是支持最新CubeMX的版本 STSW-STM32095(4.12.0) 7 u% [& q- b: F6 Z 从UM1718文档中可以知道,这个插件需要的环境是: Java JDK 1.7_45以上 Eclipse版本 : Eclipse Juno(4.2) Eclipse Kepler(4.3) Eclipse Luna(4.4) 在安装好JDK、Eclipse之后,进入Eclipse 安装STSW-STM32095.zip 选择Help-->Install NewSoftWare -->点击“ADD...”按钮--〉输入Name后(这里输入CubeMX),点击"Archive..."按钮----〉选择下载的"STSW-STM32095.zip"文件所在位置。 选择插件后点击下一步直至结束。重起Eclipse,就能看见下面的内容: 这是我们可以在Eclipse环境中调出 STM32CubeMX了,这是不是很方便呢? 可以随时呼唤出CubeMX编辑修改我们的环境,并生成代码。 仅有CubeMX插件还是不够,这还是离不开Keil等编译环境,有没有什么插件可以直接编译STM32项目呢?网站http://www.openstm32.org/ 为我们提供了这样便利的插件OpenSTM32,这个Eclipse插件支持基于最新版本STM32HAL固件下的程序开发,并使用ST-LINKV2-1 通过SWD接口进行程序调试。打开网站映入眼帘的是蝴蝶标记:我是蝴蝶粉!- y" D) z k" w4 s 这里可以选择注册,然后通过里边的下载链接进行下载,这里我跳过注册流程,直接打开Eclipse,在Eclipse "Help>> Install New Software"; 打开 "Available Software" 窗口% @' ]0 b/ G2 N9 S- p 需要新建插件,名字随便取(可以取为AC6-Tools),输入插件的地址:; G6 Y4 F$ O ^* I D+ N0 ~ http://www.ac6-tools.com/Eclipse-updates/org.openstm32.system-workbench.site( ~( y1 a' A0 @3 V; p! u 然后就是下一步,选择好安装的插件后,直到完成,重起Eclipse。- V6 q; p" N$ g/ g. ^* r8 u. v& m _ 这里我们在File--〉New--〉新建一个C项目:8 G: B& G& _: Y6 a 输入一个工程名称:Hello_LED_F410RB4 U- Q# H8 v; h! W8 W) n 选择Project Type:Executable-->Empty Project; Toolchains:Ac6 Stm32 MCU GCC,然后下一步。 + J/ M7 g' `. t8 _7 [& c 默认配置并下一步:6 ?9 Y* \5 O6 ~4 j 从下拉菜单中可以看见该插件支持最新的STM32L4系列: : `/ J1 R, C; O# W- u7 }7 X! l' } 若选择STMF4,这里的板子显示中,还有这次最新活动支持的板卡F410RB。7 ]1 t# w# b* _" S X* X 选择板卡后,这里可以显示板卡的基本配置信息,我们点击下一步;虽然是L476RG的实验文档,为应景特意选择STM32F410RB。 这里有这个插件强大的地方显示出来了,可以选择STD Periph或者最新的Cube HAL固件。 若本机没有对应的固件,可以点击下载目标固件进行下载,也可以从CubeMX中下载的最新固件压缩包目录中拷贝文件(例如:stm32cube_fw_f4_v1100.zip),拷贝到下列目录: Win7系统所在的目录位置: “C:\Users\{你自己的姓名}\AppData\Roaming\Ac6\SW4STM32\firmwares” XP系统所在的目录位置: “C:\ Documents andSettings\{用户名字}\ program data\Ac6\SW4STM32\firmwares” 当我们准备好固件后,点击Finish。相关的项目代码就生成好了。 F' h9 ?3 L* d3 U$ L/ P' U' ^: l9 J- r. E 这里补充说明一点,在生成代码最后一步时,选择“As Static External Libraries”,这样可以将我们的应用程序和底层应用各自独立,方便代码的移植。说到这里,我们回到LED闪闪亮的主题,可以将前面LED的项目添加在刚生成的Eclipse项目中,也可以利用STM32F4xx-Nucleo中的内容实现LED闪亮功能。9 k9 w" {3 T8 e( K m . T9 M( o/ H8 W, |% t! |1 Z 四、LED闪闪亮4 M2 _3 H% j- d/ A 在生成的Main.C文件中,找到循环体For(;;); 略微改造一下:" Q- v" E6 _' a! J. ]0 E2 w BSP_LED_Init(LED2); for(;;){ BSP_LED_Toggle(LED2);, [1 b- B8 {7 i' N } 这样,就能让板上的LED2灯闪闪亮起来了。 1、选择 Project菜单----〉Build All;实现对代码的编译; 2、选择Hello_LED_F410RB项目,在右键探出菜单中选择DebugConfigurations,在探出框中选择如下图:# ?/ d" n3 T/ z3 Z4 A/ S. |5 b 1 a% L, E% c6 X {, r2 Q- r 这样,就能在STM32 Nucleo板中运行及调试我们所写的代码了。4 q! e' s8 r# ~$ e% z5 C 1 n( [) v* n' |6 |; ^ 有了这两个插件,我们可以告别Keil 环境了。 另外,默默的祈祷,能获得这次活动的开发板NucleoF410RB。 |
寒一个,才注册2个月就是老粉了啊?
老粉嘛,也能为新粉一点启示嘛~~~
可以选择一款软件吧 HTTP目录中的文件拉下来,再装。
的确,就是因为这个插件方便所以选择这种方式搭建比较容易上手。