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

我們玩ARM9,一般都是在內存里調試程序,速度飛快。STM32下也可以這樣,雖說現在的flash壽命已經很長了,但flash中調試燒錄程序還是一個很慢的過程,有時候程序上一個小小的改動要花上幾倍的時間下載代碼,這確實是不能忍受的。
  我們也可以在開發STM32時,在內存中調試程序。
  {
STM32這顆Cortex-M3控制器,與其他許多ARM一樣,提供了BOOT0和BOOT1兩個管腳用于啟動選擇。
BOOT1=x  BOOT0=0  從用戶閃存啟動,這是正常的工作模式。
BOOT1=0  BOOT0=1  從系統存儲器啟動,這種模式啟動的程序功能由廠家設置。(用于串口ISP)
BOOT1=1  BOOT0=1  從內置SRAM啟動,這種模式可以用于調試。
  在芯片上電復位時,BOOT0和BOOT1兩個管腳的狀態將決定芯片從何處啟動。

1.當BOOT0和BOOT1均設置為邏輯1時,系統將從內置SRAM中啟動,這是代碼內存調試的第一個條件。
}
經多次確認,BOOT0和BOOT1狀態與內存中調試無直接聯系

2.然后,我們需要在代碼中設置正確的中斷向量表位置。中斷向量表通常被放置在用戶程序的開始,所以flash中運行時,向量表位于0x08000000處,而當代碼被放置在SRAM中運行時,他的位置就成了0x20000000。在初始化NVIC時,我們可以放置如下代碼,定義向量表的位置

    NVIC_SetVectorTable(0x20000000 , 0x0);

    NVIC_SetVectorTable(0x08000000 , 0x0);

3. 在編譯器中,要進行正確的設置。這里以IAR 5.4為例說明。
    3.1.  工程選項中Linker項,Config選項卡中,指定Linker Configuration File為stm32f10x_ram.icf, 該文件在FWLIB安裝包中可以獲得,IAR4和5分別有不同的配置文件。
    3.2.  同樣是工程選項中Debug項,Download選項卡中,去掉所有鉤子,不下載代碼到flash

  經過以上步驟,代碼就可以在內存中調試,下載速度飛快,調試速度也比flash中快了不少!

 

IAP在線升級

1.boot程序

(1) IROM1 起始地址:0x8000000

 (2)關鍵代碼

#define ApplicationAddress    0x8003000

if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
    {
     
      JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
      Jump_To_Application = (pFunction) JumpAddress;
     
      __set_MSP(*(__IO uint32_t*) ApplicationAddress);
      Jump_To_Application();
    }


1, JumpAddress = *(vu32*) (ApplicationAddress + 4);是把用戶代碼的復位地址賦值給JumpAddress。

2,  __MSR_MSP(*(vu32*) ApplicationAddress); 是把用戶代碼的堆棧地址寫入堆棧指針

3, Jump_To_Application()是把用戶代碼的復位地址付給PC指針

 

if (((*(vu32*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
這句話的意思是把用戶代碼的首地址里面的數據拿出來,看看是不是以0x20000000開頭。

(X & 0x2FFE0000 ) == 0x20000000 意思是說X是不是在0x20000000與0x2001FFFF之間,即棧頂是不是在以0x20000000開始的128K
前面說了用戶代碼的首地址放的是堆棧指針,而堆棧應該指向RAM,而RAM的首地址是0x20000000,所以這句話用來判斷是不是已經有一個正確的堆棧指針地址寫在了用戶代碼的首地址,進一步可以推測是不是有一個正確的用戶代碼寫在了用戶代碼區,如果已經寫入了,就可以跳過去運行,如果沒有寫入,就不跳過去。這是DEMO程序的判斷邏輯,可以這樣用,也可以不這樣用。

2.APP程序

(1) IROM1 起始地址:0x8003000

(2)關鍵代碼

   #define VECT_TAB_OFFSET  0x3000  (修改地方) //NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x3000);  //中斷向量表映射


關鍵字:STM32  啟動模式  IAP 引用地址:STM32啟動模式及IAP

上一篇:STM32外設使用要點
下一篇:STM32F4xx 取得攝像頭數據并進行處理

推薦閱讀

對于區塊鏈的爭論依然沒有停止,或許這是所有新生事物必然都會經歷的狀態。然而,有一點可以確認的是,區塊鏈作為一種底層技術將會深度影響和改變傳統行業的運作邏輯,從底層帶給傳統行業一次新的能量釋放。對于行業元素能量的激發,對于底層運作邏輯的改造都將會把處于迷茫期的人們帶入到區塊鏈的世界當中來。?中本聰發明比特幣的時候或許不會想到自己會...
(文章來源:中科羅伯特機器人學院) 工業機器人仿真系統,是通過計算機對實際的機器人系統進行模擬的技術。機器人仿真系統可以通過單機或者多臺機器人從而組成工作站或是生產線。這些工業機器人的仿真,可以在制造單機和生產線產品之前模擬出實物,這不僅可以縮短生產的工期,還可以避免不必要的返工。在這里我們就來了解一下工業機器人仿真軟件有哪些...
談到魅族,很多人對魅族這個品牌有種特殊的情結,以MP3起家,從第一款手機M8推出至今沒有賺足眼球的營銷,沒有邀請自帶流量的明星代言人,但它就是獨一無二的存在,低調不動聲色地影響著大批忠實的魅友。創新是它的標簽,溫馨魅惑的夜間模式,優雅動感的U型天線,獨具匠心的mBack,獨樹一幟的畫屏,到如今極邊全面屏,暢速順滑的Flyme系統,都堪稱行業典范...
據業內消息人士透露,中國臺灣地區的高速傳輸芯片供應商已獲得代工廠商的承諾,明年將提供足夠的產能支持,以迎接產業的繁榮。digitimes報道指出,消息人士稱,供應商推出了多種高速傳輸芯片解決方案,包括無線5G、Wi-Fi 6E、有線2.5G以太網芯片、USB 4.0和PCIe 5.0接口解決方案,以配合不斷升級的CPU、GPU、AI和其他高性能計算芯片。消息人士表示,由...

史海拾趣

問答坊 | AI 解惑

在eeworld上的總技術分好不容易突破了2000分,特散200分慶祝,見者有分!

在eeworld上的總技術分好不容易突破了2000分,特散200分慶祝,見者有分!…

查看全部問答∨

在定制好的系統里面能否注冊Micromedia的Flash player控件?

RT: 今天老大給我了一個Macromedia Flash Player ActiveX.exe,他的意思是開機自啟動,在定制好的系統里面應該如何注冊或者實現呢? 在網上我曾經看到過2種方法: 1,使用Init鍵開機自動運行應用程序 2,使用startup文件夾開機自動運行應用程 ...…

查看全部問答∨

明天結婚,有空上網順便散個分

接完婚,想去黃山玩幾天,不知道這個季節旅游黃山怎么樣,有熟悉的朋友給個建議。 或者有別的不錯的地方,適合3-4天的短期旅行也可以。謝謝大家!…

查看全部問答∨

請教模電知識

問題1:為什么說AF>0,φA+φF=2nπ, 這是從哪里得來的?請各位高手指點一下,謝謝。   問題2:|X\'|=|Xi|+|Xf|這是為什么?我是這么認為的:X\',Xi,Xf之間的關系是有Xi與Xf的相位角所決定的,當Xi與Xf反向即相角相差180°時,|X\'|= ...…

查看全部問答∨

調試STM32I2C過程中碰到的問題

大家好:    有沒有人用過STM32 I2C作為Master。1.我發現在一些操作后,比較發送一組數據后,經常地RNE位會自動變為1,導致后續的狀態判斷不對。貼一段代碼:  /* Send START condition&nb ...…

查看全部問答∨

請教浮點運算精度問題

各位:剛剛了解5系列的片子,有個問題請教: 大多5系列的片子都配了32位的乘法器,請問用C編程的話,直接進行浮點運算的精度相比較 1系列的片子(配16位乘法器的)是不是也提高了很多?以前用1系列的時候,用C編程為了獲得 較高的運算精度,常常 ...…

查看全部問答∨

想收塊ARM7開發板

     之前覺得學ARM就要從ARM9開始入手,學了幾個月還是一頭霧水。寢室一兄弟買了塊2440,平時也拿來玩玩,那塊板子是淘寶上買的,光盤里的資料不是很好,慨嘆現在做生意的!至今還未摸到ARM的門。所以決心從ARM7開始 ...…

查看全部問答∨

工控主板KINO-G410 Mini-ITX工控機在數控機床中的應用

計算機技術的發展帶來了數控機床技術的突飛猛進,逐步形成了智能化、高可靠、高精度的新型數控機床。較之傳統的數控系統,它更適應聯網、開放性、高精度、高速度等數控技術發展的要求,是精密機械與計算機技術完美融合的杰作。數控機床真正實現了加 ...…

查看全部問答∨

ti m4 學習中

正在學ti m4,中文資料比較少,有在學的嗎?一起交流。。。。。。~   2012-05-31     今天主要是熟悉ccs開發環境 開發包自帶例程編譯ok。做少許改動,編譯ok。將工程文件整體拷貝到其他文件路徑,嗨。。。死活不行。對比 ...…

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

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 利辛县| 曲麻莱县| 张北县| 易门县| 苗栗县| 岱山县| 九寨沟县| 普兰店市| 永修县| 石河子市| 安宁市| 海丰县| 汉寿县| 东兴市| 开封县| 光山县| 宁波市| 博白县| 兴安盟| 鹤庆县| 且末县| 林甸县| 遂平县| 金塔县| 自贡市| 府谷县| 平果县| 孙吴县| 依安县| 萝北县| 萍乡市| 潜山县| 兴仁县| 平安县| 休宁县| 姚安县| 张家界市| 抚宁县| 岳普湖县| 香港 | 姜堰市|