编辑: xiaoshou | 2015-01-11 |
29 此时就可以开始调试之旅了. 其他的调试命令可以自行在 Run 菜单中点击使用: 北京联盛德微电子有限责任公司
30 调试也可以直接点击工具栏图标进行快捷操作,其图示说明请参阅 Eclipse 安装章节. 如果遇到无法成功进入调试时, 可以尝试手动重启W60X模块和重启OpenOCD之后, 再进入调试即可. 2.10停止调试 停止调试时既可以停止 gdb,也选择可以停止 OpenOCD,这里根据情况自行选择. 北京联盛德微电子有限责任公司
31 停止调试必须是在 gdb 处于断住的情况下, 否则点击停止 debug 是不会产生效果的. 如果碰到这种情况 请先点击停止 OpenOCD,只要 OpenOCD 停止运行 gdb 也会停止. 2.11编译 Release 固件 编译正式版本的固件时,需要将源码的优化级别改为-Os,如下图所示;
北京联盛德微电子有限责任公司
32 SWD 复用引脚默认是否关闭由用户自行决定(调用接口函数 wm_swd_config(0)设置即可) . 2.12使用串口下载固件 W60X 支持串口烧写固件, 具体操作请参阅 http://www.winnermicro.com/html/1/156/158/497.html 提 供的文档 WM_W60X_固件升级指导 .
3 OpenOCD 使用进阶 北京联盛德微电子有限责任公司
33 3.1 OpenOCD 简介 在嵌入式开发中,有很多优秀的调试、仿真工具,比如Keil、IAR、Rowley Associates 等,它们的安 装、使用都很便利,功能强大,但是价格昂贵(几百美元甚至更多);
还要购买相应的硬件,比如U-Link 等USB 到JTAG 的转换盒,这也是一笔不小的开支.对于开发预算有限的工程师来说,完全可以使用免 费的开发工具Eclipse、OpenOCD,然后通过一些便宜的JTAG 转接器(比如CMSIS-DAP)就可以达到接近、 甚至超越上述商业软件的效果. OpenOCD是一个开源的JTAG上位机程序,在嵌入式设备调试中起着承上启下的作用:对下使用JTAG仿真 器连接嵌入式设备,对上则是为上位机提供通用的调试命令,整个使用的关系如下图所示: 目前 OpenOCD 已经支持的 JTAG 仿真器有如下: AICE, ARM-JTAG-EW, ARM-USB-OCD, ARM-USB-TINY, AT91RM9200, axm0432, BCM2835, Bus Blaster, Buspirate, Chameleon, CMSIS-DAP, Cortino, DENX, Digilent JTAG-SMT2, DLC 5, DLP-USB1232H, embedded projects, eStick, FlashLINK, FlossJTAG, Flyswatter, Flyswatter2, Gateworks, Hoegl, ICDI, ICEBear, J-Link, JTAG VPI, JTAGkey, JTAGkey2, JTAG-lock-pick, KT-Link, Lisa/L, LPC1768-Stick, MiniModule, NGX, NXHX, OOCDLink, Opendous, OpenJTAG, Openmoko, OpenRD, OSBDM, Presto, Redbee, RLink, SheevaPlug devkit, Stellaris evkits, ST-LINK (SWO tracing supported), STM32-PerformanceStick, STR9-comStick, sysfsgpio, TUMPA, Turtelizer, ULINK, USB-A9260, USB-Blaster, USB-JTAG, USBprog, VPACLink, VSLLink, Wiggler, XDS100v2, Xverve 目前OpenOCD已经支持调试的架构如下: ARM11, ARM7, ARM9, AVR32, Cortex-A, Cortex-R, Cortex-M, LS102x-SAP, Feroceon/Dragonite, DSP563xx, DSP5680xx, EnSilica eSi-RISC, FA526, MIPS EJTAG, NDS32, XScale, Intel Quark 而且OpenOCD还对很多的Flash都提供了支持: ADUC702x, AT91SAM, ATH79, AVR, CFI, DSP5680xx, EFM32, EM357, eSi-TSMC, FM3, FM4, Kinetis, LPC8xx/LPC1xxx/LPC2xxx/LPC541xx, LPC2900, LPCSPIFI, 北京联盛德微电子有限责任公司
34 Marvell QSPI, Milandr, NIIET, NuMicro, PIC32mx, PSoC4, PSoC5LP, SiM3x, Stellaris, STM32, STMSMI, STR7x, STR9x, nRF51;
NAND controllers of AT91SAM9, LPC3180, LPC32xx, i.MX31, MXC, NUC910, Orion/Kirkwood, S3C24xx, S3C6400, XMC1xxx, XMC4xxx 3.2 编译安装 OpenOCD 本节的操作都是基于 Windows 系统下的 Cygwin 环境,所以首先需要安装 Cygwin,在前面快速上手章节 中我们已经提供了一个集成 Cygwin 的压缩包开发环境,建议普通用户直接下载使用打包好的环境以减 轻工作量,安装好之后双击 cygwin\Cygwin.bat 则可打开一个 cygwin 的shell 窗口,之后下面的操作 都是在这个 shell 窗口中进行. 按照 OpenOCD 官方文档要求,编译必须依赖项有: 所以接下需要检查 Cygwin 环境是否........