摘要: 魅族科技有限公司资深Android开发工程师毫无保留地总结分享其在领导魅族多个项目开发中的Android客户端性能优化经验,极具实践价值!对UI卡顿、内存泄露、耗电量等性能问题进行分析和解决,并针对Android客户端性能提出优化策略和优秀的编程实践. 阅读全文
posted @ 2016-03-23 21:43 吴跃前 阅读(549) 评论(1) 推荐(1) 编辑
摘要: 蓝牙固件空中升级(OTA)涉及到蓝牙无线通信、固件外存分布、固件内存分布(定制链接脚本)、固件二次引导等技术,需要开发人员深入理解蓝牙单芯片的存储架构、启动引导流程、外存设备驱动和产品电路设计等领域知识。完整和完美地设计和实现OTA,是一名嵌入式物联网软件工程师最好的技术体现。 本文以Dialog公 阅读全文
posted @ 2016-03-22 10:39 吴跃前 阅读(2421) 评论(0) 推荐(0) 编辑
摘要: 启动即是芯片上电复位要运行的程序,启动作为一个模块独立于操作系统而在,因为操作系统需要通过启动这个模块来加载和引导的。所以启动的英文术语是boot loader。我对boot loader的定义包括两部分:1.加载os 2. 为了让os能够正常运行所要做的硬件和软件初始化工作。本文讲述资源有限型系统的启动过程。 阅读全文
posted @ 2014-10-15 15:37 吴跃前 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 基于80251的嵌入式语音识别,阐述PC端和80251的同步开发! 阅读全文
posted @ 2014-10-14 12:40 吴跃前 阅读(2369) 评论(0) 推荐(3) 编辑
摘要: 嵌入式固件的系统区(system disk,SD)包括操作系统、驱动、中间件、应用和字库、UI资源等文件,本文讲述SD区的文件系统设计。文件系统最主要的目标是为了实现单个文件的定位和读写。因为一般代码都是不可自修改的,即量产之后不会有写操作,所以嵌入式系统的SD文件系统就是为了能够简单、高效地定位某个文件和读取文件中的数据。本文将阐述SD文件系统的设计要点。 阅读全文
posted @ 2014-10-13 16:19 吴跃前 阅读(1217) 评论(0) 推荐(0) 编辑
摘要: 在嵌入式系统中,驱动都是以API的方式提供给应用进行调用。这里介绍嵌入式系统的API设计和管理实现方法。 阅读全文
posted @ 2014-10-12 22:55 吴跃前 阅读(2151) 评论(0) 推荐(1) 编辑
摘要: 本节讲述内存紧缺型嵌入式系统中基于代码分块(Bank)管理思想对可执行文件的重构,即对程序编译后的可执行文件进行重新组织、打包,以在加载阶段获得最高的执行效率,减少内存占用。要使执行效率高,意味着可执行文件的格式尽可能简单,解析执行文件的流程简单,相应地,解析过程代码量少,即能够减少内存的占用。 阅读全文
posted @ 2014-10-11 13:03 吴跃前 阅读(1407) 评论(0) 推荐(0) 编辑
摘要: 本文继续阐述基于低端控制器CPU的SoC固件架构设计。这一节讲述内存空间的具体规划分配,包括嵌入式固件系统软件层次、程度段组成、物理内存分块设计和具体的程序内存空间分配原则。 阅读全文
posted @ 2014-10-10 21:57 吴跃前 阅读(2182) 评论(0) 推荐(1) 编辑
摘要: 代码数据分Bank管理的思想是:不同的代码块链接到不同的地址段,但会被加载到同样的内存空间块上运行。即虚拟运行地址不同,而实际加载物理地址是相同的。不同的代码块之间的调用可以通过两种思路来解决:一种是在编译时主动插入管理切换的引导代码,一种是通过硬件(如上一节介绍的MMU设计方法)来实现无缝的切换。同时,两种方式都需要链接脚本的精心设计来支持。 阅读全文
posted @ 2014-10-10 09:39 吴跃前 阅读(2218) 评论(0) 推荐(0) 编辑
摘要: 处理器系列的芯片(如X86、ARM7以上、MIPS)一般都会有MMU,跟操作系统一块实现虚拟内存管理,MMU也是Linux、Wince等操作系统的硬件要求。而控制器系统的芯片(面向低端控制领域,ARM1,2,MIPS M系列,80251等)一般都没有MMU,或者其只有单一的线性映射机制。本文要谈的是控制器领域SoC的内存管理单元的硬件设计,其重要的理念同样是代码和数据分时复用物理内存空间,在保障系统功能和性能的基础上最大限度地节省物理内存的目的。 阅读全文
posted @ 2014-10-09 17:27 吴跃前 阅读(2200) 评论(0) 推荐(0) 编辑