Memory底層API使用說明_第1頁
Memory底層API使用說明_第2頁
Memory底層API使用說明_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Memory層API用說明1.MemoryAPI口函數(shù)底層Memory讀函數(shù)如下圖所示:

Data_table_initE2PE2P_writeIE2P_read_u8/16/32/arrayRAMCACHEE2P_write_u8/16/32/array_atomicRAM_read_u8/16/32/rrayRAMRAM_write_u8/u16/u32/array

E2P_fill_array

mem_write_u8mem_write_u16mem_write_u32mem_write_arraymem_fill_arraymem_write_u8_atomicmem_write_u16_atomicmem_write_u32_atomicmem_write_array_atomicmem_read_u8mem_read_u16mem_read_u32mem_array_compare

Data_allocData_freeData_AvailableCode_table_initCode_freertr_allocdtr_allocrtrAvailabledtrAvailable......

ByteCodeNativeMethodADMManageRAM_fill_array關(guān)于Memory讀寫的方式,共有下幾類:E2P_writeI

最底層的Memory讀函數(shù),它要考慮Flash的邊界對齊。E2P_stream_*使用:E2P_stream_open(destAddr);E2P_stream_write_u8/16/32/array或E2P_stream_fill_array…E2P_stream_flush();Flash擦寫數(shù),提高寫Flash的效?;贓2P_stream_*之上的函數(shù)集它是non-Atomic作,用于不考慮交易的非原子性情況如:卡初始化時機(jī)等。注意一點(diǎn):當(dāng)E2P_write_array,需要考[源地址,源地址+len]是否被緩存。E2P_read_u8/u16/u32/array從Flash中指定地址讀取數(shù)據(jù)。于引入CacheTransaction機(jī)制,中際的數(shù)據(jù)可能是dirty的這時就需要從Cache中讀取。在Memory口圖中,能夠看出,該模塊左側(cè)為或RAMCACHE兩個塊,表示實(shí)際數(shù)據(jù)可能從E2P和RAMCACHE得到。A.假讀取的數(shù)據(jù)位于同一內(nèi)先從transactioncache中找要讀取的地址是否緩存,假如以緩存那么為hit,否那么為miss。假如那么從cache中取否那么從中取。B.假讀取的數(shù)據(jù)跨sector邊,那么先要按sector分地址,分別按步讀取部分?jǐn)?shù)。再將數(shù)據(jù)

組合。E2P_write_u8/u16/u32/array_atomicAtomic寫作。該類函數(shù)實(shí)際并不寫Flash它只是將要更新的內(nèi)容更新到Cache中。等到Commit_transaction時候?qū)AMCache中的據(jù)更新到Flash中。A.假要寫的數(shù)據(jù)處于同一內(nèi)先從transactioncache中找要寫入的地址是否緩存,假如hit,那么改寫緩存的數(shù)據(jù)。否么添加到transactioncache一個新的記錄。將數(shù)據(jù)內(nèi)容寫入。B.假要寫入的數(shù)據(jù)跨sector邊,那么先要按sector邊界拆分寫入的地址及數(shù)據(jù)長度,別按A步寫入部分?jǐn)?shù)據(jù)。RAM_*該類函數(shù)提供了對RAM的寫操作。Mem_write_u8/16/32/array這類函數(shù)依照地址判斷地址所對應(yīng)的存儲介質(zhì)是RAM依舊假如是那用1.6中對應(yīng)函操作如是E2P,么用中對應(yīng)函數(shù)操作。Mem_write_u8/16/32/array_atomic這類函數(shù)依照地址判斷地址所對應(yīng)的存儲介質(zhì)是RAM依舊假如是那用1.6中對應(yīng)函操作如是E2P,么用中對應(yīng)函數(shù)操作。Code_*對Class區(qū)操作,這類函數(shù)造作的地址基本上Ref地址不是絕對物理地址。它實(shí)際上是一組宏定義,他們調(diào)用了相應(yīng)的1.3和中函數(shù)。Class區(qū)的理數(shù)Code_table_init初化Class區(qū)內(nèi)存治理表Code_allocCode_free

從區(qū)配一塊內(nèi)存空間刪除從Code區(qū)配的空間Code_available返Code區(qū)用的空間Heap區(qū)的理數(shù)Data_table_init初化Data內(nèi)存治理表Data_allocData_freeData_available

從區(qū)配一塊內(nèi)存空間刪除從Data區(qū)分配的空間返回Data區(qū)用的空間空的理數(shù)這類函數(shù)要緊對RTR/DTR進(jìn)操。RTR/DTR的治理信息放在卡注冊表中。Rtr_allocRTR空間的分配函Dtr_allocDTR空間的分配函Rtr_available返回可用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論