SoC嵌入式软件架构设计】的更多相关文章

大多数的程序代码是必要的时,它可以被加载到内存中运行.手术后,可直接丢弃或覆盖其它代码. 我们PC然在同一时间大量的应用,地址空间差点儿能够整个线性地址空间(除了部分留给操作系统或者预留它用).能够觉得每一个应用程序都独占了整个虚拟地址空间(字长是32的CPU是4G的虚拟地址空间).但我们的物理内存仅仅是1G或者2G. 即多个应用程序在同一时候竞争使用这块物理内存.其必定会导致某个时刻仅仅存在程序的某个片段在运行,也即是全部程序代码和数据分时复用物理内存空间-这就是内存管理单元(MMU)工作核心…
大多数的程序代码是必要的时,它可以被加载到内存中运行.手术后,可直接丢弃或覆盖其他代码.我们PC然在同一时间大量的应用,能够整个线性地址空间(除了部分留给操作系统或者预留它用),能够觉得每一个应用程序都独占了整个虚拟地址空间(字长是32的CPU是4G的虚拟地址空间),但我们的物理内存仅仅是1G或者2G.即多个应用程序在同一时候竞争使用这块物理内存.其必定会导致某个时刻仅仅存在程序的某个片段在运行,也即是全部程序代码和数据分时复用物理内存空间-这就是内存管理单元(MMU)工作核心作用所在. 处理器…
内存是SoC(System on Chip,片上系统)集成设计的重要模块,是SoC中成本比重较大的部分.内存管理的软硬件设计是SoC软件架构设计的重要一环,架构设计师必须要在成本和效率中取得平衡,做到在节省内存的同时保证整个系统的性能.系统内存需求评估是对嵌入式软件架构师的最基本要求,同时也是其最重要的技能之一.一般在SoC项目立项的时候,架构师就要完成系统内存需求评估. 下面以一个多媒体电子解决方案中的SoC设计为原型,说明大致的评估流程: 1. 根据产品规格,对各个应用场景进行功能和性能分解…
在嵌入式系统中,驱动都是以API的方式提供给应用进行调用.这里介绍嵌入式系统的API设计和管理方法. 驱动在系统中会按模块进行分类,比如按键驱动.LCD驱动.文件系统.card驱动.I2C驱动等等:每一个模块又有多个接口,比如LCD驱动有光标定位.画点.画直线等.而文件系统有fread.fwrite.fseek.fopen等接口. 下面举例将以文件系统的fopen为例,工具链为mips. 一.API设计方法 1. 驱动接口声明:extern FILE * fopen(const char * p…
上一节讲述了在没有MMU的CPU(如80251.MIPS M控制器系列.ARM cortex m系列)上实现虚拟内存管理的集成硬件设计方法.新设计的内存管理管理单元要实现虚拟内存管理还须要操作系统.代码分块(Bank)的支持.详见SoC嵌入式软件架构设计之二:没有MMU的CPU实现虚拟内存管理的设计方法.这里要阐述Bank设计的一些原则. Bank设计是为了实现不同一时候刻执行的Bank(代码块)执行在同一块内存上,所以在执行之前操作系统须要将已存在内存的代码/数据进行缓存处理,并载入将要执行的…
嵌入式的系统区(system disk,SD)包含操作系统.驱动.中间件.应用和字库.UI资源等文件,本文讲述SD区的文件系统设计.文件系统最基本的目标是为了实现单个文件的定位和读写.由于一般代码都是不可自改动的.即量产之后不会有写操作.嵌入式系统的SD文件系统就是为了可以简单.高效地定位某个文件和读取文件里的数据.设计原则和要点有下面几方面: 1. 逻辑连续存储单个文件,以扇区对齐. SD区的单个代码和资源文件一般都不大.所以不必要像fat32文件系统那样用fat表把文件簇串起来.直接逻辑连续…
ADMEMS是Architecture Design Method has been Extended to Method System的简称,是由CSAI顾问团架构设计专家组于2009年11月在第六届中国软件大会上公开发布的一个软件架构设计方法.作为方法体系,ADMEMS通过3个阶段和1个贯穿环节,来覆盖“需求进,架构出”的架构设计完整工作内容.其中“3个阶段”是指预备架构阶段(PA阶段:把握需求特点,确定架构驱动力).概念架构阶段(CA阶段:根据重大需求,确定概念架构).细化架构阶段(RA阶…
前言 ​ 今天开始我们专题的第二课了,本章节继续分享软件架构设计原则的下篇,将介绍:接口隔离原则.迪米特原则.里氏替换原则和合成复用原则.本章节参考资料书籍<Spring 5核心原理>中的第一篇 Spring 内功心法(没有电子档,都是我取其精华并结合自己的理解,一个字一个字手敲出来的). 接口隔离原则 ​ 接口隔离原则(Interface Segregation Principke,ISP)是指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口.这个原则知道我们在设计接口…
为了复用和解耦,快速开发更多的系统和应用,我们对自己经常说的"系统"和"应用"进行更高级的提取和抽象. 十多年前入行,辗转至今,写过很多很多应用,个人喜欢分门别类整理知识,也看到有些公司这样管理应用(照猫画虎还是挺容易的),所以有个趁手的系统应用管理平台就是顺理成章的事情.现在PowerDotNet就把我自己所理解的系统应用平台最基础最核心的功能做出来,迭代几次后比初始版本加了不少扩展,给系统应用良好运维和管理打下基础. 一.系统 不同的业务部门,我们可以抽象为一个…
前面文章进行了系统分析和系统架构设计,手工焊接了一个板子,集合EK-TMC123GXL开发板(请忽略焊接技术) SWE.1 | 软件需求分析 软件需求分析过程的目的是将系统需求的软件相关部分转化为一组软件需求. 软件需求分析包括, 指定软件需求.使用系统需求和系统架构,以及对系统需求和架构的更改,以确定软件所需的功能和性能.在软件需求中指定功能性和非功能性软件需求. 组织软件需求.在软件需求描述中构造软件需求,比如 对项目相关集群进行分组, 按照项目的逻辑顺序排序, 根据项目的相关标准进行分类,…