IAP

所属分类:其他嵌入式/单片机内容
开发工具:C/C++
文件大小:386KB
下载次数:52
上传日期:2010-11-17 15:00:02
上 传 者melonbo
说明:  下载前,须对源程序做些修改。因为用户程序代码最初都是从0x08000000处开始执行的,IAP 属于用户编写的程序,它就被ISP或者仿真器下载到以0x08000000开始的一段存储空间内,所以接下来的程序就必须被放置在其后的空间内。修改如下: 将 main.c 中的 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0) 修改为 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000) 将 stm32f10x_flash.icf 中的 define symbol __ICFEDIT_intvec_start__ = 0x08000000 define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 分别修改为 define symbol __ICFEDIT_intvec_start__ = 0x08002000 define symbol __ICFEDIT_region_ROM_start__ = 0x08002000
(IAP based on STM32_103x)

文件列表:
IAP\Libraries\CMSIS\Core\CM3\core_cm3.c (16249, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\core_cm3.h (42077, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\startup\arm\startup_stm32f10x_hd.s (15872, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\startup\arm\startup_stm32f10x_ld.s (12236, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\startup\arm\startup_stm32f10x_md.s (12564, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\startup\gcc\startup_stm32f10x_hd.c (16437, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\startup\gcc\startup_stm32f10x_ld.c (12790, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\startup\gcc\startup_stm32f10x_md.c (13104, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\startup\iar\startup_stm32f10x_hd.s (16573, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\startup\iar\startup_stm32f10x_ld.s (12001, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\startup\iar\startup_stm32f10x_md.s (12492, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\stm32f10x.h (530869, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\system_stm32f10x.c (24166, 2009-04-25)
IAP\Libraries\CMSIS\Core\CM3\system_stm32f10x.h (2158, 2009-04-25)
IAP\Libraries\CMSIS\Core\Documentation\CMSIS_Core.htm (50779, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\misc.h (4951, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_adc.h (19558, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_bkp.h (7373, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_can.h (14289, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_crc.h (1980, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_dac.h (10271, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_dbgmcu.h (2980, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_dma.h (18790, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_exti.h (5833, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_flash.h (14446, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_fsmc.h (17276, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_gpio.h (15050, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_i2c.h (16923, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_iwdg.h (3677, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_pwr.h (4201, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_rcc.h (16258, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_rtc.h (3659, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_sdio.h (18598, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_spi.h (14896, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_tim.h (48768, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_usart.h (14483, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_wwdg.h (2785, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c (6874, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c (46634, 2009-04-25)
IAP\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c (8248, 2009-04-25)
... ...

/** @page IAP AN2557 IAP Readme file @verbatim ******************** (C) COPYRIGHT 2009 STMicroelectronics ******************* * @file IAP/readme.txt * @author MCD Application Team * @version V3.0.0 * @date 04/27/2009 * @brief Description of the AN2557 "STM32F10xxx in-application * programming using the USART (IAP)". ****************************************************************************** * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. ****************************************************************************** @endverbatim @par Description This directory contains a set of sources files and pre-configured projects that describes how to build an application to be loaded into Flash memory using In-Application Programming (IAP, through USART1). @par Directory contents - "IAP\inc": contains the IAP firmware header files - IAP/inc/common.h This file provides all the headers of the common functions. - IAP/inc/ymodem.h This file provides all the software function headers of the ymodem.c file. - IAP/inc/platform_config.h Evaluation board specific configuration file - IAP/inc/stm32f10x_conf.h Library Configuration file - IAP/inc/stm32f10x_it.h Header for stm32f10x_it.c - "IAP\RVMDK": contains pre-configured project for RVMDK toolchain - "IAP\RIDE": contains pre-configured project for RIDE toolchain - "IAP\EWARMv5": contains pre-configured project for EWARM5 toolchain - "IAP\src": contains the IAP firmware source files - IAP/src/main.c Main program - IAP/src/stm32f10x_it.c Interrupt handlers - IAP/src/download.c This file provides the software which allows to download an image to internal Flash. - IAP/src/common.c This file provides all the common functions. - IAP/src/ymodem.c This file provides all the software functions related to the ymodem protocol. @par Hardware and Software environment - This example runs on STM32F10x High-Density, STM32F10x Medium-Density and STM32F10x Low-Density Devices. - This example has been tested with STMicroelectronics STM3210E-EVAL (STM32F10x High-Density) and STM3210B-EVAL (STM32F10x Medium-Density) evaluation boards and can be easily tailored to any other supported device and development board. To select the STMicroelectronics evaluation board used to run the example, uncomment the corresponding line in platform_config.h file. - STM3210E-EVAL Set-up - Connect a null-modem female/female RS232 cable between the DB9 connector CN12 (USART1) and PC serial port. - STM3210B-EVAL Set-up - Connect a null-modem female/female RS232 cable between the DB9 connector CN6 (USART1) and PC serial port. - Hyperterminal configuration: - Word Length = 8 Bits - One Stop Bit - No parity - BaudRate = 115200 baud - flow control: None @par How to use it ? In order to make the program work, you must do the following: 1. Generate a binary image for the pogram provided in the "Project\binary_template" directory. 2. Program the internal Flash with the IAP (see below) 3. Open a HyperTerminal window using the settings already defined in section "Hardware environment" 4. To run the IAP driver, keep the push-button (Key push-button on STM3210BEVAL or STM3210E-EVAL board) pressed at Reset. The IAP main menu is then displayed on the HyperTerminal window. 5. To download an application, press 1 and use the Ymodem protocol In order to load the IAP code, you have do the following: - EWARMv5: - Open the IAP.eww workspace - In the workspace toolbar select the project config: - STM3210B-EVAL: to configure the project for STM32 Medium-density devices - STM3210E-EVAL: to configure the project for STM32 High-density devices - Rebuild all files: Project->Rebuild all - Load project image: Project->Debug - Run program: Debug->Go(F5) - RIDE - Open the IAP.rprj project - In the configuration toolbar(Project->properties) select the project config: - STM3210B-EVAL: to configure the project for STM32 Medium-density devices - STM3210E-EVAL: to configure the project for STM32 High-density devices - Rebuild all files: Project->build project - Load project image: Debug->start(ctrl+D) - Run program: Debug->Run(ctrl+F9) - RVMDK - Open the IAP.Uv2 project - In the build toolbar select the project config: - STM3210B-EVAL: to configure the project for STM32 Medium-density devices - STM3210E-EVAL: to configure the project for STM32 High-density devices - Rebuild all files: Project->Rebuild all target files - Load project image: Debug->Start/Stop Debug Session - Run program: Debug->Run (F5) @note - Low-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes. - Medium-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 32 and 128 Kbytes. - High-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 256 and 512 Kbytes. *

© COPYRIGHT 2009 STMicroelectronics

*/

近期下载者

相关文件


收藏者