基于 eclipse+yagarto+jlink 搭建 Cortex M3 IDE
leavic@ourdev
准备工具:
Eclipse for C/C++ 的 helios 版本,新版的好像和插件搭配有点问题。
CDT master 插件 7.0.2。
GNU arm 插件 0.5.3 版本。
Jlink GDB Server,在 Segger 官网下载即可,我用的是 V4.40B,这个不要用太早的版本,否则
一些 arm-none-eabi-gdb 的命令无法被支持。
版本上请不要选择其他版本,好像都不太好用。
我的工程文件。
Eclipse 解压即可使用,打开 eclipse 之后,在 Help-install new software 菜单安装插件。
点击 add,再点击 archive,选则下载好的插件的 zip 文件包。
取消勾选下面的 Group items by category 和 contact all update sites during install,然后一步步
往下,CDT-master 不用全部安装,选择部分即可。我安装完成后的全部插件如下,其实那个
zylin 插件你们可以不装,根本没用到。
Eclipse 下,File-new-C project.
按如下选择 yagarto 工具链
你们也可以直接把我的工程导入 eclipse,选择 file-import,选 existing projects into workspace,
然后选择我那个工程的文件夹,导入即可。
直接看导入後的配置。
在工程名上选择右键,选 properties,C/C++ Build, Settings。
这里也有一个和 slickedit 类似的 configuration 问题,你可以选择 all configuration,也可以删
掉一个 configuration 只留一个,例如我的工程里只留了 debug 这个 config。
Target Processor 选择 cortex-m3,勾选 thumb。
Debugging,默认级别,format 选 gdb。
Additional tools 选 create image 和 print size。
GCC Assembler
command line patter 确认是:
${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}
Preprocessor 勾选 user preprocessor,然后在 defined symbols 下面添加你的宏定义
Directory 添加 include 文件夹,可以基于 workspace 路径。
Warning,勾选 all warnings.
GCC C compiler
Yagarto 默认的 comman line pattern 好像有问题,改成:
${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS},
如果一样的话就不用改了。
Preprocessor 添加宏定义即可
Directory 一样添加 include 文件夹。
Optimize 下自己选择优化级别,记得勾选-ffunction-sections 和-fdata-sections,如下图
Warning,一样选 all warning,这只是习惯问题。
Miscellaneous 那里,我一般选 C99 with gnu extentions,这个也不是强制的,但是用 GCC 好
像用这个可以避免一些 warning。
GCC C Linker
Command Line Patter:
${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}
General 那里,Script file 选择你的 linker 文件,就是后缀.ld 的那个,勾选 remove unused
sections。
后面的都不用管。
GNU Create FLASH Image
这个特别注意,默认的 command line pattern 好像是错的,如果是用 sourcery g++的工具链的
时候好像是对的,改成如下即可:
${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT}
Output,file format 我一般选 binary,体积小一点,实际上烧进去都是一样的。
Printsize 我们不用,也不管了。
具体的细节如果有问题,导入我的工程后慢慢看就可以了。
配置完成后,直接 Project-Build All 就可以了,成功后应该会在 Debug 目录生成.elf 文件和.bin
文件。
External Tool 配置,
主要就是为了启动外部的 Jlink 的 GDB Server,这个你不在 eclipse 配置,直接在外面启动也
是一样的,点击下图的那个带锁的三角形按钮,点击 external tools configuration,点击左上
翻的那个带+号的“白板”,新建一个外部工具启动命令,name 随便写个,location 就是 Jlink
GDB Server 的执行文件。
切到 common tab,勾选 display in favorate,这样可以直接在前面的那个三角按钮的下拉菜单
中看到,完成后你点一下那个 jlink 菜单,GDB server 就应该启动了。
下面是调试最重要的配置部分,点击那个小臭虫右边的三角下拉,点 debug configration,点
击 GDB Hardware Debugging,像添加 external tool 一样点那个白板,然后添加一个 debug 配
置,search project 指定当前项目,就会自动找到可调式的.elf 文件了。
对了,下面如果是 Using Standard GDB Hardware Debugging Lancher,点 select other 切换成
GDB(DSF)Hardware Debugging Launcher,这个在停止调试的时候比较好,standard 会在
terminate 调试的时候报个错,但不影响使用。