<tfoot id="ygvxt"><menuitem id="ygvxt"></menuitem></tfoot>
    • <kbd id="ygvxt"></kbd>
      <th id="ygvxt"><progress id="ygvxt"></progress></th>

      您好,歡迎訪問上海意泓電子科技有限責任公司網(wǎng)站!
      4新聞資訊
      您的位置: 首頁 ->  新聞資訊 -> 單片機

      ?一種430軟復位方法(原創(chuàng))

      文章出處:單片機 責任編輯:上海意泓電子科技有限責任公司 發(fā)表時間:
      2018
      05-19

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


      因為在搞程序的燒寫下載,所以看了一下430的BSL??吹嚼锩嬗幸欢卧?,關于從C代碼中啟動BSL的方法。如下:


      從一個外部應用中啟動BSL

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

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


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


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


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


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


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


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


      上海意泓電子科技有限責任公司 版權所有 未經(jīng)授權禁止復制或鏡像

      CopyRight 2020-2025 www.hljhgw.com All rights reserved   滬ICP備2021005866號

      国产强伦姧在线观看,…中文天堂在线一区,亚洲欧洲精品污网站在线观看,在线视频综合站 亚太影院 柯西贝尔-游戏赚网
      <tfoot id="ygvxt"><menuitem id="ygvxt"></menuitem></tfoot>
        • <kbd id="ygvxt"></kbd>
          <th id="ygvxt"><progress id="ygvxt"></progress></th>

          精品国产片免费观看| 免费无码不卡视频在线| 99re这里都是精品视频在线观看| 久久精品成人无码观看不卡| 精品亚洲欧美在线看| 国产高清日韩无码一区二区| 国产一级原创精品无码视频| 真实国产精品视频400部| 亚洲黄色网站在线播放| 337p亚洲欧洲日本大胆| 国产精品亚洲综合一区在| 久久永久免费精品视频网站| 无码免费不卡的毛片视频| 亚洲免费无码片中文字幕| 97碰人妻免费碰碰碰| 亚州熟妇无码AV线播放| 在线亚洲乱码视频| 国产精品自在线拍国产第一页 | 国产最大无码中文字幕| 成在线无码高潮喷水AV片| 中文字幕不卡二区亚洲| 99热精品毛片全部国产无缓冲|