一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

編程sector0中的page0時候總是失敗問題

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2021-10-20 10:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本篇文章是《LPC技術(shù)小貼士-自動添加中斷向量校驗(yàn)位》的番外篇。

最近在支持客戶的時候遇到這樣一個問題:客戶在做自己的二級boot loader,并且在使用LPC54608 IAP功能,編程sector0中的page0時候總是失敗(返回0x21錯誤碼),但是編程任何其他page的時候,都沒有問題(客戶的代碼在最后一個sector里,不編程)。

問題乍一看比較詭異,因?yàn)橹挥衟age0會出問題,對其他page的操作都是沒有問題的,并且擦除page/sector也沒有問題,只有編程操作會出錯。

經(jīng)過了一段短暫的討論,最后把問題鎖定在了LPC中斷向量表的check sum校驗(yàn)機(jī)制上:LPC(除比較新的LPC5500系列外)基本都需要在中斷向量表的第8個位置上填入前7個中斷向量的校驗(yàn)和,關(guān)于校驗(yàn)和的具體內(nèi)容可以參考開篇提到的文章。

Keil編譯出來的.bin文件中,默認(rèn)并沒有自動添加這個校驗(yàn)和,所以每當(dāng)調(diào)用IAP變成page0的時候,IAP程序內(nèi)部都會檢查這個校驗(yàn)和,一旦校驗(yàn)和錯誤(比如全0) 就會返回失敗。

解決方法也很簡單,就是在每次編程page0的時候都計算下校驗(yàn)和即可,這里直接給出計算校驗(yàn)和的代碼:

213df384-30e7-11ec-82a8-dac502259ad0.png

adr為編程地址,當(dāng)adr為0時既編程page0區(qū)域,紅框內(nèi)的代碼就是計算校驗(yàn)和,并且把校驗(yàn)和填到中斷向量表的第8個位置上。

加上這段計算校驗(yàn)和代碼后,問題迎刃而解。這個問題普遍存在于除LPC5500系列外幾乎所有老的LPC型號上,希望本文章對大家開發(fā)LPC MCU有所幫助!

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5036

    文章

    13903

    瀏覽量

    474365
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95212

原文標(biāo)題:LPC工程小貼士:IAP編程page0返回失敗的問題

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用THS1206時候有兩個問題求解

    各位專家,大家好,我在使用THS1206時候有兩個問題,麻煩您幫我解答一下: 1、在test mode下,我把CR0的bit8和bit9設(shè)置為0、1時,即此時THS1206的輸出應(yīng)
    發(fā)表于 02-13 08:36

    tlv5616輸入數(shù)據(jù)是0時候總是有481mV的電壓,為什么?

    調(diào)試一個DA芯片tlv5616,發(fā)現(xiàn)輸入數(shù)據(jù)是0時候總是有481mV的電壓,有沒有那位工程師幫我解答一下
    發(fā)表于 02-06 06:04

    調(diào)試ADS1256,到了讀轉(zhuǎn)換結(jié)果的時候結(jié)果總是0,為什么?

    最近一直在調(diào)試ADS1256,目前讀寫寄存器沒有問題,但是到了讀轉(zhuǎn)換結(jié)果的時候 結(jié)果總是0,我做的是單端測量,AINp選的通道3,AINn選的是AINCOM 但總是讀不出結(jié)果來,哪
    發(fā)表于 01-09 08:12

    Master讀取tca8418時候,發(fā)送寄存器地址沒有ACK是什么原因呢?

    Master讀取tca8418時候,先是發(fā)送地址0x68,可以得到ACK,然后繼續(xù)發(fā)送寄存器地址,但是就沒有ACK? 是什么原因呢?
    發(fā)表于 12-23 06:45

    用ADS1220做了一個溫度變送器,換成熱電偶方案時候需要讀取內(nèi)部溫度傳感器數(shù)值,讀取的數(shù)據(jù)總是0x0FEA35,為什么?

    我用ADS1220做了一個溫度變送器,讀取RTD數(shù)據(jù)正確,但是換成熱電偶方案時候需要讀取內(nèi)部溫度傳感器數(shù)值,讀取的數(shù)據(jù)總是0x0FEA35 室溫在27度左右,怎么會讀出來這么大的數(shù)據(jù)??? 希望哪位大神可以幫忙解決一下,謝謝!
    發(fā)表于 12-16 07:37

    ADS1263獲取ID總是失敗,為什么?

    器件獲取ID總是失敗,數(shù)據(jù)手冊標(biāo)明的ID是1,總是得到0, 波形圖如下,應(yīng)該如何做? 為何器件的回復(fù)數(shù)據(jù)會延后 CS 以及 SCLK ? 感謝~ 圖中,
    發(fā)表于 11-21 07:09

    cdci6214 eepromsel和refsel都置為MID的時候能否正常工作?

    配置寫入寄存器,然后copy到eeprom page0了,第二次上電不是應(yīng)該自動直接從eeprom page0里面讀出數(shù)據(jù),然后產(chǎn)生波形嗎? 我想知道我們這個流程是正確的嗎?
    發(fā)表于 11-11 06:39

    TLV320ADC3101可以正確設(shè)置和讀寫PAGE0頁的數(shù)據(jù),但是讀取PAGE4頁上的寄存器值都為0,為什么?

    如題,通過csl庫提供的程序,可以正確設(shè)置和讀寫PAGE0頁的數(shù)據(jù),但是讀取PAGE4頁上的寄存器值都為0,很奇怪,數(shù)據(jù)手冊好像也沒有說讀取PAGE4與讀取其他頁面上的寄存器有什么不
    發(fā)表于 10-30 08:02

    使用TLV320AIC3256時候,當(dāng)音樂暫停時候,耳機(jī)可以聽到“滋滋”的聲音,為什么?

    使用TLV320AIC3256時候,當(dāng)音樂暫停時候,耳機(jī)可以聽到“滋滋”的聲音。
    發(fā)表于 10-24 07:15

    TLV320AIC3106配置執(zhí)行完之后,讀寄存器94值為0XC0,結(jié)果與理論不一致是哪里出了問題?

    。 第一個圖是配置,第二個圖是數(shù)據(jù)路徑的選擇,第三個圖是page0的94寄存器; 問題是: 當(dāng)配置執(zhí)行完之后,讀寄存器94值為0XC0,理論結(jié)果應(yīng)該是0XD8,這個結(jié)果與理論結(jié)果不一致,可能是什么原因,各位給分析分析,謝謝 方
    發(fā)表于 10-21 07:38

    進(jìn)行aic3106的配置時,將0x80寫入page0/regster25,讀出來卻是0x86,為什么?

    我在進(jìn)行aic3106的配置時,將0x80寫入page0/regster25,讀出來卻是0x86,該寄存器的低4位為保留值,請問是否會影響我mic輸入的聲音?
    發(fā)表于 10-15 06:49

    TLV320AIC3254使用SPI進(jìn)行設(shè)置時,如何設(shè)置寄存器?

    3254寄存器有兩頁,PAGE0PAGE1,地址為0x00和0x01,問:使用SPI該如何設(shè)置寄存器?
    發(fā)表于 10-12 07:19

    請問Page 0/Register 35和36是指的什么?對應(yīng)下表是DSP fs項(xiàng)嗎?

    請問Page 0 / Register 35和36是指的什么?對應(yīng)下表是DSP fs項(xiàng)嗎?
    發(fā)表于 10-09 10:12

    TLV320AIC3104-Q1如何設(shè)置dac的低通濾波器把高頻分量去掉?

    寫入page1 de-emphasis N0、N1、D1,再寫page0 對codec進(jìn)行配置好后寫寄存器12把de-emphasis enable,但是還是無法去掉高頻分量,嘗試過先寫pag
    發(fā)表于 09-29 06:53

    ESP8266連接到ssl服務(wù)器,但總是失敗,為什么?

    我已連接到 ssl 服務(wù)器,但總是失敗。 IP 和端口為 111.206.227.37:2001。 I want to have SSL_connect succeed even
    發(fā)表于 07-15 07:19