新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 【32位MCU】9G-STM32 簡(jiǎn)易BOOT及XMODEM串口IAP移植過(guò)程簡(jiǎn)介

【32位MCU】9G-STM32 簡(jiǎn)易BOOT及XMODEM串口IAP移植過(guò)程簡(jiǎn)介

作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò) 收藏
9G-STM32 簡(jiǎn)易BOOTXMODEM串口IAP移植過(guò)程簡(jiǎn)介

一,準(zhǔn)備EWARM + AN2557軟件包

本文引用地址:http://m.butianyuan.cn/article/201611/323204.htm

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
相關(guān)文件“IAR_EWARM5.4和諧文件.rar ”可以在GOOGLE上搜索到

2,在http://www.manley.com.cn/web/Service_down.asp?down_lei=驅(qū)動(dòng)程序和技術(shù)資料&lei2=資料下載&lei3=驅(qū)動(dòng)程序和技術(shù)資料
上下載 “ST-Link仿真器驅(qū)動(dòng)程序(IAR EWARM V5升級(jí)版)”
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仿真學(xué)習(xí)開(kāi)發(fā)套件用戶(hù)手冊(cè)”然后點(diǎn)擊下載
下載 EK-STM3210E仿真學(xué)習(xí)開(kāi)發(fā)套件用戶(hù)手冊(cè)
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開(kāi)發(fā)環(huán)境

1,雙擊“IAR_EWARM5.4和諧文件.rar”運(yùn)行里面的“EWARM_FULL_ARM540.exe”后選擇產(chǎn)品“Product”中的“Embedded Workbench for ARM v5.40”
后點(diǎn)擊“Generate”會(huì)根據(jù)本機(jī)的HostID產(chǎn)生“License number”和“License key”;

2,雙擊“CD-EWARM-5411-1760_mcu123.zip”運(yùn)行里面的autorun.exe,在“Welcome to IAR Systems”中選擇“Install IAR Embedded Workbench ”
按常規(guī)默認(rèn)路徑安裝IAR EWARM 541軟件;

3,雙擊“installSTLink.zip”運(yùn)行“installSTLink.exe”按“NEXT”在選擇默認(rèn)路徑C:ManleyDriversSTLink按“Install”安裝ST-LINK的驅(qū)動(dòng),
安裝完成選擇“Finish”。

三,建立STM32 BOOT基本工程

1,在電腦開(kāi)始菜單中打開(kāi)“IAR Systems”->“IAR Embedded Workbench for ARM 5.41”->“IAR Embedded Workbench”打開(kāi)IAR EWARM集成開(kāi)發(fā)環(huán)境,
在“IAR Embedded Workbench IDE”菜單中選擇“Project”->“Create New Project”創(chuàng)建一個(gè)新工程;

2,在“Create New Project”選擇“ARM”工具鏈,創(chuàng)建一個(gè)空的項(xiàng)目模板,到D:works9G-BOOTproject下面,工程和空間文件名都叫9G-BOOT,保存后后有
9G-BOOT.eww,9G-BOOT.ewd和9G-BOOT.ewp文件產(chǎn)生;

3,在“D:works9G-BOOT”下建立文件夾“include”,“driver”,“library”,“source”,在“library”下建立“CMSIS”和“STM32”子目錄,在“source”
下建立“boot”“app”子目錄;

4,解壓“stm32f10x_stdperiph_lib.zip”到D:works下,復(fù)制“D:worksSTM32F10x_StdPeriph_Lib_V3.2.0LibrariesCMSISCM3CoreSupport”下面的“core_cm3.c”和“core_cm3.h”
和“D:worksSTM32F10x_StdPeriph_Lib_V3.2.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xstartupiar”下的所有文件到“D:works9G-BOOTlibraryCMSIS”目錄;

5,復(fù)制“D:worksSTM32F10x_StdPeriph_Lib_V3.2.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x”下面的源文件到“D:works9G-BOOTlibraryCMSIS”目錄,
復(fù)制“D:worksSTM32F10x_StdPeriph_Lib_V3.2.0LibrariesSTM32F10x_StdPeriph_Driver”下的“inc”和“src”文件夾到“D:works9G-BOOTlibrarySTM32”目錄

6,在IDE的“Workspace”下面的“Files”的“9G-BOOT”上右擊選擇“Add”->“Add Group”,在“Add Group”頁(yè)面上填入文件夾名字“DRV”,同樣的方式建立
“SRC”“BASE”“LIB”等子目錄,并在“SRC”下面建立“APP”和“BOOT”目錄;

7,在IDE的“Workspace”下面的“files”的“9G-BOOT”下的“BASE”上右擊選擇“Add”->“Add Files”,在“Add Files - BASE”頁(yè)面里選擇“D:works9G-BOOTlibraryCMSIS”下面的
“core_cm3.c ”,“system_stm32f10x.c”和 “startup_stm32f10x_hd.s ”(針對(duì)于高密度的STM32F,其它的根據(jù)不同密度的CPU更換 );

8,在IDE的“Workspace”下面的“files”的“9G-BOOT”下的“LIB”上右擊選擇“Add”->“Add Files”,在“Add Files - LIB”頁(yè)面里選擇“D:works9G-BOOTlibrarySTM32src”下面的
所有C文件;

9,點(diǎn)擊IDE的“File”->“New”->“File”建立一個(gè)新的文件,然后在文件中輸入如附件“main.c”所示的內(nèi)容,然后用菜單“File”->“Save”保存到“D:works9G-BOOTsourceoot”目錄下面,
再利用以上的方式添加到IDE工程的“Workspace”下面的“files”的“9G-BOOT”下的“SRC”下的“BOOT”中;
(參考D:worksSTM32F10x_StdPeriph_Lib_V3.2.0ProjectSTM32F10x_StdPeriph_Templatemain.c)

10,同樣建立一個(gè)新的文件,然后在文件中輸入如附件“uart.c”所示的內(nèi)容,然后用菜單“File”->“Save”保存到“D:works9G-BOOTdriver”目錄下面,
再利用以上的方式添加到IDE工程的“Workspace”下面的“files”的“9G-BOOT”下的“DRV”中;
(參考D:worksSTM32F10x_StdPeriph_Lib_V3.2.0ProjectSTM32F10x_StdPeriph_ExamplesUSARTPrintfmain.c)

11,復(fù)制“D:worksSTM32F10x_StdPeriph_Lib_V3.2.0ProjectSTM32F10x_StdPeriph_Template”下面的“stm32f10x_conf.h”文件到“D:works9G-BOOTinclude”;

四,配置STM32 BOOT開(kāi)發(fā)工程

1,在IDE的“Workspace”下面的“files”的“9G-BOOT”上右擊選擇“Options”打開(kāi)“ Options for node "9G-BOOT"”配置頁(yè)面,選擇“Category”中的“General Options”,在“Target”下
的“Processor variaet”的“Device”中選擇“ST”公司的“STM32F10xxE”,在“Library Configuration” 中選擇庫(kù)的等級(jí)用“FULL”;

2,在“ Options for node "9G-BOOT"”配置頁(yè)面,選擇“Category”中的“C/C++ Compiler” 里的“Preprocessor”的“Additional include directories:” 里面添加上以下頭文件路徑:
$PROJ_DIR$..include
$PROJ_DIR$..libraryCMSIS
$PROJ_DIR$..librarySTM32inc
$PROJ_DIR$..sourceoot
在“Defined symbols:”添加以下的全局宏:
USE_STDPERIPH_DRIVER
STM32F10X_HD
VECT_TAB_FLASH
3,把D:worksSTM32F10x_StdPeriph_Lib_V3.2.0ProjectSTM32F10x_StdPeriph_TemplateEWARMv5下面的幾個(gè)ICF文件復(fù)制到
“D:works9G-BOOTprojectLinker”目錄下,在“ Options for node "9G-BOOT"”配置頁(yè)面,選擇“Category”中的“Linker” 里的“Config”的“Linker Configuration file” ,
選擇用“Override default”并選擇:$PROJ_DIR$Linkerstm32f10x_flash.icf ;

4,在“ Options for node "9G-BOOT"”配置頁(yè)面,選擇“Category”中的“Output Converter”的“Output”勾選上“Generate additional output”,在“Output format”選擇“binary”,
在“Output file”選擇用“Override default”;

5,在“ Options for node "9G-BOOT"”配置頁(yè)面,選擇“Category”中的“Debugger”的“setup”的“Driver”選擇“Third-Party Driver”,回到配置頁(yè)面,選擇“Category”中
的“Third-Party Driver”下面的“IAR debugger driver”下面填入“C:ManleyDriversSTLinkSTM32DriverV5.dll”;

五,添加命令行和XMODEM

1,在“D:works9G-BOOTsourceoot”下建立“term.c”“command.c”“xmodem.c”,并添加到在IDE的“Workspace”下面的“files”的“9G-BOOT”下面的“SRC”的“BOOT”中,
在“D:works9G-BOOTinclude”里添加上“command.h”,把“time.c”復(fù)制到“D:works9G-BOOTdriver”下面并添加到項(xiàng)目中;
(參考自VIVI)

(待續(xù))



關(guān)鍵詞: 32位MCUSTM32BOOTXMODEMIAP移

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉