• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      NXP ARM的自升級(jí)方法

      2015-07-24 15:13:32馬玲
      電腦知識(shí)與技術(shù) 2015年14期
      關(guān)鍵詞:波特率字符串存儲(chǔ)器

      馬玲

      摘要:該論文介紹了一種新型的NXP ARM FLASH自動(dòng)編程方法。該方法通過(guò)上電之前對(duì)管腳預(yù)先設(shè)置,使芯片進(jìn)入ISP模式,通過(guò)自動(dòng)波特率檢測(cè)匹配串口,通過(guò)串口將代碼燒寫(xiě)到FLASH里。

      關(guān)鍵詞:自動(dòng)引導(dǎo);FLASH

      中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)14-0232-02

      Abstract:This paper introduces a new NXP ARM FLASH automatic programme method. The method set the PIN before power on and make the chip go into the ISP mode.Then the chip check the sci port and programme the Flash through SCI.

      Key words: boot loader; FLASH

      1 簡(jiǎn)介

      NXP半導(dǎo)體LPC24XX系列圍繞16/32位的ARM7TDMI-S CPU內(nèi)核來(lái)設(shè)計(jì)微控制器,該CPU內(nèi)核帶有實(shí)時(shí)調(diào)試接口,包含JTAG和嵌入式跟蹤。LPC2468的Flash存儲(chǔ)器容量高達(dá)512kB,并且設(shè)計(jì)有獨(dú)特的128位位寬的存儲(chǔ)器接口以及accelerate結(jié)構(gòu),使CPU的執(zhí)行速率高達(dá)72MHz,從而大大提高Flash存儲(chǔ)器程序的執(zhí)行速度。芯片自帶的Bootloader控制上電復(fù)位后的初始化程序,并可通過(guò)串口完成Flash存儲(chǔ)器編程。Bootloader可實(shí)現(xiàn)對(duì)裸片的燒寫(xiě)、已完成燒寫(xiě)的flash的擦除和再燒寫(xiě)以及在程序運(yùn)行時(shí)使用應(yīng)用程序?qū)lash存儲(chǔ)器進(jìn)行燒寫(xiě)。

      2 實(shí)現(xiàn)原理

      Flash bootloader程序可提供ISP和IAP兩種編程接口,能夠完成燒寫(xiě)片內(nèi)Flash存儲(chǔ)器的功能。

      Bootloader區(qū)的Flash大小為8kB,位于片內(nèi)Flash存儲(chǔ)器空間地址最大處(從0x0007 E000開(kāi)始)。上電或復(fù)位后,整個(gè)boot區(qū)也被映射到片內(nèi)存儲(chǔ)器空間的頂端,即boot區(qū)位于從地址0x7FFF E000開(kāi)始的存儲(chǔ)區(qū)。Flash boot裝載程序就從這片存儲(chǔ)區(qū)運(yùn)行,而ISP和IAP程序也均使用這部分片內(nèi)RAM。位于片內(nèi)Flash存儲(chǔ)器boot區(qū)的中斷向量,它在復(fù)位后也被激活,即boot區(qū)的最低64字節(jié)也可在從地址0x0000 0000開(kāi)始的存儲(chǔ)區(qū)中看到。復(fù)位向量包含一條跳轉(zhuǎn)指令,通過(guò)該跳轉(zhuǎn)指令,程序就從Flash boot裝載程序的首地址處,即有效的用戶(hù)代碼的入口處開(kāi)始執(zhí)行。

      芯片上電或復(fù)位時(shí)會(huì)運(yùn)行Flash boot裝載程序代碼。該裝載程序可執(zhí)行芯片自帶的ISP命令處理程序或用戶(hù)自己編寫(xiě)的應(yīng)用代碼。當(dāng)復(fù)位后管腳P2.10的電壓為低電平時(shí),啟動(dòng)ISP命令處理器的外部硬件請(qǐng)求。假定在管腳上產(chǎn)生上升沿時(shí)電源管腳在指定的電平下操作,那么在采樣P2.10之前最多只允許有3ms的時(shí)間,并且還要確定是執(zhí)行ISP處理程序還是用戶(hù)編寫(xiě)的代碼。假如管腳P2.10的電壓為低電壓且檢測(cè)到芯片看門(mén)狗溢出標(biāo)志位置位,那么啟動(dòng)ISP命令的外部硬件請(qǐng)求將被忽略掉。當(dāng)P2.10復(fù)位后電壓為高電平,且沒(méi)有ISP命令處理器的請(qǐng)求時(shí),將尋找有效的用戶(hù)程序。若找到了有效的用戶(hù)程序,執(zhí)行控制權(quán)就被轉(zhuǎn)交給用戶(hù)程序。若沒(méi)有找到有效的用戶(hù)程序,就將調(diào)用自動(dòng)波特率程序。

      下面介紹判定有效用戶(hù)代碼標(biāo)準(zhǔn):保留的芯片中斷向量字(0x0000 0014)應(yīng)當(dāng)包含所有其他中斷向量字校驗(yàn)和的2進(jìn)制補(bǔ)碼,從而使所有中斷向量的校驗(yàn)和為0。bootloader裝載程序時(shí),代碼首先保證boot引導(dǎo)區(qū)內(nèi)的中斷向量字不重疊,然后再校驗(yàn)Flash扇區(qū)0中中斷向量字的校驗(yàn)和。如果符號(hào)差(signature)校驗(yàn)成功,那么將地址0x0000 0000裝入程序計(jì)數(shù)器,ARM的CPU控制權(quán)便由用戶(hù)代碼接管。因此在用戶(hù)Flash復(fù)位扇區(qū)內(nèi),必須包含一條跳轉(zhuǎn)指令,該指令可跳轉(zhuǎn)到用戶(hù)應(yīng)用程序代碼入口。如果符號(hào)差(signature)校驗(yàn)失敗,那么ARM自動(dòng)波特率程序會(huì)通過(guò)串口0與上位機(jī)進(jìn)行同步。上位機(jī)應(yīng)當(dāng)通過(guò)串口0發(fā)送一個(gè)同步命令字節(jié) ‘?(0x3F)并等待ARM的響應(yīng)。上位機(jī)的串口0的配置為8個(gè)數(shù)據(jù)位、1個(gè)停止位和無(wú)奇偶校驗(yàn)位。ARM自帶的自動(dòng)波特率程序由內(nèi)部的頻率計(jì)算通過(guò)串口0接收到的同步命令字節(jié)的位時(shí)間,并設(shè)置串口0的波特率發(fā)生器,從而使串口0的波特率與上位機(jī)相匹配。此外,它還向上位機(jī)發(fā)送一組字符串(“Synchronized”),上位機(jī)在接收到該字符串(“Synchronized”)后,將該字符串再發(fā)送給自動(dòng)波特率程序,表明上位機(jī)正確收取到了同步字符串。自動(dòng)波特率程序通過(guò)收到的該組字符串來(lái)驗(yàn)證是否與上位機(jī)同步成功。如果同步成功,自動(dòng)波特率程序則向上位機(jī)發(fā)送“OK”字符串。上位機(jī)應(yīng)當(dāng)發(fā)送芯片正常工作運(yùn)行時(shí)的晶振頻率來(lái)回應(yīng),其中頻率的單位為KH。例如,如果10MH為芯片工作頻率,那么上位機(jī)將發(fā)送字符串“10000 ”作為響應(yīng)。在ARM的自動(dòng)波特率程序通過(guò)串口0獲取到晶振頻率后再向上位機(jī)發(fā)送字符串“OK”。如果同步驗(yàn)證失敗,那么自動(dòng)波特率程序就會(huì)等待下一個(gè)同步字符。要讓自動(dòng)波特率程序能夠穩(wěn)定可靠的工作,晶振頻率最小為10MHz。

      3 流程圖

      4 結(jié)論

      使用該方法可以方便地對(duì)芯片進(jìn)行程序下載,成本低,操作方便。本方法已經(jīng)在開(kāi)發(fā)板上使用,穩(wěn)定可靠。

      參考文獻(xiàn):

      [1] NXP半導(dǎo)體公司 LPC2468 user manual.2008.

      [2] 趙偉慶.ISP技術(shù)與Internet結(jié)合的應(yīng)用研究.2006.

      猜你喜歡
      波特率字符串存儲(chǔ)器
      靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
      CAN 總線波特率自適應(yīng)程序設(shè)計(jì)
      智能制造(2020年5期)2020-07-03 06:24:00
      基于FPGA的異步串行通信波特率容錯(cuò)設(shè)計(jì)
      存儲(chǔ)器——安格爾(墨西哥)▲
      一種新的基于對(duì)稱(chēng)性的字符串相似性處理算法
      基于Nand Flash的高速存儲(chǔ)器結(jié)構(gòu)設(shè)計(jì)
      依據(jù)字符串匹配的中文分詞模型研究
      C*Core芯片SCI串口波特率容限優(yōu)化
      一種針對(duì)Java中字符串的內(nèi)存管理方案
      計(jì)算機(jī)多設(shè)備接口波特率不匹配的研究
      鄂州市| 綦江县| 汾西县| 包头市| 周口市| 密云县| 蛟河市| 资溪县| 阳泉市| 柳河县| 巴彦县| 全椒县| 郎溪县| 苍南县| 金溪县| 乌海市| 兴文县| 襄樊市| 文安县| 财经| 彭阳县| 南昌县| 乌审旗| 米脂县| 册亨县| 乳山市| 汕头市| 惠东县| 潮安县| 沐川县| 罗源县| 广宁县| 济南市| 固原市| 交口县| 元谋县| 胶州市| 渭源县| 铜陵市| 五华县| 镇康县|