精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

430怎么復位_430軟復位方法詳解

電子工程師 ? 作者:工程師a ? 2018-05-20 10:04 ? 次閱讀

最近在搞430的FLASH的自定義法(利用串口)程序燒寫,燒寫完成后斷電復位,reset按鍵就可以運行新的程序。但是和學長交流了一下,這種方法不夠好,希望有一種軟復位的方式。于是百度了一下,都是些對看門狗進行寫入特殊值使得430的cpu復位。反正個人是沒有采用。

因為在搞程序的燒寫下載,所以看了一下430的BSL。看到里面有一段話,關于從C代碼中啟動BSL的方法。如下:

從一個外部應用中啟動BSL

將程序計數器設定到內存為位置0x1000 來啟動BSL。堆棧一直被復位,而RAM 被清空。應該注意的是,GIE 位未被禁用,所以如果不需要中斷的話,這一步應該通過調用應用來完成,并且如果它們被使用的話,這一步應該從“返回BSL”返回。

由于堆棧被復位,位置0x1000 也可以被作為一個C 功能進行調用,示例代碼如下:
((void (*)())0x1000)()

于是想到,既然可以從C里面跳轉到0x1000,那么也可以跳轉到其他地址,比如復位地址了。

以6638為例。430的復位中斷矢量地址是0xFFFE,里面存儲了將要跳轉的物理地址。6638的代碼區起始地址是0x8000,正常復位是先進入復位中斷,然后PC指針導入地址0x8000,然后從0x8000開始執行代碼。那么軟復位則是,執行((void (*)())0x8000)(),直接PC指針被導入0x8000的地址,而這個地址正好是6638的代碼區起始地址,于是軟復位了。個人分析一下這個指令,如有錯誤敬請大神們指正。

從代碼上講,(void (*)()是一個指向空函數的指針,((void (*)())0x8000)()是將0x8000強制轉換為函數指針后進行函數調用,于是0x8000便被送入了PC指針。

對于其他的430單片,去查其數據手冊FLASH段,弄清其代碼區的開始地址,也可以用這個方法軟復位了。

實測,IAR,CCS下編譯、實踐通過。

最后,查了一下,對于計算機系的這個方法可能是常識了,但是對于搞單片機嵌入式的大多還不知曉,個人就寫出來,大家交流交流。已經知道這個方法的高手們,就一笑而過吧!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6032

    文章

    44514

    瀏覽量

    632976
  • 430
    430
    +關注

    關注

    0

    文章

    14

    瀏覽量

    16808
收藏 人收藏

    評論

    相關推薦

    復位那些小事—典型的復位流程

    在聊到復位的時候總會區分兩個概念:硬復位復位
    的頭像 發表于 12-04 13:46 ?2977次閱讀

    430復位芯片出現死機現象

    測試時430用的是149的片子,復位芯片用的是TPS3823,測試的目的是想看看這外部看門狗的準確性,程序很簡單只有一個定時器和一個串口發送數據,但是單片機死機了。這個問題我怎么也想不通,就算是
    發表于 04-18 01:29

    STM32系統復位方法是什么

    STM32系統復位方法是什么
    發表于 11-26 06:11

    MSP430復位信號有哪幾種呢

    MSP430復位信號有2種:文檔:上電清除信號(PUC)、上電復位信號(POR)。個人理解:POR是第一次上電復位,PUC是在帶電的情況下發生復位
    發表于 02-15 07:44

    MSP430復位信號有哪幾種

    MSP430復位信號有2種:文檔:上電清除信號(PUC)、上電復位信號(POR)。個人理解:POR是第一次上電復位,PUC是在帶電的情況下發生復位
    發表于 02-15 06:58

    msp430是如何實現復位功能的?

    msp430是咋樣實現復位功能的?
    發表于 10-17 06:17

    基于MSP430F2的系統復位

    系統的復位系統由POR和PUC信號驅動,各種不同的事件能觸發產生這些復位信號,而根據不同的復位信號會產生不同的初始化狀態。
    發表于 09-21 15:59 ?1次下載
    基于MSP<b class='flag-5'>430</b>F2的系統<b class='flag-5'>復位</b>

    MSP430F常用模塊應用原理總結

    MSP430單片機系統復位電路從上MSP430系統復位電路功能模塊圖中可以看到了兩個復位信號,一個是上電
    發表于 04-23 10:10 ?7次下載
    MSP<b class='flag-5'>430</b>F常用模塊應用原理總結

    MSP430單片機復位電路可靠性設計詳析

    為了解決混合信號控制器MSP430在實際應用中常遇到的因偶發復位失效而造成整個電路系統死機的問題,對MSP430系列單片機的復位機制進行了深入淺出的分析,提出了對MSP
    發表于 04-27 11:01 ?17次下載
    MSP<b class='flag-5'>430</b>單片機<b class='flag-5'>復位</b>電路可靠性設計詳析

    MCU復位原理詳解

    想要實現復位,先給VRCTKEY賦個0x05FA,再想SYSRESETEQ寫1即可實現復位
    發表于 10-27 10:47 ?9313次閱讀

    MSP430教程之MSP430單片機復位電路的詳細資料說明

    從上MSP430系統復位電路功能模塊圖中可以看到了兩個復位信號,一個是上電復位信號POR(Power On Reset)和上電清除信號PUC(Power Up Clear)。
    發表于 03-21 18:24 ?11次下載
    MSP<b class='flag-5'>430</b>教程之MSP<b class='flag-5'>430</b>單片機<b class='flag-5'>復位</b>電路的詳細資料說明

    MSP430單片機的復位系統有哪些常見問題應該如何解決

    Q1:請問msp430 怎么手動復位啊?是不是連到RST/NMI 上?但是這個腳不是和JTAG 連嗎?我看到一些資料上說復位的話還要上拉電阻或者復位電路。
    發表于 09-04 17:27 ?0次下載
    MSP<b class='flag-5'>430</b>單片機的<b class='flag-5'>復位</b>系統有哪些常見問題應該如何解決

    【PUC、POR】MSP430復位信號

    MSP430復位信號有2種: 文檔: 上電清除信號(PUC)、 上電復位信號(POR)。 個人理解: POR是第一次上電復位,PUC是在帶電的情況下發生
    發表于 12-16 16:56 ?12次下載
    【PUC、POR】MSP<b class='flag-5'>430</b>的<b class='flag-5'>復位</b>信號

    【PUC、POR】MSP430復位信號_liangchaoxi的IT博客_新浪博客

    MSP430復位信號有2種: 文檔: 上電清除信號(PUC)、 上電復位信號(POR)。 個人理解: POR是第一次上電復位,PUC是在帶電的情況下發生
    發表于 12-16 16:57 ?11次下載
    【PUC、POR】MSP<b class='flag-5'>430</b>的<b class='flag-5'>復位</b>信號_liangchaoxi的IT博客_新浪博客

    stm32復位 內核復位和系統復位

    內核復位:它會使STM32內核(Cortex-M)進行復位,而不會影響其外設,如GPIO、TIM、USART、SPI等這些寄存器的復位
    的頭像 發表于 08-01 17:21 ?4666次閱讀