第九篇?搭建eclipse的开发环境并完成led测试
时间:10-02
整理:3721RD
点击:
一直想搭建比较流行的免费的开发环境,在了解eclipse很流行之后,观望了很久,于昨天晚上开始搭建环境,中间走了很多坑,功夫不负有心份,环境终于还是搭建好了,特此记录下来避免后来人再踩坑.搭建eclipse环境最好的手册就是官方指导网站,
http://gnuarmeclipse.github.io/
接下来讲述我的安装过程.首先,我列举一个提纲,搭建给予eclipse的开发环境需要安装的软件包:
然后我就截图记录一些安装的细节:
安装编译工具make\echo等小工具包
安装CDT,选择SDK。
安装GNU ARM plug-ins for Eclipse
可以选择配置如下(默认的就好):
就简单的截图几张记录下吧,都是基本的安装软件,难度应该不大.
重要的是在创建工程之后,我们需要作一些函数上的修改.
首先创建一个基于stm32f7x系列的空工程
然后,选择
或者
好像都可以。但是我尝试选择
编译的程序无法运行。
然后就一直到finish了。
然后我们需要修改一个RCC模块的函数,否则系统无法启动。
主要原因是新创建的空函数模板中
文件stm32f7xx_hal_rcc_ex.c
函数HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)不能很好的试配stm32f767igt,修改如下内容
#if defined (STM32F765xx) || defined(STM32F769xx) || defined(STM32F777xx) || defined(STM32F779xx)
将该函数注释掉,因为我们定义了宏STM32F767xx,将其从上述预处理语句中去掉就可以了,
接着为了使systick正常工作,我们需要修改
_initialize_hardware.c文件中的函数
关键的main代码为
后续有空,我会看看在eclipse下关于在线调试硬件部分了。
可以链接,所以这部分的通信就完成了。
2.arm-none-eabi-gdb和openOCD通信.这个部分主要借助的是eclipse这个IDE
具体配置如下:
这样就可以debug了
放上一张,我debug的截图
http://gnuarmeclipse.github.io/
接下来讲述我的安装过程.首先,我列举一个提纲,搭建给予eclipse的开发环境需要安装的软件包:
然后我就截图记录一些安装的细节:
安装编译工具make\echo等小工具包
安装CDT,选择SDK。
安装GNU ARM plug-ins for Eclipse
可以选择配置如下(默认的就好):
就简单的截图几张记录下吧,都是基本的安装软件,难度应该不大.
重要的是在创建工程之后,我们需要作一些函数上的修改.
首先创建一个基于stm32f7x系列的空工程
然后,选择
或者
好像都可以。但是我尝试选择
编译的程序无法运行。
然后就一直到finish了。
然后我们需要修改一个RCC模块的函数,否则系统无法启动。
主要原因是新创建的空函数模板中
文件stm32f7xx_hal_rcc_ex.c
函数HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)不能很好的试配stm32f767igt,修改如下内容
#if defined (STM32F765xx) || defined(STM32F769xx) || defined(STM32F777xx) || defined(STM32F779xx)
将该函数注释掉,因为我们定义了宏STM32F767xx,将其从上述预处理语句中去掉就可以了,
接着为了使systick正常工作,我们需要修改
_initialize_hardware.c文件中的函数
- // Disable when using RTOSes, since they have their own handler.
- #if 1
- // This is a sample SysTick handler, use it if you need HAL timings.
- void __attribute__ ((section(".after_vectors")))
- SysTick_Handler(void)
- {
- #if defined(USE_HAL_DRIVER)
- HAL_IncTick();
- #endif
- }
- #endif
关键的main代码为
- #include "stm32f7xx_hal.h"
后续有空,我会看看在eclipse下关于在线调试硬件部分了。
关于eclipse下的调试,我也调试通了,主要参考了如下两个链接:
windows下的基于Eclipse的STM32开发调试环境搭建
The OpenOCD debugging Eclipse plug-in
把他们理解之后,我就稍作修改就可以了.
由于我用的是stlink,所以用到了openOCD.
我理解的主要可以分为两部分:
1.openOCD和开发板通信,着部分主要借助的是openOCD这个软件,执行不同的脚本就可以连接不同的开发板了.
而本次是在stlink下连接stm32f767开发板,所以对应脚本文件有两个,一个是接口文件(stlink)
openOCD安装目录下的文件
scripts\interface\stlink-v2.cfg
另一个是设备文件(f7系列)
scripts\target\stm32f7x.cfg
首先运行测试下看是否可以连接上开发板:
可以链接,所以这部分的通信就完成了。
2.arm-none-eabi-gdb和openOCD通信.这个部分主要借助的是eclipse这个IDE
具体配置如下:
这样就可以debug了
放上一张,我debug的截图