《電子技術應用》
您所在的位置:首頁 > 微波|射頻 > 設計應用 > 片外FIash存儲器IAP的n種方案
片外FIash存儲器IAP的n種方案
摘要: 針對嵌入式應用系統片外Flash存儲器IAP無現成方案的問題,介紹一種基于代碼重入思想的片外存儲器IAP解決方案。結合LPC2210及SST39VFl60芯片,簡介兩款芯片特點,給出應用連接框圖;分析IAP實現要點,并給出IAP的實現代碼。
Abstract:
Key words :

   
    引 言
    
    以ARM芯片為處理器核的嵌入式應用系統,以其小體積、低功耗、低成本、高性能、豐富的片內資源以及對操作系統的廣泛支持,得到了人們越來越多的青睞。包括工業控制領域、無線通信領域、網絡應用、消費電子、成像和安全產品等,如今,ARM微處理器及嵌入式技術的應用幾乎已經滲透到了各個領域。其中ARM7作為ARM微處理器系列中的一員,是低功耗的32位RISC處理器。Samsung公司的S3C4510B、Philips公司的LPC20XX、LPC21XX、LPC22XX系列等都是ARM7處理器。這些為數繁多的ARM7處理器,因其片內外設不同而各擅所長,但都應用同樣的ARM7TDMI核(或ARM7TDMI—S核,這是ARM7TDMI的綜合版本,這兩種核對處理器應用人員來說沒有區別)??梢哉f,ARM7TDMI是目前使用最為廣泛的32位嵌入式RIsc處理器。ARM7TDMI核應用馮·諾依曼結構,處理器使用的存儲器中數據和程序指令不予區分,PC寄存器指向的存儲器單元,無論是ROM區還是RAM區,只要符合ARM指令的格式都可以執行,這就為系統自修改提供了可能。在應用編程IAP(InApplicatAion Program)就是這樣的自修改程序。它先在RAM存儲器中寫人數據值,然后使PC指向該存儲段,把該段作為程序段來執行。很多ARM7芯片自帶IAP處理器,應用其自帶的IAP處理器可以方便地對其片內集成的Flash存儲器進行在應用編程,但幾乎所有的ARM核芯片均不支持片外IAP處理,因為片外Flash存儲器是用戶選型的,芯片生產廠家無法先知先覺,而不同Flash存儲器其編程時序也不盡相同,導致芯片生產廠家無法提供通用的IAP代碼。那么,如何對嵌入式系統的片外Flash存儲器進行在應用編程呢?這里分兩種情況:一是普通代碼存放在片外單獨1片Flash中,IAP代碼在另一片Flash中完成,此時只要依據Flash的操作時序執行IAP代碼,完成擦除或寫入操作即可。這種情況雖然簡單,但應用了2片Flash;而IAP代碼很小,一般完全可以集成到1片中,所以這里對這種情況不予考慮。另一種情況是1片Flash中既要存儲普通代碼,又要實現IAP。下面以Phnips公司的LPC2210 和 Silicon storage Technology 公司的SST39VFl60為例,詳細討論這種情況IAP的解決方案。
    
    1 硬件結構
    
    1.1 LPC2210介紹
    
    Philips公司的LPC22lO是一款基于支持實時仿真和嵌入式跟蹤的16/32位ARM7TDMI-SCPU的微控制器。芯片采用144腳封裝,有16 KB片內靜態RAM,開放外部總線;通過外部存儲器接口可將外部存儲器配置成4組,每組的容量高達16 Mb,數據寬度8/16/32位均可;具有多個32位定時器、8路lO位PWM輸出、多個串行接口(包括2個16C550工業標準UART、高速I2C接口和2個sPI接口)以及9個外部中斷、多達76個可承受5 V電壓的通用I/O口,同時內嵌實時時鐘和看門狗,片內外設功能豐富強大;片內晶振頻率范圍l~30 MHz,通過片內PLL可實現最大為60 MHz的CPU工作頻率,具有2種低功耗模式——空閑和掉電,通過外部中斷將處理器從掉電模式中喚醒,并可通過個別使能/禁止外部功能來優化功耗。以上特性,使其特別適用于工業控制、醫療系統、訪問控制和POS機,同時也非常適合于通信網關協議轉換器,嵌入式軟Modem,以及其他各種類型的應用。
    
    1.2 SST39VFl60介紹
    
    Silicon StoraLge Technology公司的SST39VFl60是一個lM×16b的CMOS多功能Flash器件,單電壓的讀和寫操作,電壓范圍3.O~3.6 V,提供48腳TSOP和48腳TFBGA兩種封裝形式。
    
    該器件主要操作包括讀、字編程、扇區/塊擦除和芯片擦除操作。擦除和字編程必須遵循一定的時序,表l列出了扇區擦除和字編程過程及時序。擦除或編程操作過程中讀取觸發位DQ6將得到“1”和“O”的循環跳變;而操作結束后讀DQ6,得到的是不變的固定值。這是器件提供的寫操作狀態檢測軟件方法。
    
    
    1.3 硬件連接
    SST39VF160作為系統的程序存儲器,以LPC2210的CSO作為Flash的片選信號,處理器配置Boot引腳為16位數據總線寬度后,上電可直接執行SST39VFl60中代碼。此Flash芯片為16位數據寬度,無字節控制總線,所以應用中不使用LPC2210的BLS引腳。系統結構示意圖如圖l所示。
     
    
     
    2 軟件實現
    
    2.1 IAP實現要點分析
    
    在嵌入式應用系統中,通常要求記錄一些現場的傳感、交互輸入數據,通常把數據記錄在Flash存儲器中,以便下次上電能獲取以前的數據。如果系統程序和數據分開存儲,那么只要對存放數據的Flash器件進行編程即可。然而大多數嵌入式系統,程序和需保存的數據都共存于同一Flash存儲器中,那么是否也如前所述,可對Flash存儲器直接編程呢?理論和實踐都表明不可以。先從理論上計算:LPC22lO允許的芯片核工作頻率(CCLK)范圍是10~60 MHz,存儲器讀訪問長度由存儲器組配置寄存器BCFG中讀訪問的長度域控制WSTl控制,其最大可用長度為35個CCLK,而SST39VFl60的扇區擦除典型時間為18 ms。下面是計算算式:
    
    TRDmax=RDLenmax/CCLKmin=35/10×10一6=3.5 μs
    
    .TD=18 ms》3.5μs
    
    其中:TRDmax—最大讀訪問時間;
    
    RDLenmix——最大讀訪問可用長度;
    
    CCLKmin——最小核工作時鐘頻率;
    
    Tp——扇區擦除典型時間。
    
    算式得出扇區擦除典型時間遠大于最大讀訪問時間。這樣一來,如果再給某Flash寫數據,同時于其中預取指,那么因F1ash在執行命令期間,對其他操作不響應,預取出的必定是其數據引腳上的不確定數據,預取指失敗。實踐也表明,如果在程序執行過程中,對同一Flash進行扇區擦除,必定引起預取指中斷。
    
    為了解決在同一Flash芯片存放程序并IAP這一問題,引進代碼重映射的思想。所謂重映射就是代碼先自復制到指定存儲區,然后跳轉到指定區的起點開始執行。這里,lAP程序先自復制到LPC2210片內SRAM中,然后跳轉到SRAM執行lAP代碼。前面說過,ARM7為馮·諾依曼結構,這就為IAP程序重映射提供了可能。
    
    編寫可重映射代碼的關鍵是要解決程序中相對偏移的問題,ARM7指令系列中涉及相對偏移的指令主要有LDR/STR以及跳轉指令。這里的解決方案是:凡涉及偏移值的指令通通采用基址變址尋址方式,以PC寄存器作基址寄存器,以立即數為變址,這樣當程序塊整塊移動時,要加載的數據或跳轉的地址與當前Pc值的偏移值固定,解決了相對偏移問題。
    
    2.2 扇區擦除
    
    事先編程在Flash中的程序先自復制到SRAM指定的位置,然后,賦PC為SRAM中扇區編程代碼段的起點ERASEPART。程序于SRAM中的ERASEPART起點開始執行,按照SST39VF160扇區擦除的時序要求開始擦除。按照ARM公司提出的ATPCS規定,C語言程序調用匯編程序時,寄存器R0一R3傳遞參數,返回值由寄存器RO傳遞原則,扇區擦除程序的一個參數,要擦除的扇區號,由RO傳遞;返回參數置于R0,扇區擦除成功返回“1”,否則返回“0”。
    
    2.3 字編程
    
    程序于SRAM中的PROGRAMPART起點開始執行,按照SST39VFl60字編程的時序要求開始編程。入口參數有三個,依次為編程地址、數據起始地址、編程數據長度。字編程成功返回“1”,否則返回“0”。
    
    3 結論
    
    在嵌入式應用系統中,IAP是極為有效的一種技術。根據本文提出的方案,在實際應用中只需針對選用的Flash,更改特定的擦、寫操作代碼就可實現系統片外存儲器的在應用編程。文中提出的IAP代碼重入到SR—kM執行的方法,有效地解決了應用無片內程序存儲器的32位ARM處理器的嵌入式系統IAP難題,有很大的應用價值。


 

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久尤物视频| 9色精品在线| 国产欧美精品在线| 久久精品国产欧美激情| 亚洲欧美日韩天堂| 99av国产精品欲麻豆| 亚洲线精品一区二区三区八戒| 亚洲国产另类久久久精品极度| 精品成人a区在线观看| 久久免费观看视频| 亚洲国产成人在线播放| 欧美成人黑人xx视频免费观看| 欧美日韩视频一区二区三区| 欧美日韩国产不卡在线看| 精品二区视频| 亚洲欧美一区二区原创| 久久精品国产久精国产一老狼| 日韩一级在线| 亚洲图片欧美一区| 久久三级视频| 国产精品久久久久久久第一福利| 韩国一区二区在线观看| 欧美精品三级在线观看| 亚洲国产aⅴ天堂久久| 蜜臀久久99精品久久久画质超高清| 欧美性猛交一区二区三区精品| 亚洲片区在线| 午夜国产精品影院在线观看| 亚洲片在线资源| 在线观看欧美激情| 久久国产精品黑丝| 亚洲一区二区三区涩| 欧美日韩国产a| 欧美视频免费看| 久久中文字幕一区| 亚洲欧美日本日韩| 亚洲国产精品小视频| 欧美成人一区二区| 国产日韩精品一区二区三区在线| 国产日韩欧美91| 欧美色综合网| 久久免费国产| 亚洲黄色片网站| 99re66热这里只有精品3直播| 久久久久九九九九| 亚洲国产福利在线| 欧美黄网免费在线观看| 韩国女主播一区二区三区| 欧美性感一类影片在线播放| 亚洲国产成人av好男人在线观看| 亚洲精选在线| 国产偷国产偷精品高清尤物| 欧美激情亚洲| 国产欧美视频一区二区三区| 欧美成人免费视频| 欧美一级在线视频| 国产精品都在这里| 国内精品国语自产拍在线观看| 欧美一区二区三区在线观看视频| 国产精品v日韩精品| 亚洲午夜精品一区二区| 在线观看亚洲一区| 国产日韩av高清| 亚洲欧洲三级| 一区二区日本视频| 一区二区三区在线看| 久久久久国色av免费看影院| 欧美日韩在线第一页| 性感少妇一区| 亚洲精品国产系列| 欧美性视频网站| 国产亚洲欧美aaaa| 欧美专区在线| 国产精品久久久久久久久婷婷| 日韩视频在线你懂得| 欧美三级免费| 亚洲国产成人在线播放| 国产小视频国产精品| 久久国产精品99国产精| 国产精品免费网站在线观看| 欧美激情影音先锋| 久久精品一区二区三区不卡牛牛| 老司机午夜精品视频在线观看| 欧美成人免费网站| 一区免费视频| 久久久女女女女999久久| 久久精品99久久香蕉国产色戒| 在线欧美影院| 国产精品毛片在线看| 亚洲欧美福利一区二区| 很黄很黄激情成人| 欧美一区二区三区久久精品| 国产欧美日韩视频一区二区三区| 亚洲影院色无极综合| 欧美色播在线播放| 欧美日韩亚洲高清一区二区| 久色婷婷小香蕉久久| 欧美精品成人| 一区二区高清| 欧美日韩国产丝袜另类| 亚洲欧美一级二级三级| 亚洲一区二区三区乱码aⅴ| 欧美三级午夜理伦三级中文幕| 黑人巨大精品欧美一区二区小视频| 91久久精品美女高潮| 激情五月婷婷综合| 欧美电影在线播放| 久久久久久9999| 国产精品视频区| 精品999网站| 欧美亚洲三区| 免费观看成人| 精品成人a区在线观看| 欧美在线视频免费播放| 亚洲欧美国产视频| 亚洲激情中文1区| 老牛国产精品一区的观看方式| 国产日韩欧美精品一区| 精品粉嫩aⅴ一区二区三区四区| 欧美精品在线视频观看| 国产日韩欧美另类| 国内自拍视频一区二区三区| 美女黄毛**国产精品啪啪| 亚洲一级二级在线| 亚洲综合日韩中文字幕v在线| 国产欧美1区2区3区| 国产欧美日韩视频| 欧美日韩综合一区| 久久久午夜视频| 久久久国产视频91| 麻豆精品一区二区综合av| 国产一区二区三区四区老人| 久色婷婷小香蕉久久| 日韩一级片网址| 免费观看一级特黄欧美大片| 亚洲一区二区少妇| 国产毛片精品视频| 国产精品亚洲片夜色在线| 欧美亚洲视频在线观看| 久久免费99精品久久久久久| 亚洲欧洲在线看| av成人动漫| 亚洲国产精品精华液2区45| 久久精品天堂| 国产亚洲精品久久久久久| 国产欧美一区二区三区在线看蜜臀| 亚洲视频在线观看一区| 欧美激情一区三区| 欧美高清在线一区二区| 亚洲高清一区二区三区| 亚洲第一精品夜夜躁人人爽| 亚洲精品一区二区三区不| 久久精品日产第一区二区| 亚洲一区二区三区久久| 亚洲资源在线观看| 欧美日韩一区在线观看视频| 欧美激情视频给我| 欧美在线网址| 亚洲国产精品高清久久久| 亚洲人成欧美中文字幕| 亚洲自拍偷拍网址| 欧美成年人网站| 欧美极品色图| 欧美男人的天堂| 91久久久一线二线三线品牌| 国产欧美日韩视频一区二区| 狂野欧美性猛交xxxx巴西| 欧美一区二区在线视频| 精品动漫3d一区二区三区免费| 欧美日韩色婷婷| 亚洲国产精品精华液网站| 久久久青草婷婷精品综合日韩| 欧美激情综合色| 国外成人网址| 久久久之久亚州精品露出| 久久青草欧美一区二区三区| 国产婷婷色综合av蜜臀av| 日韩亚洲在线观看| 伊人久久大香线蕉综合热线| 亚洲福利视频网站| 欧美日韩第一区日日骚| 亚洲福利国产精品| 亚洲人成在线播放| 亚洲国产你懂的| 99热免费精品在线观看| 国产精品麻豆欧美日韩ww| 国产精品稀缺呦系列在线| 国产精品久久久91| 91久久久一线二线三线品牌| 亚洲承认在线| 日韩一级裸体免费视频| 好看的日韩视频| 欧美精品久久99久久在免费线| 久久久久久久性| 国产精品无码永久免费888| 国产丝袜美腿一区二区三区| 欧美视频官网| 在线观看一区视频| 亚洲精品国产精品国自产在线| 亚洲精品免费电影| 国产日韩精品一区观看| 亚洲黄网站在线观看| 亚洲第一网站| 午夜精品网站| 久久久亚洲影院你懂的| 蜜桃av一区二区在线观看| 亚洲欧美激情一区二区| 国产日韩欧美另类| 亚洲一区二区欧美日韩| 亚洲精品少妇30p| 美女免费视频一区| 亚洲国语精品自产拍在线观看| 欧美激情亚洲自拍| 欧美精品亚洲一区二区在线播放| 欧美精品二区三区四区免费看视频| 欧美激情视频免费观看| 另类春色校园亚洲| 国产欧美日韩在线播放| 国产精品超碰97尤物18| 欧美色视频一区| 欧美成人免费小视频| 欧美精品尤物在线| 国产日韩欧美精品综合| 欧美成人免费va影院高清| 美女啪啪无遮挡免费久久网站| 亚洲欧洲视频在线| 久久av红桃一区二区小说| 欧美日韩国产电影| 久久久青草青青国产亚洲免观| 欧美日韩亚洲高清| 亚洲视频自拍偷拍| 欧美多人爱爱视频网站| 在线看片成人| 午夜日韩av| 亚洲欧洲综合另类在线| 欧美激情综合网| 久久资源av| 亚洲欧美日韩成人高清在线一区| 欧美人成免费网站| 久久精品中文字幕一区二区三区| 欧美激情在线免费观看| 欧美亚洲在线观看| 一区精品久久| 在线成人免费视频| 久久免费观看视频| 亚洲图片你懂的| 欧美久久婷婷综合色| 欧美先锋影音| 夜夜嗨av一区二区三区四季av| 欧美日韩不卡| 久久精品国产99精品国产亚洲性色| 欧美wwwwww| 国产欧美日韩在线播放| 国产精品久久久久免费a∨大胸| 欧美视频专区一二在线观看| 欧美中文字幕在线观看| 国产精品综合色区在线观看| 国产在线日韩| 亚洲精品在线一区二区| 久久se精品一区二区| 欧美啪啪成人vr| 国产精品h在线观看| 国产精品网站在线| 午夜精品久久99蜜桃的功能介绍| 亚洲欧美一区二区激情| 国产精品久久久久久久久久久久久| 欧美图区在线视频| 国产一区二区三区四区hd| 性久久久久久久| 亚洲国产精品va在看黑人| 久久综合婷婷| 亚洲精品一区二区三区福利| 激情av一区二区| 激情亚洲一区二区三区四区| 欧美偷拍一区二区| 久久久久国产精品厨房| 亚洲品质自拍| 欧美午夜精品久久久久免费视| 久久精品免费观看| 国产精品天美传媒入口| 亚洲一区中文| 欧美片在线播放| 久久国产精品亚洲va麻豆| 亚洲日本中文| 欧美色视频日本高清在线观看| 欧美午夜精品伦理| 欧美专区亚洲专区| 欧美寡妇偷汉性猛交| 久久免费黄色| 国产在线播放一区二区三区| 久久久久久一区二区三区| 欧美成人黄色小视频| 欧美成年人网站| 亚洲欧美一区二区激情| 国产精品美女www爽爽爽| 香蕉久久夜色精品国产使用方法| 亚洲国产va精品久久久不卡综合| 亚洲激情视频网| 国产一区二区黄色| 欧美日本一道本在线视频| 亚洲福利电影| 亚洲欧洲中文日韩久久av乱码| 国产精品社区| 亚洲综合国产| 国产精品成人免费| 亚洲精品一区二区三| 亚洲电影观看| 国产农村妇女精品一二区| 免费一级欧美在线大片| 日韩视频一区二区三区在线播放| 亚洲美女免费精品视频在线观看| 亚洲国产精品123| 久热综合在线亚洲精品| 日韩午夜激情电影| 欧美视频网站| 一本久道久久综合狠狠爱| 狠狠色综合网| 最新亚洲激情| 在线观看视频一区二区欧美日韩| 亚洲精品久久嫩草网站秘色| 亚洲天堂成人| 国产精品一二一区| 欧美伦理一区二区| 精品成人在线观看| 国外视频精品毛片| 欧美日韩一区二区三| 国产欧美日韩不卡免费| 欧美jizz19hd性欧美|