多个应用程序在同时竞争使用同一块物理内存,其必然会导致某个时刻只存在程序的某个片段在执行,也即是所有程序代码和数据分时复用物理内存空间—这就是内存管理单元(MMU)工作核心作用所在。 本文要谈的是控制器领域SoC的内存管理单元的硬件设计,其重要的理念同样是代码和数据分时复用物理内存空间,在保障系统功能和性能的基础上最大限度地节省物理内存的目的。...
分类:
其他好文 时间:
2014-07-22 23:01:34
阅读次数:
385
系统区(system disk,SD)包括操作系统、驱动、中间件、应用和字库、UI资源等文件,本文讲述SD区的文件系统设计。文件系统最主要的目标是为了实现单个文件的定位和读写。因为一般代码都是不可自修改的,即量产之后不会有写操作,所以嵌入式系统的SD文件系统就是为了能够简单、高效地定位某个文件和读取文件中的数据。本文将阐述SD文件系统的设计要点。...
分类:
其他好文 时间:
2014-05-15 04:45:58
阅读次数:
216
在嵌入式系统中,驱动都是以API的方式提供给应用进行调用。这里介绍嵌入式系统的API设计和管理实现方法。...
如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭
今天和师弟聊天聊到他们项目开发,有些同事总是提前考虑性能优化,需求变更又是一大堆的重写,让我想起了Donald Knuth
提到的:对软件的过早地优化是万恶的根源。这里就简单的说几条重要的软件名人哲学。 ...
分类:
其他好文 时间:
2014-05-11 23:52:06
阅读次数:
408
1:软件中唯一不变的就是变化。
在软件开发过程中需求是不停的变化,随着客户对系统的认识,和现有开发功能和软件的认识,也许以开始他提出的需求就是背离的。记得网上有一句笑话,师说需求变化的:
程序员XX遭遇车祸成植物人,医生说活下来的希望只有万分之一,唤醒更为渺茫。可他的Lead和亲人没有放弃,他们根据XX工作如命的作风,每天都在他身边念:“XX,需求又改了,该干活了,你快来呀!”,奇迹终于发生了,XX醒来了,第一句话:“需求又改了
在设计和架构中,凡事无绝对,作为架构师或者项目负责人你必须永远的清晰认识到没有...
分类:
其他好文 时间:
2014-05-11 20:58:39
阅读次数:
430
如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭
架构设计是一个非常大的话题,不管写几篇文章,接触到的始终只是冰山一角,更多的是实践中去体会。这篇文章主要介绍面向对象OO、面向方面AOP和面向服务SOA这三个要素在架构设计中的位置与作用。
架构设计有三个...
分类:
其他好文 时间:
2014-05-11 16:51:47
阅读次数:
309
本节讲述代码分块(Bank)管理思想下可执行文件的重构,即对程序编译后的可执行文件进行重新组织、打包,以在加载阶段获得最高的执行效率,减少内存占用。要使执行效率高,意味着可执行文件的格式尽可能简单,解析执行文件的流程简单,相应地,解析过程代码量少,即能够减少内存的占用。...
分类:
其他好文 时间:
2014-05-07 07:11:49
阅读次数:
279
本文继续阐述基于低端控制器CPU的SoC固件架构设计。这一节讲述内存空间的具体规划分配,包括嵌入式固件系统软件层次、程度段组成、物理内存分块设计和具体的程序内存空间分配原则。...
分类:
其他好文 时间:
2014-05-07 04:34:51
阅读次数:
391
上一节讲述了在没有MMU的CPU(如80251、MIPS M控制器系列、ARM cortex m系列)上实现虚拟内存管理的集成硬件设计方法,新设计的内存管理管理单元要实现虚拟内存管理还需要操作系统、代码分块(Bank)的支持。Bank设计是为了实现不同时刻运行的Bank(代码块)运行在同一块内存上,所以在运行之前操作系统需要将已存在内存的代码/数据进行缓存处理,并加载将要运行的Bank到该内存上。为了实现这个目的,需要明确几个设计原则。...
分类:
其他好文 时间:
2014-05-03 21:06:44
阅读次数:
356
内存是SoC(System on Chip,片上系统)集成设计的重要模块,是SoC中成本比重较大的部分。内存管理的软硬件设计是SoC软件架构设计的重要一环,架构设计师必须要在成本和效率中取得平衡,做到在节省内存的同时保证整个系统的性能。系统内存需求评估是对嵌入式软件架构师的最基本要求,同时也是其最重要的技能之一。一般在SoC项目立项的时候,架构师就要完成系统内存需求评估。
下面以一个多媒...
分类:
其他好文 时间:
2014-04-28 10:25:43
阅读次数:
412