日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 模擬 > 模擬
[導讀]對于基于閃存的嵌入式系統(tǒng),一個重要的要求就是,當該系統(tǒng)安裝在終端產(chǎn)品上后具有更新固件的能力,即在應用中編程(In-Application Programming,IAP)。本文介紹了STM32F10x處理器的特點及內存映射;詳細論述了IAP功能的基本原理和IAP驅動流程;給出了在STM32F10x處理器中實現(xiàn)IAP功能的方法。

引 言
   
Cortex-M3是首款基于ARMv7-M體系結構的32位標準處理器,RISC結構,包含高效靈活的Thumb-2指令集,擁有杰出的低功耗特性,為微控制器系統(tǒng)、汽車車身控制系統(tǒng)、工業(yè)控制系統(tǒng)和無線網(wǎng)絡等嵌入式應用量身設計。ST公司推出基于Cortex-M3內核的STM32系列處理器,憑借其出眾的性能、創(chuàng)新的外設、優(yōu)越的功耗控制,得到眾多工程師的青睞。
    針對嵌入式應用的特點,STM32處理器提供功能強大的硬件調試接口——JTAG接口和串行接口,極大方便了設計,縮短了產(chǎn)品的開發(fā)周期。不僅如此,STM32處理器內嵌的閃存存儲器允許在電路編程(In-Circuit Pro-gramming,ICP)和在應用中編程(In-Application Program-ming,IAP)。利用在應用中編程,僅需通過一根串口線,就可以完成產(chǎn)品固件的更新。本文對STM32處理器的在應用中編程進行了詳細的分析,結合硬件和驅動給出了IAP的具體實現(xiàn)方法,稍加修改,便可應用于STM32處理器的所有系列產(chǎn)品。

1 STM32F10x處理器
1.1 STM32處理器特點

    STM32全系列處理器具有腳對腳、外設及軟件的高度兼容性。這給應用帶來很好的靈活性,易于將應用升級到不同存儲空間或不同封裝的平臺。STM32處理器的產(chǎn)品全系列兼容,使得項目之間的代碼重用和移植很方便。
1.2 STM32處理器內存映射
    Cortex-M3的存儲系統(tǒng)采用統(tǒng)一編址的方式,程序存儲器、數(shù)據(jù)存儲器、寄存器被組織在4 GB的線性地址空間內,以小端格式(little-endian)存放。內存映射如圖1所示。

    在代碼區(qū),0x00000000地址為啟動區(qū)。上電以后,CPU從這個地址開始執(zhí)行代碼0x08000000為用戶Flash的起始地址,0x1FFFF000為系統(tǒng)存儲器(system memory)的起始地址。對于STM32處理器,可以通過配置BOOT0和BOOT1兩個引腳來選擇不同的啟動模式,如表1所列。CPU在時鐘信號的第4個上升沿鎖存BOOT引腳的值,根據(jù)兩個引腳的值將對應的存儲器物理地址映射到啟動區(qū)。

    系統(tǒng)存儲器也稱為“大信息塊”,有2 KB的容量。所有上市的STM32處理器,在出廠前已經(jīng)燒寫進去自舉模式下的啟動程序(Bootloader),并且將之鎖定防止用戶擦寫。通過配置BOOT0和BOOT1選擇系統(tǒng)存儲器啟動,相應的啟動程序在復位后得以執(zhí)行,配合PC端的通信軟件,通過USART1口允許用戶將程序燒寫到用戶Flash區(qū)。之后,將BOOT0和B00T1重新配置為用戶Flash存儲器啟動,進入正常的應用程序。
    上述的自舉模式類似于ISP編程,相比其他燒寫方式方便許多,但真正方便靈活的是在應用中編程(IAP),只需一根串口線就可以載入程序,復位后立即執(zhí)行新的應用程序。

2 IAP功能原理
    在應用中編程(IAP)使得用戶可以在程序運行時重新對Flash進行編程。簡單地說,IAP的編程工作是:下載編譯好的二進制文件數(shù)據(jù)到RAM;將數(shù)據(jù)重新編程到特定的Flash區(qū)。這兩個工作是由IAP驅動程序完成的。使用IAP功能后,系統(tǒng)的固件由2部分組成:第1部分是IAP驅動,不執(zhí)行通常的功能,而是通過微控制器支持的任一種通信管道(如USB、USART、SPI等,本文使用USART)接收數(shù)據(jù),并執(zhí)行對第2部分代碼的更新;第2部分是真正的應用程序代碼,實現(xiàn)具體的功能。這兩部分代碼共同燒寫在Flash中。要注意的是,這兩部分代碼不能重疊,否則無法實現(xiàn)IAP功能。
    系統(tǒng)上電以后,IAP驅動首先運行,它主要執(zhí)行如下的操作:
    ①根據(jù)硬件信號或軟件條件判斷是否需要對第2部分代碼進行更新;
    ②如果不需要更新,則跳轉到④;
    ③執(zhí)行更新操作;
    ④跳轉到第2部分代碼執(zhí)行。
    STM3210x處理器IAP驅動的流程如圖2所示。圖中顯示IAP主界面是利用超級終端實現(xiàn)的,傳輸協(xié)議用的是Ymodem協(xié)議。需要注意的是,由于IAP驅動占用了用戶Flash區(qū)的一段起始空間,因此Flash的可編程最大空間要把這部分除去。

3 IAP功能實現(xiàn)
3.1 硬件電路
   
采用STM32F10x型處理器作為核心。該處理器可全速工作在72 MHz,擁有3個USART接口,內嵌128 KB Flash和20 KB SRAM。Flash是以頁的形式組織的,擦除1頁的時間約為20~40 ms;在整個工作范圍內其擦除次數(shù)可達10 000次,經(jīng)10 000次擦除后,在+55℃的保存環(huán)境中數(shù)據(jù)保存期限仍可達20年。用戶完全不必擔心使用了IAP功能后對產(chǎn)品造成不良影響。
    IAP驅動使用USART1口作為通信管道,PB口的第9引腳作為IAP判斷是否進入IAP功能的信號線。引出一個按鍵,作為IAP功能選擇按鍵,只要在上電或復位時按住此鍵就會進入IAP功能主界面,否則直接執(zhí)行正常應用程序。BOOT0和BOOT1是啟動配置跳線。相應的硬件電路分別如圖3、圖4和圖5所示。

3.2 IAP驅動
    IAP驅動主要包含如下源文件。
    main.c:完成Flash解鎖、按鍵端口初始化、按鍵判斷、USART1的初始化以及處理器的始終初始化,另外還初始化指針和跳轉到應用程序處語句。然后從common.c執(zhí)行主菜單。
    common.c:顯示主菜單。主菜單上顯示一系列操作,如加載二進制文件、執(zhí)行應用程序以及禁止寫保護(如果事先Flash被寫保護)。
    download.c:等待用戶選擇傳送文件操作,或者放棄操作以及一些提示信息,但真正實現(xiàn)傳送的是ymodem.c源文件。
    ymodem.c:負責從超級終端接收數(shù)據(jù)(使用Ymodem協(xié)議),并將數(shù)據(jù)加載到內部RAM中。如果接收數(shù)據(jù)正常,則將數(shù)據(jù)編程到Flash中;如果發(fā)生錯誤,則提示出錯。
3.3 軟件實現(xiàn)
    要實現(xiàn)IAP功能,還需做一些準備工作:
    ①要準備BIN類型的代碼文件。開發(fā)環(huán)境使用的是Keil,默認情況下Keil生成HEX類型的編譯文件。利用Keil自帶的fromelf.exe工具,就可以生成二進制文件。
    ②對超級終端進行設置。IAP驅動中對USART1的設置為:波特率為115 200 kb/s,8位數(shù)據(jù)位,1位停止位,無校驗位和硬件控制。超級終端也必須保持相同設置。
    IAP驅動和應用程序代碼需要分配在Flash的合適位置。圖6是2部分代碼在Flash中的存儲情況。由于IAP驅動代碼占用8 KB的空間,故而將Flash最初的8 KB劃出來,應用程序是從0x08020000地址處開始存放的。這是通過在common.h頭文件中語句定義的:
    #define ApplicationAddress 0x08020000
    也可以定義在其他0x08020000地址后的任何位置,只要保證應用程序大小不超過所用處理器Flash的容量。在platform_config.h頭文件中有定義Flash的語句:
    #define PAGE_SIZE(0x400) //Flash頁大小為1 KB
    #define FLASH_SIZE(0x20000)//Flash容量為128 KB
    STM32F10x處理器有2種Flash頁的大?。? KB和2 KB。通過以上語句即可定義頁大小。
    在platform_config.h頭文件中還定義了進入IAP功能選擇按鍵映射引腳:
   

    IAP驅動在Keil中編譯、鏈接后,利用ARM公司的RealView ULINK2仿真器將生成的HEX文件燒寫到Flash中。此時Keil自帶的Flash燒寫工具要設置Flash的起始地址為0x08000000。在應用程序中,定義向量表的函數(shù)NVIC_SetVectorTabl(NVIC_VectTab_FLASH,0x2000)中的第2個參數(shù),即Flash的偏移量一定要設置成0x2000或更大的數(shù)值。同時,F(xiàn)lash燒寫工具也要做相對應的設置。將系統(tǒng)的串口與PC機串口相連,打開已經(jīng)設置好參數(shù)的超級終端。將BOOT0跳線為0,BOOT1為0或1都可以。按住IAP功能選擇按鍵,給系統(tǒng)上電。此時,在超級終端就會顯示IAP功能主界面,如圖7所示。

 

    在鍵盤上按1選擇待載入二進制文件,界面上會出現(xiàn)提示語。在“傳送”菜單中選擇傳送文件后,只需幾秒鐘可以將6 KB左右的文件燒寫到Flash。下載完后,在鍵盤上按2或復位就可以直接執(zhí)行應用程序了,如圖8所示。雖然IAP功能使用的是USART1口,但進入應用程序后就可以正常使用USART1口。隨時可以通過復位后按住IAP功能選擇鍵來進行IAP方式燒寫應用程序。 

結 語
    STM32F10x處理器性能出眾,已被廣泛應用于各種場合。其IAP功能給用戶帶來了極大方便,使得產(chǎn)品的固件更新快捷、簡單。本文闡述了IAP的基本原理,并詳細描述了如何在STM32F10x處理器平臺中實現(xiàn)IAP功能,并在所設計的系統(tǒng)中進行了IAP實驗。實驗證明,該款處理器的IAP功能可靠、快捷。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風 ...

關鍵字: 溫度 BSP 東風 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎單元,承載著生存與活動的最基本功能。而對于理想空間的解構意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關系的思考,同時也塑造著人與空間的新型連接...

關鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預告。今年前三季度,公司預計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預計為1.73億...

關鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術中心"認定。 北京市企業(yè)技...

關鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構對在華戰(zhàn)略的構想和業(yè)...

關鍵字: 數(shù)字化 BSP 供應鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關鍵字: 溫控 精密儀器 半導體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術企業(yè)云集,展出的智能產(chǎn)品超過140,...

關鍵字: 中國智造 BSP 手機 CAN

現(xiàn)在網(wǎng)上有很多播放量巨高的免費編程項目教程,很多學編程的同學可能都看過,就導致大家可能寫在簡歷上的內容都差不多。

關鍵字: 項目 編程 簡歷

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

模擬

31143 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉