对Multi-bin 技术的理解

[bin文件的格式]:
Bin文件格式比较简单.结构如下:
struct BinFile  {
BYTE signature[7];    //前面7个字节是标志, 固定的{‘B’,‘0’,‘0’,‘0’,‘F’,‘F’,‘\a’}.
DWORD ImageStart;    //Image Start表示image的开始地址
DWORD ImageLength;    //image的长度
Record ImageRecords[ImageLength]; // struct Record{ DWORD address;  DWORD length;  DWORD chksum;}
}

[BinFS]的意义:
Binfs(Binary Rom Image File System):理解它是针对BIN的文件一种文件系统()
注释1:bin文件则是由romimage.exe产生的image文件
因为binfs是基于bin的一种文件格式,重要理解如下:
(A)bin是一个简单的,线性分布的记录的集合
(B).大部分的Bin,其中的record是压缩后的数据. 所以使用binfs时候, 驱动处理record包含一个解压过程, 继而再呈现为磁盘文件.
注释2: CE提供了一些有意义的工具来帮助我们查看BIN的文件, catbin, compress, sortbin, viewbin, cvrtbin, stampbin, checksymbols.
注释3:Eboot能识别bin文件格式,在写image的时候, 把bin文件里面image写入到flash 加载的时候, 把image读出到内存正确地址. bin也许会用到压缩image. eboot并没有解压image, 只是忠实的按照地址执行拷贝过程.

[Multi-XIP]的意义:
XIP   : Excute-in-place.本地执行. 意思是可以直接执行而不需要拷贝到内存执行. 比如nor flash 和 masked ROM设备, 上面的代码都可以XIP, 而nand flash不行.
Multi-XIP  : 意思是在把一个image分成多个XIP regions. 从而可以分布在ROM的不同地址.

[Multi-bin]的意义:
它是Multi-XIP在IMAGE上的应用,本来image是一个连续分布的整体,需要install在一块连续的ROM 区域或者nor区域. 而Multi-XIP技术可以将这个整体打散成几个. 简单的理解基于Multi-XIP, 就可以将image分散分布在各个ROM了.

[Multi-bin]的优点:
加快启动速度和节省ram
这部分描述的特性一定强烈吸引人. Multi-XIP 只是把一个image分成几个regions, 并不会加快启动速度和节省ram. 怎么才会呢? 要知道一个WinCE的image里面很多的文件并不是启动时候需要加载到ram的. 设想我们如果能够把必须的部分加载到内存, 其余的部分仍然留在nand中, 等到需要的时再从nand磁盘加载. 这一方面使得加载到内存的image大幅减小, 从而加快了从nand拷贝到ram的速度. 另外, 也减少了对ram的占用.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于C#程序调用AMFPHP服务的问题!!

我想实现的功能是实现一个c# winform客户端(web也行),与php服务器以amf3格式通信,其实就是模拟flex与php通信的机制,这方面资料真的太少了,不知道该怎么实现,求帮助,谢谢&#xff01…

【转】总结_C++日志系统log4cxx使用

转自:总结_C日志系统log4cxx使用_OneByOne-CSDN博客_log4cxx C日志系统log4cxx使用总结 参考连接: log4CXX第二篇---配置文件(properties文件)详解_crazyhacking的专栏-CSDN博客 C日志系统log4cxx使用总结_邵明_新浪博客 一、log4cxx组件…

S3c2440A平台HIVE注册表+binfs的实现

我的例子是基于samsung S3C2440A+samsung ONENANDWinCE5.0的,开发平台是platform builder 5.0,首先我们基于RAM register的image已经可以正常跑起来了,Flash除了放置image外其他的空间为用户提供文件系统,这部分的驱动…

DHT

DHT 类似Tracker的根据种子特征码返回种子信息的网络.DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网…

【转】日志记录库(log4cxx)使用指南

转自:日志记录库(log4cxx)使用指南_外环西路-CSDN博客 一、Log4j、log4cxx简介 Log4j、log4cxx有三个主要的组件: Loggers(记录器),Appenders (输出源)和Layouts(布局)。Loggers(记录器): 负责执行记录日…

WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(11)-BINFS在Nand上的实现(Multi-Bin的实现)

之前我们都是把整个系统镜像复制到RAM中运行,这样启动时间较慢,也占用内存.使用Multi-Bin的模式,将需要复制到RAM的组件和可存放在存储设备(如Nand)中的组件分开,系统启动时只需要将CE核心组件复制到内存中运行,然后需要的组件从Nand中读取即可.之前我们已经在eboot中添加了操作…

C# 数据库连接字符串集合

c#数据库连接字符串集合(一)常用连接:1.使用SqlConnection对象: a. Sql 验证public void SqlConnectionOpen(){SqlConnection conn new SqlConnection();conn.ConnectionString "user idsa;password;initial catalognorthwind;datasourcelocalhost;connect Timeout20&quo…

【转】聊聊Linux操作系统中的显示管理器及如何更换

转自:聊聊Linux操作系统中的显示管理器及如何更换 - linux-123 - 博客园 聊聊Linux操作系统中的显示管理器及如何更换 | 《Linux就该这么学》 什么是 Linux 中的显示管理器? 简单来说,显示管理器display manager(DM&#xff09…

winCE改变字库方法(WINCE字库更新)

更新系统字库:例如要在WinCE5.0加入微软雅黑字体的支持。 第一步:增加如下注册表 [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/FontPath] "FontPath""// Windows " ; 字库文件所在目录 [HKEY_LOCAL_MACHINE/SYSTEM/GDI] "Fon…

【转】[WSL2]WSL2迁移虚拟磁盘文件ext4.vhdx

转自&#xff1a;[WSL2]WSL2迁移虚拟磁盘文件ext4.vhdx_Ryan ZHENG的专栏-CSDN博客 WSL2本质上是一个虚拟机&#xff0c;因此必然存在磁盘镜像文件。 默认情况下&#xff0c;这个镜像文件会放在C盘&#xff08;参考官网举例&#xff1a;%LOCALAPPDATA%\Packages<PackageFa…

WINCE字体动态加载

1. 加载字体 if (NULL ! AddFontResource(SDBOOTDisk\\FZY3JW.ttf)) ::SendMessage( HWND_BROADCAST, WM_FONTCHANGE, 0, 0); else AfxMessageBox(L"加载方正准圆简体字体失败!"); 2.创建字体并设置控件字体 CFont hFontNew&#xff1b; LOGFONT lf; …

ckedit 3.0 配置(一)

个人喜欢使用config.js的方式来使用&#xff0c;下面以此为例&#xff0c;介绍其配置参数。&#xff08;所示为默认值&#xff09;//当提交包含有此编辑器的表单时&#xff0c;是否自动更新元素内的数据config.autoUpdateElement true //编辑器的z-index值 config.baseFloatZI…

【转】Ubuntu中SVN客户端安装+使用

转自&#xff1a;Ubuntu中SVN客户端安装使用_三少GG-CSDN博客 1、 安装 svn客户端&#xff1a; apt-get install subversion&#xff0c;然后根据提示一步一步&#xff0c;就完成了 svn的安装。当然&#xff0c;也可以源码安装 svn&#xff0c;下载 subversion 一个最新版本的源…

x210烧写流程(inand)

今天拿到了x210的开发板&#xff0c;按照手册里的流程无法烧写。后资讯了客服后&#xff0c;才知道我的x210板子是inand的。而手册上讲的是nandflash板子的烧写流程。 以防忘记&#xff0c;把板子的烧写流程记录在此。 1. 拨码开关(OM0 - OM5)调成101101(irom)方式。 2. 打开DN…

【转】Linux命令行下svn ignore忽略文件或文件夹用法

转自&#xff1a;Linux命令行下svn ignore忽略文件或文件夹用法 - 陌上归人的博客 - 博客园 一、忽略单个目录 1、忽略文件夹 假如目录oa.youxi.com是从svn checkout出来的&#xff0c;在服务器本地目录添加了material&#xff0c;但是不希望把material加入版本控制&#xf…

避免Eclipse经常出现Out Of Memory

修改eclipse.ini -showsplash org.eclipse.platform --launcher.XXMaxPermSize 512m -vmargs -Xms256m -Xmx512m -XX:PermSize128M -XX:MaxPermSize128M Eclipse jee galileo DownLoad转载于:https://www.cnblogs.com/sun-li/archive/2010/01/18/1650900.html

PB编译错误:Mismatched time stamp on .rel file for module nk.exe requesting kernel fixup. Valid .rel file

如题&#xff0c;PB编译完后make时出现如下错误&#xff1a; Mismatched time stamp on .rel file for module nk.exe requesting kernel fixup. Valid .rel file is required for kernel fixups. 先Copy一下&#xff0c;再Make即可。 总结&#xff1a;很多情况下&#xff0c;…

【转】CT图像重构方法详解——傅里叶逆变换法、直接反投影法、滤波反投影法

转自&#xff1a;​​​​​​CT图像重构方法详解——傅里叶逆变换法、直接反投影法、滤波反投影法_Absolute Zero-CSDN博客_反投影法 绪 在做CT图像处理的时候遇到很多问题&#xff0c;对于滤波反变换有许多细节存在疑问&#xff0c;经过多天查找资料和利用MATLAB程序一步步实…

JS 对象介绍

JavaScript is an Object Oriented Programming (OOP) language. JS是面向对象的编程语言&#xff08;面向对象&#xff09;。 An OOP language allows you to define your own objects and make your own variable types.OOP语言可以让你自定义对象和变量类型。 -------------…

DNW应用程序错误,DNW错误问题解决

三星的USB驱动一直不是很稳定&#xff0c;有时候调2450&#xff0c;6410的时候&#xff0c;经常会把桌面系统搞得蓝屏。严重的时候&#xff0c;DNW都无法打开&#xff0c;提示DNW应用程序错误。很多人被难在这里了&#xff0c;只能重装系统。其实并不用重装系统&#xff0c;只用…