EmBlocks + JLinkSTM32开源开发环境搭建与调试V12Word格式.docx
- 文档编号:20342461
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:13
- 大小:1.09MB
EmBlocks + JLinkSTM32开源开发环境搭建与调试V12Word格式.docx
《EmBlocks + JLinkSTM32开源开发环境搭建与调试V12Word格式.docx》由会员分享,可在线阅读,更多相关《EmBlocks + JLinkSTM32开源开发环境搭建与调试V12Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
前言
此文档本着开源精神,基于LGPL协议发布。
如有修订及重新发布,请标明原始作者、邮箱、原始版本及修订日期。
因网上开源的单片机、微控制器开发平台信息很少,Em:
:
Blocks的信息更少,故发布此文档,以飨读者。
因用ARM公司的KeiluVision开发环境开发单片机、微控制器并发布商业产品涉及版权问题,需要支付不菲的授权使用费,这对中小型公司来说是笔不小的开销。
故寻找KeiluVision的替代方案。
遍试各种开源平台,其中,Em:
Blocks是一款非常好的集成开发环境。
Em:
Blocks基于Code:
Blocks。
Code:
Blocks是一个开源、免费、跨平台、支持插件扩展的C/C++集成开发环境。
Blocks支持多种应用的开发,并且小巧、稳定、可靠、快速,是一款功能非常强大的集成开发环境。
Blocks对Code:
Blocks进行了优化,主要针对单片机、微控制器进行开发。
Blocks小巧,不像KeiluVision那么大,也不像Eclipse那般臃肿。
Blocks安装、配置相对KeiluVision更简单方便,Eclipse的环境配置相对更复杂,更容易出错。
Blocks的代码编辑环境相当智能化,相对KeiluVision好很多,相比Eclipse也毫不逊色。
Blocks内嵌了GNU编译器,代码的编译速度是KeiluVision和Eclipse不能比拟的。
Blocks内嵌对几种JTAG仿真调试器的支持,调试时方便快捷,相比KeiluVision也毫不逊色。
Eclipse的代码提示、配置、编译、调试的体验很差,在此不赘述。
开发环境
系统:
Windows7旗舰版,64_bit。
开发工具:
1、Em:
Blocks,版本:
2.10,32_bit(目前版本2.30,安装与配置没有什么差别);
2、J-Link驱动工具包:
Setup_JLinkARM_V480g.zip。
安装交叉编译工具
1、按照默认步骤安装好J-Link驱动工具包;
2、按照默认步骤安装Em:
注:
Blocks支持J-Link、Generic、ST-link、OpenOCD四种仿真调试工具,用户可以根据自己实际需要选择。
Blocks配置
为了让Em:
Blocks更好的工作,可以做如下配置:
◆编辑器配置:
点击SettingEditor,出现如下的Configureeditor的窗口:
1、在Generalsetting目录下的Editorsetting标签页下,在Font框中,点击Choose可以设置自己想要的字体:
2、在TABoptions框中,可以根据自己公司规范或者自己习惯设置table大小和缩进大小:
3、在Othersettings标签页中,可以设置默认的编码格式,这里作者选择UTF-8并且作为默认的编码格式。
读者可以根据自己实际需要选择编码格式,这里作者推荐选择UTF-8格式:
4、可以显式显示代码中的空格,有的读者,代码书写不规范,造成在代码中插入了编译器不能识别的字符,编译错误,而很难找出这样的错误。
显式显示空格,可以让你及时发现这样的低级错误:
5、在一般的代码规范中,代码宽度要控制在80字符以内,如果超过80个字符,要插入换行符并进行换行,有的代码写得不规范的朋友,很容易忽略掉这个要求。
无论进入什么公司,代码的规范是必须要遵守的。
那么在下图的Hintcolumn文本框中,读者可以把80改为79,并把Rightmargin中的下拉选择框改为Visibleline。
这样就在编辑器中的第80个字符的边界处显式显示一条代码边界的竖线:
上面是编辑器的一些基本配置,其余像代码风格配置、快捷键配置、代码自动补全等,Em:
Blocks已经做得足够智能化,一般不需要读者设置。
读者可以根据自己需要定制。
编译配置
1、打开Em:
Blocks,FilsNewProject,创建新项目,根据需要选择处理器平台,如下图STM32项目:
2、点击GoNext,根据自己需求选择项目管理目录,如下图:
3、点击Next,选择默认配置即可,Em:
Blocks已经内嵌ARMGCCCompiler(EmBlocks-bare-metal)编译器,不需要额外安装编译器,如下图:
4、点击Next,根据自己的项目需要选择ARM核心,这里选择Cortex-M3,如下图:
5、点击Next,根据项目需求选择处理器系列,这里选择STM32F10x,如下图:
6、点击Next,根据项目需求选择处理器,这里选择STM32F103VET6,根据需求填写堆栈大小,具体配置如下图:
7、点击Finish,会弹出如下的窗口:
JTAG仿真调试器默认为ST-link,点击Cancel,在Selectedinterface区域选择J-link,Devicefamily选择STMicroelectronics,如下图:
8、点击Settings,在弹出的窗口中,Device选择根据需要选择,这里选择STM32F103VE,和步骤6中选择的处理器一致,别的配置默认(如果频繁烧写Flash,可以选择ExecutefromRAM,后续可以在DebugInterfaces中修改),如下图:
9、点击OK,然后在TCP/IPconnectionparameters和GDBserver区域会自动填上调用GDBserver的IP地址、端口号、GDBserver安装路径、GDBserver可执行文件名,在程序调试的时候,Em:
Blocks会自动调用J-linkGDBServer,如下图:
10、点击Targetsettings标签页,选中Runtomain(),这样在调试程序的时候,会自动执行启动代码startup_stm32f10x_hd.S(这个启动代码自动添加,根据Flash大小的不同,启动代码也有所不同),执行到main()函数,停下,别的配置默认,如下图:
11、点击OK,可以看到Em:
Blocks左侧自动添加了项目管理树,如下图:
12、在存储项目的目录中,会出现下图的目录结构:
13、把自己项目的.c文件和.h文件分别放入上一步骤中的src目录和inc目录中;
14、点击
或者按F7,编译通过。
至此,编译配置完成。
调试配置
1、点击
或按F8,开始调试。
blocks会自动调用J-linkGDBServer,把程序烧写进Flash并运行;
至此,Em:
Blocks+J-link,STM32开发环境搭建全部完成。
几种编译环境的比较
1、KeiluVision+J-link
KeiluVision是ARM公司提供的主要用于微控制器领域的集成开发环境。
比较稳定可靠,对各种芯片都有比较好的支持。
KeiluVision生成的目标代码效率很高,汇编代码紧凑,容易理解。
缺点是KeiluVision需要不菲的授权费,对中小型公司来说不适合用其开发商业软件;
KeiluVision的项目构建与配置不是很方便;
KeiluVision的代码编辑不是很方便。
2、Eclipse+CDT+YAGARTO+J-link
Eclipse作为开源的开放开发平台,YAGARTO作为开源的GNU开发工具链,结合起来可以提供一个比较好的开源STM32开发环境。
Eclipse的源代码编辑环境非常友好,可以加快源代码的编辑速度。
Eclipse主要用来开发JAVA,可以通过CDT插件支持C/C++的开发,但是Eclipse臃肿、缓慢,对C/C++的开发支持不是很友好,C/C++源代码编辑环境不如JAVA方便。
在Eclipse中安装GNUARMEclipsePlug-in插件、配置编译与调试环境比较繁琐,很容易出错,在调试的时候,要先打开J-linkGDBServer,再到调试界面进行调试,调试时CPU不能Reset,每次调试都要重新烧写Flash,费时,同时频繁烧写Flash也减短Flash寿命。
3、Em:
Blocks+J-link
Blocks集成开发环境基于Code:
Blocks集成开发环境。
Blocks继承了Code:
Blocks的优点,只针对嵌入式平台做开发,并针对嵌入式开发环境做了优化。
Blocks内嵌了GNUARM编译器,同时内嵌对J-link等JTAG仿真调试器的支持。
在安装Em:
Blocks时不需要对GNUARM和J-link做太多配置。
编译代码非常快速。
代码编辑、代码提示相对KeiluVision做得很出色,相比Eclipse也毫不逊色。
创建工程非常方便,Em:
Blocks根据创建工程时选择的处理器自动添加固件库代码,只要添加上自己的项目代码就可以。
在调试时,Em:
Blocks会自动调用J-linkGDBServer,也可以ResetCPU,也可以在RAM中执行程序从而减少烧写Flash。
Blocks相对KeiluVision开源、免费,同时工程管理方便,代码编辑、提示都很优秀;
Blocks相对Eclipse小巧、快速,内嵌对GNU和J-link的支持,配置非常方便,调试自动调用J-link,可以ResetCPU,大大简化在Eclipse下的操作。
Blocks是一款非常强大、对嵌入式开发支持非常友好的集成开发环境。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EmBlocks JLinkSTM32开源开发环境搭建与调试V12 JLinkSTM32 开发 环境 搭建 调试 V12