首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/349323

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

SoC嵌入式软件架构设计之七:嵌入式文件系统设计

嵌入式的系统区(system disk,SD)包含操作系统、驱动、中间件、应用和字库、UI资源等文件,本文讲述SD区的文件系统设计。文件系统最基本的目标是为了实现单个文件的定位和读写。由于一般代码都是不可自改动的。即量产之后不会有写操作。嵌入式系统的SD文件系统就是为了可以简单、高效地定位某个文件和读取文件里的数据。设计原则和要点有下面几方面: 1. 逻辑连续存储单个文件,以扇区对齐。 SD区的单个代码和资源文件一般都不大。所以不必要像fat32文件系统那样用fat表把文件簇串起来。直接逻辑连续地存储起来就可以,这样定位也会更加简单高速,当然文件应该以扇区来对齐。方便读取,文件偏移信息也能用扇区数来记录。 2. SD头 这是对整个SD区属性的描写叙述,包含校验码、版本、日期、OEM厂商等等。有时为了保证知识产权,还会加上一些防止拷贝的加密ID信息。 3. DIR节 DIR节就是文件夹信息,即每一个文件在SD区中的定位信息。是SD文件系统最重要的数据结构。文件的定位就是依赖于文件夹信息进行。打包工具会按一定的顺序将各个文件打包。并相应按顺序产生每...

WinCE5.0 运行异常提示:0x80000002解决过程

场景 将代码移植到Wince5.0系统上,芯片框架是mips,之前的代码在x86和arm等架构上运行正常。显示bmp位图的时候会弹出窗口提示:异常:0x80000002错误提示 步骤 1) 通过VS错误查询工具得到的结果是:内存已经用完,实际上还有内存可以申请 2) 尝试加载小图片,无效 3) 不加载图片,成功显示 4) 尝试在其他的地方可以申请到8MB的内存 5) 通过日志输出,定位到bmp位图的结构体赋值的过程中,出现错误,初步怀疑是栈溢出,但是如果省去不调用,还是可以执行成功的 6) 百度过程中,发现该错误提示还有一层含义: 程序读取一个未经对齐的数据时引发的异常EXCEPTION_DATATYPE_MISALIGNMENT属于硬件异常 7) 原来bmp位图的结构体的头部是一个14个字节的结构体,里面的变量并没有进行字节的对齐,属于非对齐的地址访问,所以有些不对齐的b变量不能够直接访问,需要将数据通过memcpy逐个字节拷贝出来,然后拼凑成完整的属性。 //在mips架构下不支持非对齐数据访问,bmp位图头部是14个字节,不符合4个字节对齐访问,因此采用字节拷贝的方式进行访...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。