新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > stm32 升級程序方案

        stm32 升級程序方案

        作者: 時間:2016-11-13 來源:網絡 收藏
        STM32芯片自帶固化的ISP程序,在芯片上電的時候會檢查BOOT0BOOT1電平狀態,如果
        BOOT0=1
        BOOT1=0
        則會進入自帶的ISP程序,基本可以滿足程序升級需要。
        但是如何進入這個模式,是一個問題,網上有人使用串口的握手信號來控制,但是這樣會超過3條線(RXTXGND)。
        昨天測試了一個方法,上位機發出一個指令,STM32用戶自己的程序解析后,利用自己的IO口,控制一個簡單的延時電路來拉高BOOT0,然后芯片重新啟動,則進入ISP。刷新完成后,跳入用戶程序運行,控制權交回用戶程序。
        程序中設置PB8為ISP_DRV,推挽輸出;輸出一定時間后,充滿電容后,可以使用NVIC_SystemReset()重新啟動(3.12庫)。即可進入ISP模式。
        另外,需要在程序中設置如下向量表地址,才可以在勾選ISP程序的jumptouserapplicationafterflash后,進入用戶程序。
        /*SettheVectorTablebaselocationat0x08000000*/
        NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x0);

        測試了若干次沒有發現異常。


        關鍵詞: stm32升級程

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 黎平县| 海伦市| 万盛区| 本溪| 扎鲁特旗| 四会市| 社会| 元谋县| 桃江县| 紫阳县| 乐陵市| 昌宁县| 清河县| 个旧市| 突泉县| 高雄县| 金昌市| 涪陵区| 黑水县| 兴业县| 尉氏县| 逊克县| 伽师县| 遂平县| 库伦旗| 东城区| 辰溪县| 历史| 枣庄市| 应用必备| 莆田市| 新竹县| 七台河市| 宜良县| 高雄县| 洪泽县| 汝阳县| 琼海市| 南澳县| 沂水县| 永城市|