eclipseARMGNUSTM32F103jlinkcyminfreeRtos开发环境搭建.docx

上传人:b****7 文档编号:9560684 上传时间:2023-02-05 格式:DOCX 页数:18 大小:553.95KB
下载 相关 举报
eclipseARMGNUSTM32F103jlinkcyminfreeRtos开发环境搭建.docx_第1页
第1页 / 共18页
eclipseARMGNUSTM32F103jlinkcyminfreeRtos开发环境搭建.docx_第2页
第2页 / 共18页
eclipseARMGNUSTM32F103jlinkcyminfreeRtos开发环境搭建.docx_第3页
第3页 / 共18页
eclipseARMGNUSTM32F103jlinkcyminfreeRtos开发环境搭建.docx_第4页
第4页 / 共18页
eclipseARMGNUSTM32F103jlinkcyminfreeRtos开发环境搭建.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

eclipseARMGNUSTM32F103jlinkcyminfreeRtos开发环境搭建.docx

《eclipseARMGNUSTM32F103jlinkcyminfreeRtos开发环境搭建.docx》由会员分享,可在线阅读,更多相关《eclipseARMGNUSTM32F103jlinkcyminfreeRtos开发环境搭建.docx(18页珍藏版)》请在冰豆网上搜索。

eclipseARMGNUSTM32F103jlinkcyminfreeRtos开发环境搭建.docx

eclipseARMGNUSTM32F103jlinkcyminfreeRtos开发环境搭建

虽然基于eclipse的MD-5能配合MDK的插件可以很好的、愉快的开发类似于STM32之类的ARM芯片,但是这个东西是要收费的,用起来不怎么好用,当然也可以使用coocox进行开发,如果不想太折腾,可以用这个平台

需要准备的硬件有

1、STM32F103RB开发板一块

2、Jlink【建议选择OB版本,淘宝有很多】

3、其他配件,如USB串口、电源等

需要准备的软件【推荐用比较新的版本】有很多。

分别是

1、jdk[根据自己带你电脑选择32或者64位]

2、eclipse[C++版本、根据自己带你电脑选择32或者64位]

3、GNUToolsARMEmbedded【选择安装版本的】

4、Cygwin【建议安装离线版本】

5、JLinkARM【4.4版本,建议尝试高版本】

安装完后打开eclipse,进行安装插件

此插件需要现在网上http:

//gnuarmeclipse.github.io/下载下来,之后解压,然后安装【具体安装步骤,自行XX,提示,可能安装比较慢,请耐心等待】

安装完成后,eclipse应该可以进行正常的编译开发等工作了,所有配件的路径应该已经完成,如果没有,自行添加环境变量

如图,新建一个工程,注意我选用的芯片是STM32F103RB,里面的配置请自行变通,正常情况下,选中新建的工程后,点击小锤子图标就可以正常编译了,可以看到,在debug目录下生成了hex文件

下面说一下怎么生成bin,右键工程总目录文件夹的图标,按图选择

这样配置后,重新编译,会生成相应的bin,用stlink或者jlink直接下载到芯片中,如果程序正常,可以发现工作已经正常

接下来说如何在eclipse中使用快捷下载,首先点击图标

,打开

双击

就可以新建下载方案了,直接仿照图中的内容就可以了,这里面的jlinkflash.txt里面的内容【根据实际情况可以改动】是

h

execdevice=stm32f103rb

loadbinDebug/test.bin0x8000000

r

g

qc

把这个文件放在工程主目录下面,如下图

配置好后就能使用sw方式进行直接下载,下载完毕后,芯片马上开始运行,这里不说调试了,本人感觉在具体的开发工作中基本用不到调试,需要的朋友可以自行XX,网上有模糊的教程,需要一定的领悟能力

在开发过程中,需要使用较多的printf函数,但是感觉armgnu对这个支持的没有MDK好,下面我说一下我配置printf的方法,首先打开编译器自带的stdio.h把原来的printf函数声明注释掉,并重新声明,如图

接下来用usart实现printf,如图【除了STM32相关的头文件外,需要包含stdio.h和stdarg.h】

之后就能愉快的使用printf函数了,注意必须先进行串口初始化的处理工作

这里有一点需要提醒一下,eclipse是以具体文件夹下里面的文件进行组织工程的,这一点和MDK是不一样的,如果在文件夹下面,不想进行编译的文件可以通过一个操作去过滤,具体操作是右键点中目标文件或文件夹,如图

应用后,再次编译,编译器会跳过该文件或文件夹,反之亦然【提醒一下,自动生成的DEMO工程默认是屏蔽一部分STM32的一些标准驱动文件的,可以使用该方法进行打开】

完成到这里,就可以愉快的开发了,如果想往里面添加相应的文件,分别放到src和include中,如果额外的包含头文件或者其他库之类的,需要打开这个界面【如图】,进行配置,里面其他的参数,请自行领悟

此时,已经可以自行添加源文件,更好的进行开发了,实际已经可以满足现实的开发任务了,这里提醒一下,网上很多例程是基于MDK和IAR的。

需要修改相关的内容,特别是汇编部分

当系统复杂到一定程度,使用传统的轮循就会感觉到压力越来越越大,当然结合定时器,有一定经验的人依然能够完成高质量的程序,不过如果是联合开发,就会很难,且换其他人进行维护,也会困难,使用操作系统是一个很好的解决方法

最后说一下FREERTOS,是一个完全免费的,感觉比ucos有前途,现在很多蓝牙、wifi相关的芯片都开始支持这个,此时在嵌入式领域,风头正健

首先下载官方提供的9.0版本的FREERTOS,可以看到里面已经有了STM32相关的MDK版本的例子了,有兴趣的可以测试一下

但是GNU版本的并不适合该教程,是针对一个收费的工具,下面就开始讲解具体的操作,

首先需要的文件是,如图

port.c和portmacro.h的参考源位置,其他的文件的位置请自行领悟

修改port.c注释掉,如图三个函数声明,并引用port.h

新建port.h,内容为

下面修改vectors_stm32f10x.c,如图

首先添加引用

然后修改里面的三个参数,如图

修改FreeRTOSConfig.h,如图

这样的话,应该就能编译通过了,如果不行,自行补全相关的内容【一般是找不到头文件什么的】

之后修改mian函数,创建两个任务,主要利用printf函数输出内容,可以参考,如图

此时,可以通过串口调试工具,和具体的LED,已经正常工作,如图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1