原创 IAR EWARM5.20+FreeRTOS+OpenOCD+Versaloon环境配置

2008-12-21 04:27 6608 6 6 分类: MCU/ 嵌入式

为了测试Versaloon的ARM支持,所以配置了这个环境,包括JTAG调试的支持。
这里简要说明一下配置方法,以后同样会用免费无限制的Eclipse + FreeRTOS + Codesourcery G++ + OpenOCD + Versaloon配置一个开发环境。


准备:
使用到的硬件:STM32的最小demo板、Versaloon-Mini调试工具
需要下载的软件:Versaloon-Mini软件包、IAR EWARM 5.20 KickStart(虽然有32K代码限制,但没有其他限制)、ST提供的STM32的IAR 5.11下的补丁、FreeRTOS最新的压缩包。


安装:
IAR的安装就不详细说明了。
安装好后,需要使用ST提供的IAR 5.11补丁中的flashloader文件。虽然IAR 5.20中已经内置的STM32的支持,也提供了flashloader,但测试发现,使用5.20的flashloader极容易出错,而使用5.11补丁中的flashloader还没有出过错。
方法:解压补丁,拷贝arm\config\flashloader\ST\所有文件,到IAR 5.20安装目录下的ARM\config\flashloader\ST\下去。
Versaloon-Mini的软件包解压后,需要把Software目录下的openocd.iar.exe拷贝为openocd.exe。还有一个openocd是openocd.gdb.exe,主要由于IAR中的GDB协议和Codesourcery中的GDB协议有一些区别,所以需要2个不同的应用程序。


IAR设置:
解压FreeRTOS到C:\Projects\FreeRTOS,建议使用这个目录。
然后可以用IAR EWARM5.20打开C:\Projects\FreeRTOS\Demo\CORTEX_STM32F103_IAR\RTOSDemo.eww。
在Options里按照目标芯片,做一些常规设置。General Options-->Target-->Device选择ST STM32F10xx8(我使用STM32F101C8)。
在Output Converter-->Output中选中Generate additional output,格式为binary。这个文件用于第一次编程(建议)。
在Debugger-->Setup里,Driver选择GDB Server,Download里选择Verify download和Use flash loader。flashloader选择从5.11补丁里的FlashSTM32F10xx8.out。
在Debugger-->Plugins里,为了速度,去掉Stack。
在GDB Server-->GDB Server中TCP/IP address or hostname里填localhost。


OpenOCD设置:
Versaloon的软件包里已经有了编译好的Windows下运行的openocd.exe程序和openocd中的各种配置文件。并且在vsgui里提供了一个GUI界面。当然,需要手动配置1个脚本:script\stm32_program.cfg,在flash write_image 那一行中的文件改为目标bin文件(按照设置,这里应该是C:/Projects/FreeRTOS/Demo/CORTEX_STM32F103_IAR/Debug/Exe/RTOSDemo.bin)。


调试:
IAR设置完后,就可以按F7编译了。
OpenOCD的那个脚本修改完后,就可以使用vsgui来控制了。
点击看大图
如果目前芯片里没有程序的话,最好先下载一个程序,让芯片初始化,如上图。
Interface里选择的是调试工具,olink是Versaloon的OpenOCD驱动。
Target里选择的是目标芯片,mdBZ是指medium density RevB and RevZ。
Script里选择要执行的操作,这里选的就是刚刚编辑的那个脚本,用于下载程序。
然后,Script改为stm32_gdb.cfg,Go了之后,就可以在IAR下调试了(点击看大图,系统已经运行,break后停在tick定时器中断中,可以正常调试):
点击看大图



预告一张配置好的Eclipse调试界面(FreeRTOS + Codesourcery G++、Versaloon):
点击看大图

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条