片外Flash存儲(chǔ)器IAP的一種方案
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問(wèn)次數(shù):510
    
    
    引言
    
    以arm芯片為處理器核的嵌入式應(yīng)用系統(tǒng),以其小體積、低功耗、低成本、高性能、豐富的片內(nèi)資源以及對(duì)操作系統(tǒng)的廣泛支持,得到了人們?cè)絹?lái)越多的青睞。包括工業(yè)控制領(lǐng)域、無(wú)線通信領(lǐng)域、網(wǎng)絡(luò)應(yīng)用、消費(fèi)電子、成像和安全產(chǎn)品等,如今,arm微處理器及嵌入式技術(shù)的應(yīng)用幾乎已經(jīng)滲透到了各個(gè)領(lǐng)域。其中,arm7作為arm微處理器系列中的一員,是低功耗的32位risc處理器。samsung公司的s3c4510b、philips公司的lpc20xx、lpc21xx、lpc22xx系列等都是arm7處理器。這些為數(shù)繁多的arm7處理器,因其片內(nèi)外設(shè)不同而各擅所長(zhǎng),但都應(yīng)用同樣的arm7tdmi核(或arm7tdmi-s核,這是arm7tdmi的綜合版本,這兩種核對(duì)處理器應(yīng)用人員來(lái)說(shuō)沒(méi)有區(qū)別)。可以說(shuō),arm7tdmi是目前使用最為廣泛的32位嵌入式risc處理器。
    
    arm7tdmi核應(yīng)用馮·諾依曼結(jié)構(gòu),處理器使用的存儲(chǔ)器中數(shù)據(jù)和程序指令不予區(qū)分,pc寄存器指向的存儲(chǔ)器單元,無(wú)論是rom區(qū)還是ram區(qū),只要符合arm指令的格式都可以執(zhí)行,這就為系統(tǒng)自修改提供了可能。在應(yīng)用編程iap(in application program)就是這樣的自修改程序。它先在ram存儲(chǔ)器中寫(xiě)入數(shù)據(jù)值,然后使pc指向該存儲(chǔ)段,把該段作為程序段來(lái)執(zhí)行。很多arm7芯片自帶iap處理器,應(yīng)用其自帶的iap處理器可以方便地對(duì)其片內(nèi)集成的flash存儲(chǔ)器進(jìn)行在應(yīng)用編程,但幾乎所有的arm核芯片均不支持片外iap處理,因?yàn)槠鈌lash存儲(chǔ)器是用戶選型的,芯片生產(chǎn)廠家無(wú)法先知先覺(jué),而不同flash存儲(chǔ)器其編程時(shí)序也不盡相同,導(dǎo)致芯片生產(chǎn)廠家無(wú)法提供通用的iap代碼。那么,如何對(duì)嵌入式系統(tǒng)的片外flash存儲(chǔ)器進(jìn)行在應(yīng)用編程呢?這里分兩種情況:一是普通代碼存放在片外單獨(dú)1片flash中,iap代碼在另一片flash中完成,此時(shí)只要依據(jù)flash的操作時(shí)序執(zhí)行iap代碼,完成擦除或?qū)懭氩僮骷纯。這種情況雖然簡(jiǎn)單,但應(yīng)用了2片flash;而iap代碼很小,一般完全可以集成到1片中,所以這里對(duì)這種情況不予考慮,另一種情況是1片flash中既要存儲(chǔ)普通代碼,又要實(shí)現(xiàn)iap。下面以philips公司的lpc2210和silicon storage technology公司的sst39vf160為例,詳細(xì)討論這種情況iap的解決方案。
    
    1 硬件結(jié)構(gòu)
    
    1.1 lpc2210介紹
    
    philips公司的lpc2210是一款基于支持實(shí)時(shí)仿真和嵌入式跟蹤的16/32位arm7tdmi-s cpu的微控制器。芯片采用144腳封裝,有16kb片內(nèi)靜態(tài)ram,開(kāi)放外部總線;通過(guò)外部存儲(chǔ)器接口可將外部存儲(chǔ)器配置成4組,每組的容量高達(dá)16mb,數(shù)據(jù)寬度8/16/32位均可;具有多個(gè)32位定時(shí)器、8路10位pwm輸出、多個(gè)串行接口(包括2個(gè)16c550工業(yè)標(biāo)準(zhǔn)uart、高速i2c接口和2個(gè)spi接口)以及9個(gè)外部中斷、多達(dá)76個(gè)可承受5v電壓的通用i/o口,同時(shí)內(nèi)嵌實(shí)時(shí)時(shí)鐘和看門狗,片內(nèi)外設(shè)功能豐富強(qiáng)大;片內(nèi)晶振頻率范圍1-30mhz,通過(guò)片內(nèi)pll可實(shí)現(xiàn)最大為60mhz的cpu工作頻率,具有2種低功耗模式--空閑和掉電,通過(guò)外部中斷將處理器從掉電模式中喚醒,并可通過(guò)個(gè)別使能/禁止外部功能來(lái)優(yōu)化功耗。以上特性,使其特別適用于工業(yè)控制、醫(yī)療系統(tǒng)、訪問(wèn)控制和pos機(jī),同時(shí)也非常適合于通信網(wǎng)關(guān)協(xié)議轉(zhuǎn)換器、嵌入式軟modem,以及其他各種類型的應(yīng)用。
    
    1.2 sst39vf160介紹
    
    silicon storage technology公司的sst39vf160是一個(gè)1m×16b的coms多功能flash器件,單電壓的讀和寫(xiě)操作,電壓范圍3.0-3.6v,提供48腳tsop和48腳tfbga兩種封裝形式。
    
    該器件主要操作包括讀、寫(xiě)編程、扇區(qū)/塊擦除和芯片擦除操作。擦除和字編程必須遵循一定的時(shí)序,表1列出了扇區(qū)擦除和字編程過(guò)程及時(shí)序。擦除或編程操作過(guò)程中讀取觸發(fā)位dq6將得到"1"和"0"的循環(huán)跳變;而操作結(jié)束后讀dq6,得到的是不變的固定值。這是器件提供的寫(xiě)操作狀態(tài)檢測(cè)軟件方法。
    
    1.3 硬件連接
    
    sst39vf160作為系統(tǒng)的程序存儲(chǔ)器,以lpc2210的cs0作為flash的片選信號(hào),處理器配置boot引腳為16位數(shù)據(jù)總線寬度后,上電可直接執(zhí)行sst39vf160中代碼。此flash芯片為16位數(shù)據(jù)寬度,無(wú)字節(jié)控制總線,所以應(yīng)用中不使用lpc2210的bls引腳。系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。
    
    
        
    
    
    引言
    
    以arm芯片為處理器核的嵌入式應(yīng)用系統(tǒng),以其小體積、低功耗、低成本、高性能、豐富的片內(nèi)資源以及對(duì)操作系統(tǒng)的廣泛支持,得到了人們?cè)絹?lái)越多的青睞。包括工業(yè)控制領(lǐng)域、無(wú)線通信領(lǐng)域、網(wǎng)絡(luò)應(yīng)用、消費(fèi)電子、成像和安全產(chǎn)品等,如今,arm微處理器及嵌入式技術(shù)的應(yīng)用幾乎已經(jīng)滲透到了各個(gè)領(lǐng)域。其中,arm7作為arm微處理器系列中的一員,是低功耗的32位risc處理器。samsung公司的s3c4510b、philips公司的lpc20xx、lpc21xx、lpc22xx系列等都是arm7處理器。這些為數(shù)繁多的arm7處理器,因其片內(nèi)外設(shè)不同而各擅所長(zhǎng),但都應(yīng)用同樣的arm7tdmi核(或arm7tdmi-s核,這是arm7tdmi的綜合版本,這兩種核對(duì)處理器應(yīng)用人員來(lái)說(shuō)沒(méi)有區(qū)別)?梢哉f(shuō),arm7tdmi是目前使用最為廣泛的32位嵌入式risc處理器。
    
    arm7tdmi核應(yīng)用馮·諾依曼結(jié)構(gòu),處理器使用的存儲(chǔ)器中數(shù)據(jù)和程序指令不予區(qū)分,pc寄存器指向的存儲(chǔ)器單元,無(wú)論是rom區(qū)還是ram區(qū),只要符合arm指令的格式都可以執(zhí)行,這就為系統(tǒng)自修改提供了可能。在應(yīng)用編程iap(in application program)就是這樣的自修改程序。它先在ram存儲(chǔ)器中寫(xiě)入數(shù)據(jù)值,然后使pc指向該存儲(chǔ)段,把該段作為程序段來(lái)執(zhí)行。很多arm7芯片自帶iap處理器,應(yīng)用其自帶的iap處理器可以方便地對(duì)其片內(nèi)集成的flash存儲(chǔ)器進(jìn)行在應(yīng)用編程,但幾乎所有的arm核芯片均不支持片外iap處理,因?yàn)槠鈌lash存儲(chǔ)器是用戶選型的,芯片生產(chǎn)廠家無(wú)法先知先覺(jué),而不同flash存儲(chǔ)器其編程時(shí)序也不盡相同,導(dǎo)致芯片生產(chǎn)廠家無(wú)法提供通用的iap代碼。那么,如何對(duì)嵌入式系統(tǒng)的片外flash存儲(chǔ)器進(jìn)行在應(yīng)用編程呢?這里分兩種情況:一是普通代碼存放在片外單獨(dú)1片flash中,iap代碼在另一片flash中完成,此時(shí)只要依據(jù)flash的操作時(shí)序執(zhí)行iap代碼,完成擦除或?qū)懭氩僮骷纯。這種情況雖然簡(jiǎn)單,但應(yīng)用了2片flash;而iap代碼很小,一般完全可以集成到1片中,所以這里對(duì)這種情況不予考慮,另一種情況是1片flash中既要存儲(chǔ)普通代碼,又要實(shí)現(xiàn)iap。下面以philips公司的lpc2210和silicon storage technology公司的sst39vf160為例,詳細(xì)討論這種情況iap的解決方案。
    
    1 硬件結(jié)構(gòu)
    
    1.1 lpc2210介紹
    
    philips公司的lpc2210是一款基于支持實(shí)時(shí)仿真和嵌入式跟蹤的16/32位arm7tdmi-s cpu的微控制器。芯片采用144腳封裝,有16kb片內(nèi)靜態(tài)ram,開(kāi)放外部總線;通過(guò)外部存儲(chǔ)器接口可將外部存儲(chǔ)器配置成4組,每組的容量高達(dá)16mb,數(shù)據(jù)寬度8/16/32位均可;具有多個(gè)32位定時(shí)器、8路10位pwm輸出、多個(gè)串行接口(包括2個(gè)16c550工業(yè)標(biāo)準(zhǔn)uart、高速i2c接口和2個(gè)spi接口)以及9個(gè)外部中斷、多達(dá)76個(gè)可承受5v電壓的通用i/o口,同時(shí)內(nèi)嵌實(shí)時(shí)時(shí)鐘和看門狗,片內(nèi)外設(shè)功能豐富強(qiáng)大;片內(nèi)晶振頻率范圍1-30mhz,通過(guò)片內(nèi)pll可實(shí)現(xiàn)最大為60mhz的cpu工作頻率,具有2種低功耗模式--空閑和掉電,通過(guò)外部中斷將處理器從掉電模式中喚醒,并可通過(guò)個(gè)別使能/禁止外部功能來(lái)優(yōu)化功耗。以上特性,使其特別適用于工業(yè)控制、醫(yī)療系統(tǒng)、訪問(wèn)控制和pos機(jī),同時(shí)也非常適合于通信網(wǎng)關(guān)協(xié)議轉(zhuǎn)換器、嵌入式軟modem,以及其他各種類型的應(yīng)用。
    
    1.2 sst39vf160介紹
    
    silicon storage technology公司的sst39vf160是一個(gè)1m×16b的coms多功能flash器件,單電壓的讀和寫(xiě)操作,電壓范圍3.0-3.6v,提供48腳tsop和48腳tfbga兩種封裝形式。
    
    該器件主要操作包括讀、寫(xiě)編程、扇區(qū)/塊擦除和芯片擦除操作。擦除和字編程必須遵循一定的時(shí)序,表1列出了扇區(qū)擦除和字編程過(guò)程及時(shí)序。擦除或編程操作過(guò)程中讀取觸發(fā)位dq6將得到"1"和"0"的循環(huán)跳變;而操作結(jié)束后讀dq6,得到的是不變的固定值。這是器件提供的寫(xiě)操作狀態(tài)檢測(cè)軟件方法。
    
    1.3 硬件連接
    
    sst39vf160作為系統(tǒng)的程序存儲(chǔ)器,以lpc2210的cs0作為flash的片選信號(hào),處理器配置boot引腳為16位數(shù)據(jù)總線寬度后,上電可直接執(zhí)行sst39vf160中代碼。此flash芯片為16位數(shù)據(jù)寬度,無(wú)字節(jié)控制總線,所以應(yīng)用中不使用lpc2210的bls引腳。系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。
    
    
上一篇:AT24C0X
熱門點(diǎn)擊
- 高速大容量SRAM
- 用存儲(chǔ)器映射的方法實(shí)現(xiàn)片外FLASH的擦寫(xiě)
- 高速雙口RAM IDT7026的原理和應(yīng)用
- 新架構(gòu)SRAM消除“軟錯(cuò)誤”威脅
- 基于I2S的USB 聲卡系統(tǒng)設(shè)計(jì)
- SST89E/V58RD2和SST89E/V
- AT45DB081B在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
- 基于VxWorks的FLASH存儲(chǔ)器實(shí)時(shí)存取
- 內(nèi)含CalmRISC CPU的8位單片機(jī)S3
- IDT7007高速雙端口RAM及其應(yīng)用
推薦技術(shù)資料
- 循線機(jī)器人是機(jī)器人入門和
- 循線機(jī)器人是機(jī)器人入門和比賽最常用的控制方式,E48S... [詳細(xì)]
- 電源管理 IC (PMIC)&
- I2C 接口和 PmBUS 以及 OTP/M
- MOSFET 和柵極驅(qū)動(dòng)器單
- 數(shù)字恒定導(dǎo)通時(shí)間控制模式(CO
- Power Management Buck/
- 反激變換器傳導(dǎo)和輻射電磁干擾分析和抑制技術(shù)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究