原创 STM32的 IAP 移植 下载与设置

2010-5-1 19:02 3040 13 13 分类: MCU/ 嵌入式

首先修改IAP程序:


        由于官方的例子中是基于官方的开发板的,其中使用的触发条件为上电检测一个按键。所以需要更改启动设置。去官方下载IAP程序 http://www.stmicroelectronics.com.cn/stonline/mcu/STM32_AN.htm


第一步:打开官方的STM32的IAP程序,根据软件选择工程STM3210B-EVAL,我用得是MDK。


第二步:我们需要把这个触发条件修改为自己开发板上的按键 SW3,需要做如下修改。


              打开 platform_config.h 文件 或者 stm3210c_eval.h(3.10库),做如下修改:  


              //#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


打开 main.c ( 3.10库中 )修改


/* Set the Vector Table base location at 0x08000000 */ 

 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

    NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);


。将以上修改好后编译。然后通过超级终端下载到stm32开发板中。下载方法如下


按住SW3键不放,同时按下复位键,松开复位键,串口有数据输出后松开SW3键。之后按下 PC 机器键盘上面的 1 ,进行 Download 应用程序。“Waiting for the file to be sent ... (press 'a' to abort)”并且另起一行定时输出"C" ,这说明下位机已经响应,等待传输文件。在超级终端中鼠标右键选择发送文件,在文件名中选择前面编译好的 LED.bin,协议选择 Ymodem,点击“发送”。完成发送后,按下复位键,此时程序从应用层正常运行。


PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
13
关闭 站长推荐上一条 /3 下一条