使用Keil的RealView MDK开发工具进行STM32的学习已经有一段时间了,感受最深的是MDK提供的软件仿真功能——很好很强大。从IAR转到MDK开发环境以后,我就很少像以前那样一遍遍的将程序下载到开发板上进行调试了,而更多的是采用MDK的软件仿真功能进行调试,有事半功倍的效果!从今天开始,我会陆续把以前做的一些试验发布到Blog里,希望大家多来捧场!
STM32 RVMDK学习实例的第一回就从GPIO的软件仿真入手。我使用的是RealView MDK 3.22评估版,英蓓特对其帮助文件进行了汉化,大家可以到下面的地址下载:http://www.realview.com.cn/down-list.asp?id=487
第一步当然是建立工程了,这里就不详细叙述了(可以参考Blog前文,网上也有很多介绍);
第二步编写代码并编译,关键代码如下:
int main(void)
{
#ifdef DEBUG
debug();
#endif
RCC_Configuration();
GPIO_Configuration();
while(1)
{
// For STM3210B-LK1
GPIO_SetBits(GPIOB, GPIO_Pin_5);
delay();
GPIO_ResetBits(GPIOB, GPIO_Pin_5);
GPIO_SetBits(GPIOB, GPIO_Pin_6);
delay();
GPIO_ResetBits(GPIOB, GPIO_Pin_6);
GPIO_SetBits(GPIOB, GPIO_Pin_7);
delay();
GPIO_ResetBits(GPIOB, GPIO_Pin_7);
GPIO_SetBits(GPIOB, GPIO_Pin_8);
delay();
GPIO_ResetBits(GPIOB, GPIO_Pin_8);
GPIO_SetBits(GPIOB, GPIO_Pin_7);
delay();
GPIO_ResetBits(GPIOB, GPIO_Pin_7);
GPIO_SetBits(GPIOB, GPIO_Pin_6);
delay();
GPIO_ResetBits(GPIOB, GPIO_Pin_6);
}
}<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
很简单,就是用GPIOB的5、6、7、8位实现流水灯效果。
第三步选择Debug工具,打开“Options对话框”-〉选择“Debug标签”-〉选中“Use Simulator”->确定;
第四步进入Debug模式,打开“Debug菜单”-〉选择“Start/Stop…”此时会弹出32K代码限制的提示,不用理会,确定即可进入软件仿真模式。
Debug工具条如下:
第五步选择外围模块进行仿真,不同型号的STM32 会有不同的外设仿真功能。
打开“Peripheral菜单”-〉选择“GPIOB”打开仿真对话框。
点击Debug工具条的运行按钮,在仿真对话框里就可以看到程序的运行结果了,GPIOB的各项参数一目了然。
好了,第一个仿真实例就到此为止了,挺简单的吧!下面是该实例的MDK项目文件,下回我会发一个比较复杂的仿真实例。
ycdhonker 2013-9-21 16:35
用户829600 2012-11-12 14:09
用户1538104 2010-2-27 15:35
用户1113894 2008-7-18 16:23
用户158184 2008-7-17 18:53