分类:
2011-10-28 15:34:15
原文地址:STM32的IAP下载与设置 作者:skyhy.happy
首先修改IAP程序:
由于官方的例子中是基于官方的开发板的,其中使用的触发条件为上电检测一个按键。所以需要更改启动设置。去官方下载IAP程序 http://www.stmicroelectronics.com.cn/stonline/mcu/STM32_AN.htm
第一步:打开官方的STM32的IAP程序,根据软件选择工程STM3210B-EVAL,我用得是MDK。
第二步:我们需要把这个触发条件修改为自己开发板上的按键 SW3,需要做如下修改。
打开 platform_config.h 文件,做如下修改:
//#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL)
#define USE_STM3210B_EVAL
// #define USE_STM3210E_EVAL
//#endif
#define GPIO_KEY_BUTTON GPIOC
#define RCC_APB2Periph_GPIO_KEY_BUTTON RCC_APB2Periph_GPIOC
#define GPIO_PIN_KEY_BUTTON GPIO_Pin_13
注:将要修改的文件先解锁。
第三步:修改自己的公司版权信息
在main.c文件中根据需要添加版权等信息。
第四步:如果你使用仿真器下载程序,那么需要把 stm32f10x_config.h 中的 DEBUG 打开。
/* #define DEBUG 1*/
#ifndef DEBUG
#define DEBUG 1
#endif
第五步:配置生成 hex 文件
第七步:应用官方提供的下载软件将HEX文件下载到STM32中,完成IAP设置。
其次,应用层下载
用MDK打开应用程序,Project—Option for target—target,将启动地址修改为0x08002000,点user,修改生成BIN文件,修改方法参考:http://blog.ednchina.com/mikehendry/141811/message.aspx
打开stm32f10x_nvic.h文件,修改#define NVIC_VectTab_FLASH ((u32)0x08002000) 。将以上修改好后编译。然后通过超级终端下载到stm32开发板中。下载方法如下
按住SW3键不放,同时按下复位键,松开复位键,串口有数据输出后松开SW3键。之后按下 PC 机器键盘上面的 1 ,进行 Download 应用程序。“Waiting for the file to be sent ... (press 'a' to abort)”并且另起一行定时输出"C" ,这说明下位机已经响应,等待传输文件。在超级终端中鼠标右键选择发送文件,在文件名中选择前面编译好的 LED.bin,协议选择 Ymodem,点击“发送”。完成发送后,按下复位键,此时程序从应用层正常运行。