编辑: xiaoshou | 2015-01-11 |
10 北京联盛德微电子有限责任公司
11 北京联盛德微电子有限责任公司
12 北京联盛德微电子有限责任公司
13 2.5 配置 OpenOCD 启动 这里配置如何在 Eclipse 中如何启动 OpenOCD,这样操作的好处就是以后就不用再开一个 cygwin 窗口 用来启动 OpenOCD. 北京联盛德微电子有限责任公司
14 在左侧双击新建,输入如下图: 北京联盛德微电子有限责任公司
15 OpenOCD 的配置文件要根据实际的 JTAG 仿真器来填写,不同的 JTAG 仿真器使用的配置文件是不同的, 我们提供的集成压缩包开发环境中已经附带了 JLINK、CMSIS-DAP 的配置文件. 配置文件在 cygwin 的/usr/local/share/openocd/scripts/board/目录下,配置文件分别为 W60X_jlink.cfg、W60X_cmsis-dap.cfg. 设置时请根据实际使用的 JTAG 仿真器选择对应的配置文件,下图使用了 CMSIS-DAP 举例: 北京联盛德微电子有限责任公司
16 配置完成之后点击 Run 启动 OpenOCD,启动成功则会在 console 窗口输出信息: 北京联盛德微电子有限责任公司
17 如果 OpenOCD 启动中发现无法识别 W60X 模块, 可能是 W60X 模块当前所用的固件没有打开 SWD 引脚的调 试功能,可参考下面的使用串口烧写固件章节烧写固件之后再尝试. 之后的启动也可以通过点击如下图所示来启动: 北京联盛德微电子有限责任公司
18 2.6 配置 Eclipse 调试功能 在工程管理窗口中右键 SDK 项目,选择 DEBUG 配置,如下图: 双击左侧的 ,新建一个调试配置: 北京联盛德微电子有限责任公司
19 名称最好保持和工程一致,便于区分其他工程: 北京联盛德微电子有限责任公司
20 所用的调试器为 arm-none-eabi-gdb,我们提供的集成安装包里已经安装了交叉编译工具,路径在 cygwin 的/opt/arm-none-eabi-gcc/目录下. 我们提供的集成安装包已经配好了环境变量,所以只需要如下图设置即可: 北京联盛德微电子有限责任公司
21 北京联盛德微电子有限责任公司
22 初始化填入的命令为: target remote localhost:3333 monitor reset halt monitor flash write_image erase /cygdrive/c/workdir/WM_SDK/Bin/W60X_DBG.img 0x08010000 file ./Tools/GNU/W60X.elf W60X 的调试固件烧写地址为 0x08010000,请勿修改避免造成 flash 损坏而导致模块无法正常工作. 命令里的两个路径要根据实际的工程路径填写,其中固件文件 W60X_DBG.img 路径必须要使用绝对路 径,符号表文件 W60X.elf 必须使用相对路径,否则会产生找不到文件的错误. 其他的保持默认即可,最后点击 Apply 保存配置. 如果调试中不是每次都需要更新固件,可以去掉 flash write_image 这条命令以减少固件烧写到 flash 的 等待时间. 2.7 修改 SDK 源码优化级别 为了单步调试时使用符号表,将编译时的优化-Os 修改为-g 便于生成调试信息: 北京联盛德微电子有限责任公司
23 北京联盛德微电子有限责任公司
24 修改后保存文件即可完成修改. 2.8 编译 SDK 北京联盛德微电子有限责任公司
25 如果没有错误则有如下结果: 北京联盛德微电子有限责任公司
26 2.9 启动调试 在启动调试之前需要先运行 OpenOCD(可以使用前面的配置启动 OpenOCD)再执行下面的操作. 北京联盛德微电子有限责任公司
27 如果有如下提示则选择 Yes 忽略这个提示继续: 然后会提示是否 debug,确认一下即可: 北京联盛德微电子有限责任公司
28 烧写固件到 flash 比较耗时,请耐心等待至固件烧写完成之后,会出现下图提示: 这时候点击 F8 键执行 Resume 命令,即可跑到 main 函数处停住: 北京联盛德微电子有限责任公司