Memory底层API使用说明_第1页
Memory底层API使用说明_第2页
Memory底层API使用说明_第3页
Memory底层API使用说明_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Memory底层API使用说明1. Memory API 接口函数底层Memory API读写函数如下图所示:commit transactionE2PRAMCACHERAM|E2P_stream_ope nE2P_write_u8|E2P_stream_flushE2P write u16|E2P_stream_write_u8/u16/u32E2P write u32|E2P_stream_write_arrayE2P_write_array1 E2P stream fill arrayE2P_fill_arrayE2P writelE2Pead_u8/16/32/arrayE2P_wri

2、te_u8/16/32/array_atomicRAM_read_u8/16/32/ arrayRAM_write_u8/ u16/u32 /arrayRAM_fill_arraymem_write_u8 mem_write_u16 mem_write_u32 mem_write_array mem fill arraymem_write_u8_atomic mem_write_u16_atomic mem_write_u32_atomic mem_write_array_atomicmem_read_u8 mem_read_u16 mem_read_u32 mem_read_array me

3、m_array_compareCode_read_u8/16/32/arrayCode_write_u8/16/32/arrayCode_write_u8/16/32/array_atomicref_to_po in ter_codeData_table_init Data_alloc Data_free Data_AvailableCode table initCode_allocByteCode_freeCodeCode_Availablertr_allocNativedtr_allocMethodrtrAvailabledtrAvailableADMMan age关于Memory读写的方

4、式,共有如下几类:1.1 E2P_writeI最底层的Memory读写函数,它要考虑 Flash的页边界对齐。1.2 E2P_stream_*使用:E2P_stream_ope n( destAddr);E2P_stream_write_u8/16/32/array 或 E2P_stream_fill_arrayE2P_stream_flush();Flash擦写次数,提高写 Flash的效率。1.3 E2P_write_u8/u16/u32/arrayE2P_fill_array基于E2P_stream_*之上的函数集合,它是non-Atomic操作,用于不考虑交易的非原子性情况。例如:卡初

5、始化时机等。注意一点:当E2P_write_array 时,需要考虑源地址,源地址+ len是否被缓存。1.4 E2P_read_u8/u16/u32/array从Flash中指定地址读取数据。由于引入 CacheTransaction 机制,Flash中实际的数据可能是 dirty 的,这 时就需要从Cache中读取。在 Memory接口图中,能够看出,该模块左侧为E2P或RAMCACH两个方块,表示实际数据可能从 E2P和RAMCACH中得到。A. 假如读取的数据位于同一个sector内,先从transactioncache中查找要读取的地址是否已缓存,假如以缓存那么为hit ,否那么为

6、miss。假如hit那么从cache中读取,否那么从 MEM中读取。B. 假如读取的数据跨 sector边界,那么先要按 sector拆分地址,分别按 A步骤读取部分数据。再将数据组合。1.5 E2P_write_u8/u16/u32/array_atomicAtomic 写操作。该类函数实际并不写Commit_transactionA 假如要写的数据处于同一个Flash ,它只是将要更新的内容更新到时候再将RAMCache中的数据更新到 Flash中去。sector内,先从transactioncachehit ,那么改写缓存的数据。否那么添加到B 假如要写入的数据跨 sector 边界,那

7、么先要按 写入部分数据。1.6 RAM_* 该类函数提供了对 RAM的读写操作。1.7 Mem_write_u8/16/32/array 这类函数依照地址判断地址所对应的存储介质是 如是E2P,那么用1.3中的对应函数操作。1.8 Mem_write_u8/16/32/array_atomic 这类函数依照地址判断地址所对应的存储介质是 如是E2P,那么用1.5中的对应函数操作。1.9 Code_*对 Class 区的操作,这类函数造作的地址基本上 们调用了相应的 1.3 和1.5 中的函数。transactioncacheCache中去。等到中查找要写入的地址是否已缓存,假如 一个新的记录。

8、将数据内容写入。sector边界拆分写入的地址及数据长度,分别按 A步骤RAM依旧 E2P,假如是RAM那么用1.6中的对应函数操作, 假RAM依旧 E2P,假如是RAM那么用1.6中的对应函数操作, 假Ref 地址,不是绝对物理地址。它实际上是一组宏定义,他1.10 Class 区的治理函数 Code_table_init Code_alloc Code_free Code_available1.11 Heap 区的治理函数Data_table_init Data_alloc Data_free Data_available初始化 Class 区内存治理表 从 Code 区分配一块内存空间 删除从Code区分配的空间 返回Code区可用的空间初始化 Data 区内存治理表从 Data 区分配一块内存空间 删除从 Data 区分配的空间 返回 Data 区可用的空间1.12 RTR/DTR空间的治理函数这类函数要紧对 RTR/DTR进行操作。RTR/DTR的治理信息放在卡注册表中。Rtr_alloc RTR空间的分配函数 Dtr_alloc DTR空间的分配函数 Rtr_available 返回可用的空间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论