微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 第九篇?搭建eclipse的开发环境并完成led测试

第九篇?搭建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文件中的函数

  1. // Disable when using RTOSes, since they have their own handler.
  2. #if 1

  3. // This is a sample SysTick handler, use it if you need HAL timings.
  4. void __attribute__ ((section(".after_vectors")))
  5. SysTick_Handler(void)
  6.   {
  7. #if defined(USE_HAL_DRIVER)
  8.     HAL_IncTick();
  9. #endif
  10.   }

  11. #endif

复制代码

将原本的if 0改为if 1。这样就可以测试led灯闪烁程序了。
关键的main代码为

  1. #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的截图


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top