91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

編程sector0中的page0時(shí)候總是失敗問(wèn)題

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

責(zé)任編輯:haq

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

    關(guān)注

    5051

    文章

    14594

    瀏覽量

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

    關(guān)注

    90

    文章

    3716

    瀏覽量

    97184

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    探索LMK61E0M:超低抖動(dòng)可編程振蕩器的卓越性能與應(yīng)用

    探索LMK61E0M:超低抖動(dòng)可編程振蕩器的卓越性能與應(yīng)用 在電子設(shè)計(jì)領(lǐng)域,時(shí)鐘振蕩器的性能對(duì)于整個(gè)系統(tǒng)的穩(wěn)定性和數(shù)據(jù)處理能力起著至關(guān)重要的作用。今天,我們將深入探討一款高性能的時(shí)鐘振蕩器
    的頭像 發(fā)表于 02-08 13:50 ?482次閱讀

    為什么你的產(chǎn)品總是在EMC測(cè)試失敗?如何規(guī)避認(rèn)證失敗?

    “ ? 本文件總結(jié)了七個(gè)常見(jiàn)的 PCB 設(shè)計(jì)錯(cuò)誤,這些錯(cuò)誤可能導(dǎo)致產(chǎn)品在認(rèn)證過(guò)程失敗,特別是在電磁兼容性(EMC)和射頻(RF)方面。 ? ” 強(qiáng)烈 推薦聽(tīng)一下播客,播客內(nèi)容比文字更詳細(xì)、更精
    的頭像 發(fā)表于 09-16 11:15 ?4908次閱讀
    為什么你的產(chǎn)品<b class='flag-5'>總是</b>在EMC測(cè)試<b class='flag-5'>中</b><b class='flag-5'>失敗</b>?如何規(guī)避認(rèn)證<b class='flag-5'>失敗</b>?

    ?LMK61E0M可編程振蕩器技術(shù)文檔總結(jié)

    LMK61E0 系列超低抖動(dòng) PLLatinum^TM的^可編程振蕩器使用帶有集成VCO的小數(shù)N頻率合成器來(lái)生成常用的參考時(shí)鐘。該LMK61E0M支持3.3V LVCMOS輸出。該器件具有從片內(nèi)
    的頭像 發(fā)表于 09-13 09:46 ?1283次閱讀
    ?LMK61E<b class='flag-5'>0</b>M可<b class='flag-5'>編程</b>振蕩器技術(shù)文檔總結(jié)

    uffs文件系統(tǒng)掛載nand0設(shè)備后,所有塊全變成壞塊了,是什么原因?qū)е碌模?/a>

    ; int sr2 = 0; rt_uint8_t page_data[4], column_data[4]; rt_uint16_t column_addr = 0; rt_uint8_t oob
    發(fā)表于 09-12 08:13

    LP-MSPM0G3507 LaunchPad?開(kāi)發(fā)套件技術(shù)解析與應(yīng)用指南

    Texas Instruments LP-MSPM0G3507 LaunchPad? 開(kāi)發(fā)套件用于評(píng)估MSPM0G3507。TI LP-MSPM0G3507套件包含在MSPM0G350
    的頭像 發(fā)表于 08-19 14:27 ?1253次閱讀
    LP-MSPM<b class='flag-5'>0</b>G3507 LaunchPad?開(kāi)發(fā)套件技術(shù)解析與應(yīng)用指南

    求助,關(guān)于TLE9883 user_nvm_sector_erase的問(wèn)題求解

    我正在嘗試測(cè)試用于擦除和寫(xiě)入閃存不同部分的 NVM API 函數(shù)。我從 FLASH0 運(yùn)行代碼。當(dāng)我嘗試使用 user_nvm_page_erase 函數(shù)并傳入 0x12002000( FLASH1
    發(fā)表于 08-15 06:05

    上傳壓縮包的時(shí)候總是顯示上傳失敗,為什么?

    上傳壓縮包的時(shí)候總是顯示上傳失敗是說(shuō)明原因
    發(fā)表于 07-23 08:17

    rtt only系統(tǒng)下程序運(yùn)行失敗: [FATAL ERROR] Exception 13:Load Page Fault,怎么解決?

    Executable-only Pagesatp = 0x80000000000047d2Current Page Table(Physical) = 0x00000000047d2000Current ASID
    發(fā)表于 06-20 07:30

    FX3 RAM編程因定制板而失敗怎么解決?

    USBBulkSourceSink.img 寫(xiě)入 RAM 時(shí),控制中心顯示編程失敗。 ?我已確認(rèn)該圖像在評(píng)估板上成功。 ?我已將 PMODE[2:0] 設(shè)置為 z11。 ?我確認(rèn)時(shí)鐘是26MHz。 ?確認(rèn)電源正常。 請(qǐng)查看以下
    發(fā)表于 05-15 08:22

    瑞薩RA0系列MCU喜添新成員RA0E2

    RA家族2024年推出全新的RA0超低功耗系列,繼RA0E1產(chǎn)品后,新添成員RA0E2。RA0E2具有出色的成本效益和超低功耗。此外,RA0
    的頭像 發(fā)表于 05-06 09:29 ?1249次閱讀
    瑞薩RA<b class='flag-5'>0</b>系列MCU喜添新成員RA<b class='flag-5'>0</b>E2

    I2C EEPROM編程失敗的原因?

    我嘗試使用 Cy Control Center 實(shí)用程序?qū)⒐碳螺d到我的 EVM , 第一天,我嘗試了很多次,但都失敗了,比如下面的錯(cuò)誤, I2C EEPROM 編程失敗。 我搜索
    發(fā)表于 05-06 07:25

    新品 | RA0系列MCU喜添新成員RA0E2,0.25uA超低功耗待機(jī),支持5v、125c

    RA家族2024年推出全新的RA0超低功耗系列,繼RA0E1產(chǎn)品后,新添成員RA0E2。RA0E2具有出色的成本效益和超低功耗。此外,RA0
    的頭像 發(fā)表于 05-01 08:15 ?1409次閱讀
    新品 | RA<b class='flag-5'>0</b>系列MCU喜添新成員RA<b class='flag-5'>0</b>E2,0.25uA超低功耗待機(jī),支持5v、125c

    用STM32F407讀取ADS8353的結(jié)果總是0

    在調(diào)試ADS8353電路遇到一些問(wèn)題,不管配置完CFR寄存器回讀還是讀取數(shù)據(jù)結(jié)果總是0,芯片手冊(cè)也看過(guò)感覺(jué)電路設(shè)計(jì)焊接這些也沒(méi)問(wèn)題,代碼自認(rèn)為也沒(méi)出錯(cuò),但結(jié)果總是0,希望有人能解答
    發(fā)表于 04-24 17:33

    MSPM0L1227 32MHz Arm? Cortex-M0?+ MCU數(shù)據(jù)手冊(cè)

    MSPM0Lx22x 微控制器 (MCU) 屬于基于 Arm Cortex-M0+ 32 位內(nèi)核平臺(tái)的高度集成、超低功耗 32 位 MSPM0 MCU 系列,工作頻率高達(dá) 32MHz。這些 MCU
    的頭像 發(fā)表于 04-14 15:55 ?1143次閱讀
    MSPM<b class='flag-5'>0</b>L1227 32MHz Arm? Cortex-M<b class='flag-5'>0</b>?+ MCU數(shù)據(jù)手冊(cè)

    0STM32的SysTick是個(gè)啥?咋用?(可下載)

    Cortex-Mx內(nèi)核內(nèi)部包含了一個(gè)SysTick定時(shí)器,SysTick是一個(gè)24位的倒計(jì)數(shù)定時(shí)器,當(dāng)計(jì)到0時(shí),將從RELOAD寄存器自動(dòng)重裝載定時(shí)初值。只要不把它在SysTick控制及狀態(tài)寄存器
    發(fā)表于 04-01 14:52 ?0次下載