娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月14日(星期六)

2019年06月14日 | STM32 YMODEM實現bootloader

發布者:rnm888 來源: eefocus關鍵字:STM32  YMODEM  bootloader 手機看文章 掃描二維碼
隨時隨地手機看文章

這幾天一直在嘗試學STM32 bootloader,在網上查閱了一番,發現實現方法不計其數。于是自己有了想動手實現一番的欲望。


下面請聽我細細道來,我選用的芯片是STM32F103ZE系類,該芯片是512k,每頁是2k的。


接下來就是你要重點了:


其實bootloader說白了,就是在原有APP程序 再加上另一段程序---bootloader,這個bootloader可以對你flash進行擦寫操作。


那么關于STM32具體實現BOOTLOADER步驟是怎么樣的呢?


下面我就具體幾個細節之處談談:


1,如何實現在APP程序跳轉到BOOTLOADER程序.


2,既然APP程序可以跳轉到bootloader,那么反之也是可以的。

 

//判斷用戶是否已經下載程序,因為正常情況下此地址是棧地址。

//若沒有這一句的話,即使沒有下載程序也會進入而導致跑飛。

if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)

{

    SerialPutString("Execute user Programrnn");

    //跳轉至用戶代碼

    JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);

    Jump_To_Application = (pFunction) JumpAddress;

 

    //初始化用戶程序的堆棧指針

    __set_MSP(*(__IO uint32_t*) ApplicationAddress);

    Jump_To_Application();

}

else

{

    SerialPutString("no user Programrnn");

}


3,設計bootloader程序,采用YMODEM協議,一次數據1024字節、需要在keil進行設置ROM1,下載utilities也設置一下,然后download。


4,設計好bootloader程序并且用仿真器燒錄到芯片之后,下面就開始設計APP程序,所需設置也是大同小異,只是將STARTADDRESS 設置成從 0800 0200 size只要不超過你整個flash剩下的區域即可


,還需要設置一點的是,產生bin文件,這里我教大家一個方法  @p.bin就是說項目名來作為bin文件名,axf也一樣。假設我項目名是BOOT-Y,那么你生成的bin文件就是這個名字


5.,接下來用SECURECRT軟件進行程序app的bin文件燒錄,我boot程序里面有設計了一個按鍵,就是你是進入到boot程序還是app程序,當然你app程序如果沒有的話,那么就需要在這里進行校驗了。如果按鍵按住,然后復位,那么程序就進入到剛才的boot區域,這里是一個串口菜單,有一個函數捕獲你的按鍵輸入字符。


/*******************************************************************************

  * @函數名稱 GetKey

  * @函數說明   通過超級中斷回去鍵碼

  * @輸入參數   無

  * @輸出參數   無

  * @返回參數   按下的鍵碼

*******************************************************************************/

uint8_t GetKey(void)

{

    uint8_t key = 0;

 

 

    //等待按鍵按下

    while (1)

    {

        if (SerialKeyPressed((uint8_t*)&key)) break;

    }

    return key;

 

 

}



6、下面就是boot的串口菜單,你輸入1,加載bin文件,點擊transfer的send-ymodem,然后選擇你的bin文件,接下來就是1024字節數據開始發送到串口緩存區,如果校驗正確的話,那么就會寫入到對應的flash當中。




7、看到沒?成功了!


(7.1)、

忘記說了,APP程序里面需要在 在system_stm32f10x.c文件的128行處 #define VECT_TAB_OFFSET 0x2000 /*!< Vector Table base offset field.  將中斷向量表的偏移量改成你APP程序flash地址偏移量, 這個非常關鍵,因為你BOOT的中斷和APP中斷不能是同一個! 否則會出事的!


關鍵字:STM32  YMODEM  bootloader 引用地址:STM32 YMODEM實現bootloader

上一篇:基于Ymodem協議的STM32F407的串口IAP
下一篇:stm32 Bootloader設計(YModem協議)

推薦閱讀

“格力集團終止本次要約收購的消息是否提前走漏,上市公司這邊不大清楚,也沒法確認,我們是昨天(12日)下午收盤之后才收到的文件。”長園集團有關人士6月13日告訴記者。格力集團逾52億元要約收購長園集團(600525.SH)20%股份黃了,但長園集團股價提前異動的謎團卻仍然沒有答案。根據6月13日公告,長園集團于6月12日收到格力集團《關于終止要約收購長園...
  隨著我國光伏發電應用規模與范圍的不斷擴大,光電市場對逆變器的需求量迅速增加。與此同時,高質量、低成本的逆變器產品逐漸成為光電系統開發人員和廣大用戶所關注的問題。逆變器是電力電子技術的一個重要應用方面。電力電子技術是電力、電子、自動控制及半導體等多種技術相互滲透與有機結合的綜合技術。因此,逆變器所涉及的知識領域和技術內容十分...
國微集團首席科學家聘請儀式于國實大廈23樓報告廳隆重舉行,中國科學院院士郝躍教授正式受聘成為國微集團首席科學家。西安電子科技大學微電子學院院長張玉明、CAD所副主任初秀琴、西電國微研究院副院長游海龍,國微集團董事長黃學良、總裁帥紅宇以及集團管理層代表一同出席聘請儀式。黃學良董事長代表國微集團對郝躍院士的加盟表示熱烈歡迎,對郝躍院士一...
對于考慮使用電動汽車的人來說,真正的痛點在于電池的充電時間。據外媒報道,美國初創公司ATLIS Motor Vehicles開發的一種電池電芯,據稱可在不到15分鐘的時間內充滿電。(圖片來源:ATLIS公司)ATLIS宣布生產AMV電池電芯,并且正在開發自己的電池電芯和電池組,以為其ATLIS XP平臺和XT皮卡車提供動力,續航里程為300-500英里。電動中重型卡車XP平臺,...

史海拾趣

問答坊 | AI 解惑

嵌入式學習,越來越迷茫了???

嵌入式學習,越來越迷茫了??? 我是一名大三的學生,從剛開始接觸嵌入式,到動手做實驗,零零散散,已有半年的時間了。剛開始信誓旦旦,一定要將它學好,現在卻感覺越來越無從下手了。該開始的時候,對嵌入式,只知道嵌入式這個名字,對于它具體 ...…

查看全部問答∨

【EEWORLD模塊整理】+LED顯示

本帖最后由 paulhyde 于 2014-9-15 03:01 編輯 自己弄的led數碼管顯示的程序,    …

查看全部問答∨

半導體公司最稀缺的人才——模擬設計高手

模擬設計工程師短缺的情況正日益惡化,正迫使甚至像飛思卡爾半導體公司這樣強大的數字芯片公司加倍努力征募和培養模擬設計工程師,以應對混合信號處理中“魔法藝術”的挑戰。 “模擬集成電路設計存在一定的藝術性,”iSuppli公司負責模擬IC和半 ...…

查看全部問答∨

IA32如何開啟MMU

弱問一個問題  arm開啟MMU,需要對MMU進行初始化 那么X86是否也需要這樣的一段初始化代碼?  我找了后發現只對CR3寄存器進行設置 沒有這段初始化代碼…

查看全部問答∨

使用READ_REGISTER_UCHAR函數遇到的怪問題

在Windows下寫了一個很簡單的WDM驅動程序,在用READ_REGISTER_UCHAR函數去讀PCI卡的內存空間時發現一個好奇怪的問題,那就是所有奇數地址(BaseAddress + 0x00F1)的內存讀出來的值是正確的,而偶數地址(BaseAddress + 0x00F0)的內存讀出來的值卻是隨 ...…

查看全部問答∨

關于WinCE下如何采集視頻

目前要在基于一套硬件平臺來做wince下的視頻處理,由于sdk不支持vfw,也不支持dshow的枚舉,所以不知道該怎么采集視頻信號了。在網上找了兩天了,很多人問這個問題,但是沒有妥當的解決方案,請知道的弟兄姐妹幫忙,謝謝! …

查看全部問答∨

編址方式(獨立編址和統一編址)與結構(哈佛結構和馮.諾依曼結構)有關系嗎?

    有些資料上說程序存儲器和數據存儲器統一編址就是馮.諾依曼結構或普林斯頓體系結構(Freescale的MC68HC05/08),而兩者獨立編址就是哈弗體系結構(MCS-51),而到了Microchip,他們說他們的PIC16系列除了采用“哈弗體系結構”(MCS-51 ...…

查看全部問答∨

可控硅全控整流時,電流降額度與導通角的關系

可控硅用做三相可控整流時,隨著導通角的減小,可控硅導通時間越來越短,可控硅的額定輸出電流應該降額使用,在輸出電壓很低的情況下,可控硅的電流降額度大的驚人。 我現做一個項目,三相380V輸入,50VDC輸出,整流后直接接電解電容濾波,計算得到 ...…

查看全部問答∨

Avalon總線介紹:和傳輸無關的信號

和傳輸無關的信號Avalon接口提供具有系統級功能的控制信號,如中斷請求和復位請求信號。這些信號不是和每個數據傳輸直接相關的。中斷請求信號Avalon中斷請求信號允許從端口發出中斷請求(IRQ), 表示它需要主端口為之服務。Avalon交換架構在系統的從 ...…

查看全部問答∨

stm32f的isp軟件越來越多,我也湊個熱鬧:

界面如圖。已初步測試,正準備測試條件中。…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 沿河| 镇江市| 凌源市| 临颍县| 慈利县| 修水县| 巴里| 虎林市| 上思县| 留坝县| 西华县| 且末县| 涡阳县| 读书| 新河县| 新邵县| 酒泉市| 抚顺县| 扶沟县| 增城市| 东辽县| 金川县| 台东市| 西充县| 绍兴县| 鲁甸县| 阜宁县| 广汉市| 义乌市| 泗阳县| 临江市| 同心县| 三穗县| 田东县| 潜江市| 辰溪县| 突泉县| 阿克| 莱西市| 梅河口市| 嘉定区|