stm32的boot模块和应用模块分开(因为看到里面都分别有一个main函数的入口) 求问一个STM32的问题 RCC_Configuration...

\u6709\u7684\u5de5\u7a0b\u5206\u4e3a\u5f88\u591a\u6a21\u5757\uff0c\u6bcf\u4e2a\u6a21\u5757\u90fd\u6709\u4e00\u4e2a\u4e2amain\u51fd\u6570\uff0c\u8fd9\u662f\u600e\u4e48\u5b9e\u73b0\u7684\uff1f

\u591a\u8fdb\u7a0b\u5904\u7406
\u5c31\u50cf\u662fwindows\u4e0a\u7684\u4e00\u4e9b\u5e94\u7528\u7a0b\u5e8f\uff0c\u5728\u7a0b\u5e8f\u8fd0\u884c\u540e\uff0c\u4f60\u6253\u5f00\u4efb\u52a1\u7ba1\u7406\u5668\uff0c\u4f1a\u53d1\u73b0\u8fd9\u4e2a\u7a0b\u5e8f\u521b\u5efa\u4e86\u4e0d\u6b62\u4e00\u4e2atask
\u6bcf\u4e2atask\u90fd\u53ef\u4ee5\u8ba4\u4e3a\u662f\u4e00\u4e2amain

\u770b\u4f60\u4f7f\u7528\u7684STM32\u7684\u5e93\u51fd\u6570\u4e86\uff0c\u57283.0\u7248\u672c\u524d\u7684\u5e93\u4e2d\uff0c\u8fd9\u4e2a\u4e00\u822c\u90fd\u662f\u5fc5\u987b\u7684\u914d\u7f6e\u7684\uff0c\u57283.0\u4ee5\u540e\u7684\u7248\u672c\u4e2d\u51fa\u73b0\u4e86\u4e2astm32f10x.h\u7684\u51fd\u6570\uff0c\u5c06\u65f6\u949f\u914d\u7f6e\u5b9a\u4e3a\u9ed8\u8ba4\u7684\uff0c\u5728main\u51fd\u6570\u4e2d\u4e0d\u76f4\u63a5\u4f7f\u7528\u8fd9\u4e2a\u51fd\u6570\u4e86\uff0c\u4f60\u53ef\u4ee5\u770b\u4e00\u4e0b

BOOT模块不需要对中断向量表定义,使用默认的即可(即0x08000000),但在跳转到应用模块前需要初始化堆栈(__set_MSP(*(__IO uint32_t*) ApplicationAddress);ApplicationAddress=用户程序起始地址+4)。在应用程序中需要重新设置中断向量表偏移即可。先执行Boot模块main函数,再跳转到应用模块main函数(不会再返回Boot模块的main)。

  • STM32鐨涓夌Boot妯″紡
    绛旓細1. 涓婚棯瀛樺惎鍔紙Main Flash锛夎繖鏄渶甯歌鐨勫惎鍔ㄦā寮忥紝褰撴垜浠氳繃JTAG鎴朣WD涓嬭浇绋嬪簭鍚庯紝绯荤粺鍦ㄥ浣嶆椂浼氳嚜鍔ㄤ粠涓婚棯瀛橈紙鍦板潃0x00000000鎴0x08000000锛夊紑濮嬫墽琛屻傝繖鏄竴绉嶉粯璁ょ殑鍚姩鏂瑰紡锛岄傜敤浜庡ぇ澶氭暟甯歌搴旂敤銆2. 绯荤粺瀛樺偍鍣ㄥ惎鍔紙Boot System Memory锛夎繖绉嶆ā寮忕浉瀵硅緝灏戜娇鐢紝浣嗘湁鏃跺湪闇瑕侀氳繃涓插彛涓嬭浇绋嬪簭鏃...
  • STM32鐨凚OOT鍔熻兘鏄粈涔?
    绛旓細BOOT1=1 BOOT0=1 浠庡唴缃甋RAM鍚姩锛岃繖绉嶆ā寮忓彲浠ョ敤浜庤皟璇銆係TM32涓夌鍚姩妯″紡瀵瑰簲鐨勫瓨鍌ㄤ粙璐ㄥ潎鏄姱鐗囧唴缃殑锛屽畠浠槸锛1锛夌敤鎴烽棯瀛 = 鑺墖鍐呯疆鐨凢lash銆2锛塖RAM = 鑺墖鍐呯疆鐨凴AM鍖猴紝灏辨槸鍐呭瓨鍟︺3锛夌郴缁熷瓨鍌ㄥ櫒 = 鑺墖鍐呴儴涓鍧楃壒瀹氱殑鍖哄煙锛岃姱鐗囧嚭鍘傛椂鍦ㄨ繖涓尯鍩熼缃簡涓娈礏ootloader锛屽氨鏄氬父璇...
  • stm32鐨刡oot妯″潡鍜屽簲鐢妯″潡鍒嗗紑(鍥犱负鐪嬪埌閲岄潰閮藉垎鍒湁涓涓猰ain鍑芥暟鐨...
    绛旓細BOOT妯″潡涓嶉渶瑕佸涓柇鍚戦噺琛ㄥ畾涔夛紝浣跨敤榛樿鐨勫嵆鍙(鍗0x08000000)锛屼絾鍦ㄨ烦杞埌搴旂敤妯″潡鍓嶉渶瑕佸垵濮嬪寲鍫嗘爤(__set_MSP(*(__IO uint32_t*) ApplicationAddress);ApplicationAddress=鐢ㄦ埛绋嬪簭璧峰鍦板潃+4)銆傚湪搴旂敤绋嬪簭涓渶瑕侀噸鏂拌缃腑鏂悜閲忚〃鍋忕Щ鍗冲彲銆傚厛鎵цBoot妯″潡main鍑芥暟锛屽啀璺宠浆鍒板簲鐢ㄦā鍧梞ain鍑芥暟(涓嶄細鍐...
  • 宓屽叆寮STM32涓殑BOOT鏄共浠涔堢敤鐨?
    绛旓細涓鑸儏鍐典笅濡傛灉鎴戜滑鎯崇敤鐢ㄤ覆鍙d笅杞戒唬鐮侊紝鍒欏繀椤婚厤缃BOOT0涓 1锛孊OOT1涓 0锛岃屽鏋滄兂璁 STM32 涓鎸夊浣嶉敭灏卞紑濮嬭窇浠g爜锛屽垯闇瑕侀厤缃 BOOT0 涓 0锛孊OOT1 闅忎究璁剧疆閮藉彲浠ャ
  • stm32boot1鎺ユ寜閿槸璧峰埌鍚姩鐨勪綔鐢ㄥ悧
    绛旓細鏄BOOT1鎺ュ彛鎺ュ湪VCC涓娿傚湪STM32F105鍜孲TM32F107浜掕繛鍨嬬郴鍒楀井鎺у埗鍣ㄤ箣鍓嶏紝鎰忔硶鍗婂浣撳凡缁忔帹鍑篠TM32鍩烘湰鍨嬬郴鍒椼佸寮哄瀷绯诲垪銆乁SB鍩烘湰鍨嬬郴鍒椼佷簰琛ュ瀷绯诲垪锛涙柊绯诲垪浜у搧娌跨敤澧炲己鍨嬬郴鍒楃殑72MHz澶勭悊棰戠巼銆傚唴瀛樺寘鎷64KB鍒256KB闂瓨鍜20KB鍒64KB宓屽叆寮廠RAM銆
  • stm32bootload鏈変粈涔堜綔鐢
    绛旓細1锛夋墦寮瀹夎鍚庣洰鏍囨枃浠朵腑鐨刴ap鏂囦欢澶癸紝鎴戜滑鎵鐢ㄧ殑STM32涓512Kflash锛屾墍浠ラ夊彇STM32_High-density_512K.STmap锛屽皢鍏跺垎瑙d负涓や釜STmap鏂囦欢锛堟鏂囦欢鍙敤璁颁簨鏈 鎵撳紑锛塖Tmap鏂囦欢涓紝鎵囧尯鏄互姣2K涓轰竴page鏉ユ樉绀虹殑锛屾墍浠boot鍖烘垜浠彧闇瑕佸埌page7锛岀敤鎴峰尯鎴戜滑闇瑕乸age8鍒版渶鍚庛備慨鏀瑰畬鎴愬悗鍐嶆鎵撳紑姝よ蒋浠朵細...
  • 姹傚ぇ绁炶В绛:STM32鐨寮曡剼BOOT0杩欎釜浣嶇疆鐨勫姛鑳芥槸浠涔?濡傛灉杩欎釜鐢甸樆涓嶈浜...
    绛旓細杩欐槸涓涓笅鎷夌數闃伙紝鍏朵綔鐢ㄦ槸璁BOOT0寮曡剼鐢典綅涓洪浂锛屼粠鑰屼繚璇鍗曠墖鏈澶嶄綅浼婂浠庣敤鎴烽棯瀛樺尯鍩熸墽琛岀▼搴忥紝寰堟樉鐒跺鏋滄嬁鎺夎繖涓笅鎷夌數闃伙紝灏变笉鑳戒繚璇佹墽琛屼綘鐨勭敤鎴风▼搴忎簡锛屽叧浜庡叾瀹冪姸鎬佺殑绋嬪簭鎵ц鍖哄煙璇锋煡鍣ㄤ欢鎵嬪唽銆
  • 鎬ユ眰姣曚笟璁捐闂,stm32涓殑BOOT0绠¤剼鏈変粈涔堢敤鍟?
    绛旓細BOOT0鍜孊OOT1锛屼袱涓鏁欓氳繃鎷夐珮鎷変綆(杩欓噷鐩存帴VCCGND濂戒簡)閰嶇疆涓嶅悓鐨勫惎鍔ㄨ矾寰凴AM杩樻槸Flash锛屽ソ鍍忚帿鏈夊叾浠栫敤浜嗭紝浣犺鏄敾鏉垮瓙鐨勮瘽锛岃繖涓や釜鑴氫綘瑕佸紩鍑烘潵鏂逛究缃珮浣庯紱浣犺鏄湁鏉垮瓙浜嗙殑璇濓紝鐩存帴鏍规嵁鏁版嵁鎵嬪唽鎷夐珮浣庢潵閫夋嫨鍚姩濂戒簡銆
  • STM32鐨瀛樺偍鍣ㄥ拰瀵勫瓨鍣
    绛旓細瀛樺偍鍣ㄦ槧灏勭殑榄旀湳鍦ㄤ簬锛屽畠涓篊PU鍒嗛厤鍦板潃锛岄氳繃閲嶆槧灏勫姛鑳芥敮鎸佷笉鍚屼粙璐ㄧ殑鍏煎鎬с備緥濡傦紝STM32F4xx鍏佽閫氳繃BOOT寮曡剼鍜孲YSCFG瀵勫瓨鍣ㄦ潵閰嶇疆鑷妇妯″紡鍜屽瓨鍌ㄥ櫒閲嶆槧灏勶紝浣垮緱瀛樺偍鍣ㄥ竷灞鐏垫椿涓旈珮鏁堛傚瘎瀛樺櫒鐨勭簿瀵嗘搷鎺 GPIOC瀵勫瓨鍣ㄧ殑绠$悊鏄疭TM32寰帶鍒跺櫒鎿嶄綔鐨勬牳蹇冦傞氳繃鑱斿悎浣撳拰宓屽缁撴瀯浣擄紝濡侴PIOC-ODR = 0x00000000...
  • 鎴戜拱鏉ョ殑STM32鏉鐨凚OOT0鎷夐珮,BOOT1鎷変綆銆備负浠涔堣繕鑳戒笅绋嬪簭?
    绛旓細浣犱笂杩BOOT0,BOOT1璇寸殑鏄郴缁熶笂鐢靛惎鍔ㄥ悗,绋嬪簭浠庡摢閲屽姞杞,杩愯,鏄鍗曠墖鏈闂 Jlink鏄疛TAG鎺ュ彛,鏄唴鏍哥殑闂,JTAG鍙f槸鍗曠墖鏈虹殑鍐呮牳,涔熷氨鏄疌PU鏉ユ帶鍒舵搷浣滅殑,涓嶅彈BOOT0,BOOT1鐨勫奖鍝
  • 扩展阅读:stm32 bootloader ... stm32风扇模块代码 ... 适合stm32的wifi模块 ... stm32 boot0 ... 32单片机boot接地 ... stm32烧录boot设置 ... 嵌入式stm32项目实例 ... 外接电源给stm32供电 ... stm32使用wifi模块怎么写 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网