微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > STM32 简易BOOT及XMODEM串口IAP移植过程简介

STM32 简易BOOT及XMODEM串口IAP移植过程简介

时间:10-02 整理:3721RD 点击:

9G-STM32 简易BOOT及XMODEM串口IAP移植过程简介

一,准备EWARM + AN2557软件包

1,在http://www.mcu123.com/news/Soft/embsof/arm/201001/514.html 上

下载 IAR Embedded Workbench for ARM version 5.41 (2010.1.5更新) 软件

CD-EWARM-5411-1760_mcu123.zip

    http://esoft.mcu123.com/MCU123_temp_20100103@/ARM/CD-EWARM-5411-1760_mcu123.zip

    相关文件“IAR_EWARM5.4和谐文件.rar ”可以在GOOGLE上搜索到

2,在http://www.manley.com.cn/web/Service_down.asp?down_lei=驱动程序和技术资料&lei2=资料下载&lei3=驱动程序和技术资料

上下载 “ST-Link仿真器驱动程序(IAR EWARM V5升级版)”

installSTLink.zip

http://www.manley.com.cn/web/admin_ml32/pic/down/installSTLink.zip


3,在http://www.st.com/mcu/familiesdocs-110.html 上

    下载STM32F10x in-application programming using the USART 文档和软件

13588.pdf 和 an2557.zip

http://www.st.com/stonline/products/literature/an/13588.pdf

http://www.st.com/stonline/products/support/micro/files/an2557.zip


4,在http://www.st.com/mcu/familiesdocs-110.html 上

    下载ARM-based 32-bit MCU STM32F10xxx standard peripheral library 软件

stm32f10x_stdperiph_lib.zip

http://www.st.com/stonline/products/support/micro/files/stm32f10x_stdperiph_lib.zip


5,在GOOGLE上搜索“EK-STM3210E仿真学习开发套件用户手册”然后点击下载

    下载 EK-STM3210E仿真学习开发套件用户手册

EKSTM3210E_UM.pdf 和 200892211563259629.pdf

http://www.manley.com.cn/web/down.asp?id=181

http://www.manley.com.cn/web/admin_ml32/pic/down/200892211563259629.pdf

二,建立STM32的EWARM+ST-LINK开发环境

1,双击“IAR_EWARM5.4和谐文件.rar”运行里面的“EWARM_FULL_ARM540.exe”后选择产品“Product”中的“Embedded Workbench for ARM v5.40”

后点击“Generate”会根据本机的HostID产生“License number”和“License key”;

2,双击“CD-EWARM-5411-1760_mcu123.zip”运行里面的autorun.exe,在“Welcome to IAR Systems”中选择“Install IAR Embedded Workbench ”

按常规默认路径安装IAR EWARM 541软件;

3,双击“installSTLink.zip”运行“installSTLink.exe”按“NEXT”在选择默认路径C:\Manley\Drivers\STLink按“Install”安装ST-LINK的驱动,

安装完成选择“Finish”。

三,建立STM32 BOOT基本工程

1,在电脑开始菜单中打开“IAR Systems”->“IAR Embedded Workbench for ARM 5.41”->“IAR Embedded Workbench”打开IAR EWARM集成开发环境,

在“IAR Embedded Workbench IDE”菜单中选择“Project”->“Create New Project”创建一个新工程;

2,在“Create New Project”选择“ARM”工具链,创建一个空的项目模板,到D:\works\9G-BOOT\project下面,工程和空间文件名都叫9G-BOOT,保存后后有

9G-BOOT.eww,9G-BOOT.ewd和9G-BOOT.ewp文件产生;


3,在“D:\works\9G-BOOT\”下建立文件夹“include”,“driver”,“library”,“source”,在“library”下建立“CMSIS”和“STM32”子目录,在“source”

下建立“boot”“app”子目录;

4,解压“stm32f10x_stdperiph_lib.zip”到D:\works\下,复制“D:\works\STM32F10x_StdPeriph_Lib_V3.2.0\Libraries\CMSIS\CM3\CoreSupport”下面的“core_cm3.c”和“core_cm3.h”

和“D:\works\STM32F10x_StdPeriph_Lib_V3.2.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar”下的所有文件到“D:\works\9G-BOOT\library\CMSIS”目录;

5,复制“D:\works\STM32F10x_StdPeriph_Lib_V3.2.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x”下面的源文件到“D:\works\9G-BOOT\library\CMSIS”目录,

复制“D:\works\STM32F10x_StdPeriph_Lib_V3.2.0\Libraries\STM32F10x_StdPeriph_Driver”下的“inc”和“src”文件夹到“D:\works\9G-BOOT\library\STM32”目录


6,在IDE的“Workspace”下面的“Files”的“9G-BOOT”上右击选择“Add”->“Add Group”,在“Add Group”页面上填入文件夹名字“DRV”,同样的方式建立

“SRC”“BASE”“LIB”等子目录,并在“SRC”下面建立“APP”和“BOOT”目录;

7,在IDE的“Workspace”下面的“files”的“9G-BOOT”下的“BASE”上右击选择“Add”->“Add Files”,在“Add Files - BASE”页面里选择“D:\works\9G-BOOT\library\CMSIS”下面的

“core_cm3.c ”,“system_stm32f10x.c”和 “startup_stm32f10x_hd.s ”(针对于高密度的STM32F,其它的根据不同密度的CPU更换 );

8,在IDE的“Workspace”下面的“files”的“9G-BOOT”下的“LIB”上右击选择“Add”->“Add Files”,在“Add Files - LIB”页面里选择“D:\works\9G-BOOT\library\STM32\src”下面的

所有C文件;


9,点击IDE的“File”->“New”->“File”建立一个新的文件,然后在文件中输入如附件“main.c”所示的内容,然后用菜单“File”->“Save”保存到“D:\works\9G-BOOT\source\boot”目录下面,

再利用以上的方式添加到IDE工程的“Workspace”下面的“files”的“9G-BOOT”下的“SRC”下的“BOOT”中;

(参考D:\works\STM32F10x_StdPeriph_Lib_V3.2.0\Project\STM32F10x_StdPeriph_Template\main.c)


10,同样建立一个新的文件,然后在文件中输入如附件“uart.c”所示的内容,然后用菜单“File”->“Save”保存到“D:\works\9G-BOOT\driver”目录下面,

再利用以上的方式添加到IDE工程的“Workspace”下面的“files”的“9G-BOOT”下的“DRV”中;

(参考D:\works\STM32F10x_StdPeriph_Lib_V3.2.0\Project\STM32F10x_StdPeriph_Examples\USART\Printf\main.c)


11,复制“D:\works\STM32F10x_StdPeriph_Lib_V3.2.0\Project\STM32F10x_StdPeriph_Template”下面的“stm32f10x_conf.h”文件到“D:\works\9G-BOOT\include”;


四,配置STM32 BOOT开发工程

1,在IDE的“Workspace”下面的“files”的“9G-BOOT”上右击选择“Options”打开“ Options for node "9G-BOOT"”配置页面,选择“Category”中的“General Options”,在“Target”下

的“Processor variaet”的“Device”中选择“ST”公司的“STM32F10xxE”,在“Library Configuration” 中选择库的等级用“FULL”;

2,在“ Options for node "9G-BOOT"”配置页面,选择“Category”中的“C/C++ Compiler” 里的“Preprocessor”的“Additional include directories:” 里面添加上以下头文件路径:

  $PROJ_DIR$\..\include

  $PROJ_DIR$\..\library\CMSIS

  $PROJ_DIR$\..\library\STM32\inc

  $PROJ_DIR$\..\source\boot

在“Defined symbols:”添加以下的全局宏:

  USE_STDPERIPH_DRIVER

  STM32F10X_HD

  VECT_TAB_FLASH

3,把D:\works\STM32F10x_StdPeriph_Lib_V3.2.0\Project\STM32F10x_StdPeriph_Template\EWARMv5下面的几个ICF文件复制到

“D:\works\9G-BOOT\project\Linker”目录下,在“ Options for node "9G-BOOT"”配置页面,选择“Category”中的“Linker” 里的“Config”的“Linker Configuration file” ,

选择用“Override default”并选择:$PROJ_DIR$\Linker\stm32f10x_flash.icf ;

4,在“ Options for node "9G-BOOT"”配置页面,选择“Category”中的“Output Converter”的“Output”勾选上“Generate additional output”,在“Output format”选择“binary”,

在“Output file”选择用“Override default”;

5,在“ Options for node "9G-BOOT"”配置页面,选择“Category”中的“Debugger”的“setup”的“Driver”选择“Third-Party Driver”,回到配置页面,选择“Category”中

的“Third-Party Driver”下面的“IAR debugger driver”下面填入“C:\Manley\Drivers\STLink\STM32DriverV5.dll”;

五,添加命令行和XMODEM

1,在“D:\works\9G-BOOT\source\boot”下建立“term.c”“command.c”“xmodem.c”,并添加到在IDE的“Workspace”下面的“files”的“9G-BOOT”下面的“SRC”的“BOOT”中,

在“D:\works\9G-BOOT\include”里添加上“command.h”,把“time.c”复制到“D:\works\9G-BOOT\driver”下面并添加到项目中;

怎么那么乱啊啊

好像没讲到重点吧,大部分都是讲怎么建立工程,移植哪些文件

镇的不是一般的乱啊啊

买JST 进口连接器找我就对了  QQ905181825

买JST 进口连接器找我就对了  QQ905181825

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top