自己总结的:-分区分块使用。嵌入式系统特点是内存比较少,尤其应当分区块进行统一划分、管理,以便物尽其用。有些嵌入式核心芯片的内存储器每块访问速度不同,或者有cache结构,这就更应当如此了,才能发挥特殊区块读写的最大优势。同时还比较容易成块数据一次性写入读出EEPROM或Flash。-建立动态内存池。
由此可见,嵌入式系统的开发人员不得不参与系统的内存管理。从编译内核开始,开发人员必须告诉系统这块开发板到底拥有多少内存;在开发应用程序时,必须考虑内存的分配情况并关注应用程序需要运行空间的大小。
嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统调用命令向用户程序提供服务。 (7)固化代码。在嵌入系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。
本书聚焦于嵌入式系统开发中的关键挑战,即内存管理与性能提升。首先,对于内存使用,目标是通过两个主要途径来改善:一是提升系统整体的空闲内存,增强系统并发处理能力;二是确保系统在长时间运行中仍能保持可观的内存空闲。
嵌入式系统的成本其中一个关键的就是内存,由于内存尺寸的要求往往选用相应的cpu,不同尺寸片内ram的cpu价格相差比较大,所以尽量减少或者说优化内存的使用就比较关键了。优化内存的管理还能够提高整个系统的稳定性、容错性和运行效率,是很必要的手段。
与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是个体表现,更准确地讲是个体最坏情况表现。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。⑦固化代码。
嵌入式操作系统会为了外部的事情而终止内部的一切事情,为更重要的事情服务。而通用操作系统则没有这样的特殊设计,有可能由于系统的一些任务而阻止相应中断,对中断置之不理。并且多久后能够相应也不确定,而嵌入式操作系统就能够确定一定的时间范围能。起码理论上已经可以。
嵌入式系统(简称“嵌”)和通用计算机(简称“通”)的主要区别包括以下几点:形式与类型 “通”:实实在在的计算机。
嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
1、图所示的是一个嵌入式实时数据库系统的体系结构,同传统的数据库一样,它仍然是一种三级模式的结构体系,即用户模式、逻辑模式和存储模式。
2、ARM公司的Angel就是该类软件,大部分嵌入式实时操作系统也是采用该类软件进行调试,不同的是在嵌入式实时操作系统中,驻留监控软件是作为操作系统的一个任务存在的。JTAG仿真器 JTAG仿真器也称为JTAG调试器,是通过ARM芯片的JTAG边界扫描口进行调试的设备。
3、一个完整的嵌入式实时数据库系统除了包括内存数据库外,还应当含有历史数据库和数据库管理系统DBMS及提供给用户的接口函数,整个数据库可由DBMS完成对数据库的具体配置及各种操作,例如系统运行前根据实际需要对内存数据库中的记录节点进行增减等配置操作。
4、图1是一个嵌入式应用的基本构架,整个嵌入式RTDBS构建于实时操作系统之上。
5、嵌入式RTDBS系统是介于用户和实时操作系统之间的一层软件,由众多程序模块组成,它的作用是对数据库中的共享数据进行有效的组织、管理和存取,其结构如图4所示。