您好,欢迎访问三七文档
Eclipse+CDT+YAGARTO+J-Link,STM32开源开发环境搭建与调试作者:Chongqing邮箱:ycq.no1@163.com文档版本:V1.0发布日期:2014-08-04前言此文档本着开源精神,基于LGPL协议发布。如有修订及重新发布,请标明原始作者、邮箱、原始版本及修订日期。因网上开源的单片机、微控制器开发平台信息很少,故发布此文档,以飨读者。因用ARM公司的KeiluVision开发环境开发单片机、微控制器并发布商业产品涉及版权问题,需要支付不菲的授权使用费,这对中小型公司来说是笔不小的开销。故寻找KeiluVision的替代方案。因Eclipse是一个开源的开发平台,并且支持各种插件的开发,因此可以以Eclipse+CDT+YAGARTO+J-Link的方式搭建开源开发平台。Eclipse是一个开源、免费、跨平台、支持插件扩展的Java、C/C++等集成开发环境。Eclipse通过CDT可以比较好的支持C/C++的开发,读者可以到Eclipse官网直接下载CDT版本的Eclipse。在Eclipse中添加GNUARMEclipse插件,与YAGARTOGNUARMToolchain和J-link仿真调试器结合,就可以比较好地支持STM32的开发与调试。但是Eclipse有其缺点。Eclipse做Java开发比较方便,代码编辑与提示、代码编译都很方便,但是针对C/C++的代码提示不方便。Eclipse臃肿,代码编译速度慢。Eclipse的GNUARM环境配置复杂,调试不便。在这里,本人还是推荐使用Em::Blocks。Em::Blocks小巧,不像KeiluVision那么大,也不像Eclipse那般臃肿。Em::Blocks安装、配置相对KeiluVision更简单方便,Eclipse的环境配置相对更复杂,更容易出错。Em::Blocks的代码编辑环境相当智能化,相对KeiluVision好很多,相比Eclipse也毫不逊色。Em::Blocks内嵌了GNU编译器,代码的编译速度是KeiluVision和Eclipse不能比拟的。Em::Blocks内嵌对几种JTAG仿真调试器的支持,调试时方便快捷,相比KeiluVision也毫不逊色。Eclipse的代码提示、配置、编译、调试的体验很差,在此不赘述。Em::BlocksSTM32开发环境的搭建在《EmBlocks+J-Link,STM32开源开发环境搭建与调试》这一文档中有详述。开发环境系统:Windows7旗舰版。开发工具:1、EclipseIDEforC/C++Developers,版本:4.3.1,32_bit;2、因为Eclipse是用Java开发的,所以需要Java的运行环境,只要下载安装jre即可,这里我们下载安装JavaSEDevelopmentKit7u51(包含jre),Windowsx86,32_bit;3、要使Eclipse支持ARM开发,需要下载安装一个插件:GNUARMEclipsePlug-in(ilg.gnuarmeclipse.repository-1.8.1-201401111229.zip);4、CDT插件,因为我们下载的EclipseIDEforC/C++Developers中已经包含CDT插件,无需我们手动安装,如果你下载的是别的版本的Eclipse,需要你自己手动安装CDT插件;5、YAGARTO,GNUARMtoolchain:官网:,工具下载官网:下载安装:YAGARTO-Tools-20121018(yagarto-tools-20121018-setup.exe)和YAGARTOGNUARMtoolchain(yagarto-bu-2.23.1_gcc-4.7.2-c-c++_nl-1.20.0_gdb-7.5.1_eabi_20121222.exe),下载地址:;6、J-Link驱动工具包:Setup_JLinkARM_V434d.zip。安装交叉编译工具:1、上面的工具都下载好以后,先安装好JavaSEDevelopmentKit7u51、YAGARTO-Tools-20121018(先于YAGARTOGNUARMtoolchain安装)、YAGARTOGNUARMtoolchain和J-Link驱动工具包;2、解压Eclipse到指定目录,进入目录,打开eclipse.exe,配置好Eclipse工作目录;3、安装GNUARMEclipsePlug-in插件,EclipseHelpInstallNewSoftwares,点击“Workwith”右边的“Add”,点击弹出的框中“Name”右边的“Local…”,加上解压后的GNUARMEclipsePlug-in插件目录,点OK,然后一步步下去,直到Eclipse重启;Eclipse配置:1、Eclipse编码格式配置:(1)WindowPreferences,左侧导航树到generalWorkspace,右侧“Textfileencoding”,选择“Other”,改为“UTF-8”;(2)WindowPreferences,左侧导航树到generalContentTypes,右侧“Contenttypes”树,点开“Text”,选中“CSourceFile”,在下面的Defaultencoding框中填上“UTF-8”,点击右边的“Update”;2、显示行号:WindowPreferencesGeneralEditorsTextEditors,选中右侧的“Showlinenumbers”复选框,另外把“Insertspacesfortabs”复选框选中,用空格代替tab,以便代码用别的编译器编译时,出现代码对齐问题;3、修改字体:WindowPreferencesGeneralAppearanceColorsandFonts,在右侧树形列表中选择C/C++Editor,点击右边的“Edit”,编辑文本字体即可;4、修改默认代码格式:WindowPreferencesC/C++CodeStyleFormatter,单击右侧的“New”新建一个格式化配置,修改配置,然后保存即可。还可以通过“ExportAll”导出配置,重装Eclipse时只要导入该配置即可;5、显示空格和制表符:WindowReferencesGeneralEditorsTextEditors,选中右侧“Showwhitespacecharacters”,还可以点击“configurevisibility”来选择要显示的空白字符,这里可以取消“CarriageReturn”和“LineFeed”的“Trailing”显示;6、显示最大列宽范围:一般的代码规范会要求代码的最大列宽为80个字符,Eclipse提供最大列宽提示界线:WindowPreferencesGeneralEditorsTextEditors,右边选中“Showprintmargin”;7、为防止在Eclipse外部修改工程目录中的文件引起文件不同步导致“Resource‘项目名’isoutofsyncwithfilesystem.”的问题,解决办法:WindowPreferencesGeneralWorkspace,右边选中“Refreshusingnativehooksorpolling”和“Refreshonaccess”8、修改过的代码不用保存直接编译:WindowPreferencesGeneralWorkspace,右边选中“Saveautomaticallybeforebuild”;编译配置:1、Ctrl+n,创建新项目,选择C/C++下的“CProject”,点“Next”,在弹出框中选择和,添加上项目名称,点“Next”,在弹出的框中设置处理器参数,因为我们的处理器是STM32F103VET6,所以Chipfamily改为,Flashsize改为512,RAMsize改为64,“Next”、“Next”、“Next”,到CrossGUNARMToolchain框,Toolchainname改为,Toolchainpath改为YAGARTOGNUARMtoolchain的路径,如,点OK后,就可以在Eclipse的“ProjectExplorer”中看到项目的结构;2、右击项目名Properties,C/C++BuildToolChainEditor,把右边的Currentbuilder改为;3、配置好后,把自己的.c文件放到项目根目录的src目录下,.h文件放到项目根目录的include目录下,选中Eclipse目录树,右键Refresh或者F5刷新,就可以看到刚才添加的文件了,点击或者Ctrl+B,就可以看到编译生成hex文件了。4、刚开始我们的代码默认为Debug模式,若想修改为Release模式,右键项目名称Preperties,在弹出框的左侧树形目录中选择C/C++BuildToolChainEditor,点击右上角的“ManageConfigurations”,在弹出的框中选中Release点击SetActive点击OK;然后Crtl+B,先生成Release版本的elf和hex文件;打开DebugConfigurations在弹出的框中,点击下自定义的配置,在右侧的main标签页下,点击,在下面的框中,选择Release版本的elf文件,点击“OK”,完成;5、如果已经有Eclipse项目,可以导入现存项目:FileImport或者右键Eclipse目录树Import,在弹出的框中选Generalnext,Selectrootdirectory选择项目根目录,选中和,点击“Finish”完成;到此,编译配置完成调试配置:1、打开DebugConfigurations在弹出的框中,双击左边树形,生成新的配置;2、在右边的Main标签页下,C/C++Application文本框下面,点击,在弹出的框中已经默认为生成的elf文件和默认的Debug生成的elf文件,如果要改为Release生成的文件,以后再改;3、在Debugger标签页下,GDBCommand文本框,选择安装的YAGARTO编译器的GDB调试工具,如:,如果在安装YAGARTO时,YAGARTO已经自动修改了环境变量,可以直接填入“arm-none-eabi-gdb.exe”;Portnumber改为2331;JTAGDevice改为GenericTCP/IP(如果不行,改为J-Link);4、在Startup标签页下,在InitializationCommands文本框中,输入以下内容:monitorflashdevice=STM32F103VEmonitorflashdownload=1monitorflashbreakpoints=1monitorclrbpmonitorendianlittlemonitorspeed5monitorresetmonitorsleep100monitorspeedautomonitorwriteu320xE000ED08=0x00000000注:其中,monitorflashdevice需要根据自己的STM32设备自行修改;RunCommands文本框中填入以下内容:monitorregr13=(0x00000000)monitorregpc=(0x00000004)breakmaincontinue注:请不要勾选RuntimeOption中的选项。然后点击Apply,请确保GDBServer(如从开始菜单打开SEGGERJ-LinkGDBServerV4.34d)已经打开,并且连接正常,
本文标题:Eclipse-+-CDT-+-YAGARTO-+-J-Link,STM32开源开发环境搭建与调试
链接地址:https://www.777doc.com/doc-5905006 .html