brew手机开发原理

简介: 嵌入式系统由于软件规模小,因此将引导代码和操作系统代码全部放到了系统的Flash芯片中了。正如我们所知道的,PC机上大部分的操作系统代码全部放在硬盘上,然后从硬盘上将程序载入内存执行。

嵌入式系统由于软件规模小,因此将引导代码和操作系统代码全部放到了系统的Flash芯片中了。正如我们所知道的,PC机上大部分的操作系统代码全部放在硬盘上,然后从硬盘上将程序载入内存执行。而嵌入式系统中目前大多数采用直接寻址的方式从Nor Flash芯片中读取代码并执行。因此,实际上嵌入式系统简化了PC系统的设计,将PC系统中的BIOS和硬盘代码全部集中到了一个Flash芯片上。因此BIOS虽然也可以使用Flash芯片,但是相对于嵌入式系统来说,他们的含义和作用却不同。
当前流行的分为NOR Flash和NAND Flash。
NAND与NOR Flash的区别主要有:
1、NAND Flash的空间比Nor Flash大
2、NAND Flash的访问速度比Nor Flash快
3、NAND Flash只有Page访问模式,Nor Flash可以进行Page和直接地址访问(直接地址访问也就是CPU可以直接寻址,或者叫做随机访问)
4、NAND Flash允许有坏块,但是Nor Flash不能有坏块
5、NAND Flash比NOR Flash更加便宜
Page模式允许一次读取多个字节,就像硬盘的最小读写单位是扇区一样,只不过Flash的最小读写单位叫做Page。Page模式下可以加快Flash的读写速度。由于NAND Flash只支持Page读写模式,因此使用NAND Flash做为代码区的时候需要外加控制电路。当前使用NAND做为代码区正在成为一种流行的趋势(因为NAND Flash成本更低),主要的实现方式有两种:一是添加仿真电路使得NAND Flash可以支持随机访问;二是增加一个类似硬盘的引导区(通常是第一个Page),系统启动的时候使用引导区的代码将全部NAND中的代码复制到RAM中执行。
在计算机系统中主要存在用户数据、程序数据和代码三种二进制内容。
二进制形态 PC系统 嵌入式系统
用户数据 存储在文件系统中,典型的设备是硬盘 存储在文件系统中,典型的设备是Flash存储芯片
程序数据 可读可写的数据存放在RAM中;只读数据存放在硬盘中,运行时与代码一起读入RAM 可读可写的数据存放在RAM中;只读数据存放在Flash中,与代码存储在同一个区域
代码 存储在文件系统中的文件里,运行时读入RAM由CPU执行 如果存储在NOR Flash等可随机访问的空间中则CPU直接在芯片中取指令运行;如果存储在NAND Flash等不能随机访问的空间中则需要读入RAM中运行

开发人员的主要工作是按需求在模拟器上,开发需要的程序,实现完整的功能,并且把程序的功能结构调试完成、考虑各种可能的情况把异常都处理好,然后编译到手机上进行真实环境调试和测试;一般这个过程都是边开发边调试边编译到手机上测试等步骤同时进行。

目录
相关文章
|
10月前
|
Ubuntu IDE 搜索推荐
统信UOS系统开发笔记(五):安装QtCreator开发IDE中的中文输入环境Fcitx输入法
中文输入法,QtCreator中无法输入中文也是ubuntu中一个常规问题,在国产银河麒麟系统中也有此问题(PS:最终无法结局,用文本自行贴),国产UOS也有此问题,本片要解决此问题,主要是安装和使用Fcitx输入法。   (PS:本篇完整的处理方式,流程成功,但是结果未成功,留下来给其他版本的参考)
|
图形学
Rhino中文名称犀牛,是一款超强的三维建模工具Rhino 7.9安装教程(所有版本下载安装教程)
Rhino中文名称犀牛,是一款超强的三维建模工具。不过不要小瞧它,它包含了所有的NURBS建模功能,用它建模感觉非常流畅,所以大家经常用它来建模,然后导出高精度模型给其他三维软件使用。
|
Windows
GuitarPro8.0最新版本打谱编曲软件
许多打谱编曲软件中都有吉他乐器的插件,插入音轨即可使用,除此以外,还有一款专门针对吉他的音乐软件,就是Guitar Pro。Guitar Pro是吉他类音乐软件中比较有代表性的,从开发至今不断更新优化,目前的软件版本已经更新到了Guitar Pro 8。首先是它的地位,从发行至今,Guitar Pro一直是吉他类音乐软件的佼佼者,在这个领域内占据着至关重要的地位,一直是业内业外许多用户的首要选择。另外就是它的功能,这款软件可以打开GTP格式乐谱并对其进行编辑,也支持导出多种文件格式,这为用户之间的传播和交流提供了必要且有效的条件。
167 0
|
Ubuntu 数据可视化 搜索推荐
麒麟系统开发笔记(六):安装QtCreator开发IDE中的中文输入环境Fcitx输入法
中文输入法,QtCreator中无法输入中文也是ubuntu中一个常规问题,在麒麟系统中也此问题,要解决此问题,主要是安装和使用Fcitx输入法。   本文章最终结果是失败的,但是读者的系统未必是跟笔者的系统类似的,笔者使用的系统正好是opengl修改源依赖库修改到一半的版本。
麒麟系统开发笔记(六):安装QtCreator开发IDE中的中文输入环境Fcitx输入法
|
Web App开发 自然语言处理 程序员
这些软件太强了,Mac必装!尤其程序员!
这些软件太强了,Mac必装!尤其程序员!
551 0
|
Web App开发 缓存 IDE
这些插件太强了,Chrome 必装!尤其程序员!
这些插件太强了,Chrome 必装!尤其程序员!
129 0
|
开发框架 API PHP
Phper必备的50个开源开发包
2019年最受欢迎的50个PHP开源项目,汇智网翻译整理。 如果希望快速掌握区块链应用的开发,推荐汇智网的 区块链应用开发系列教程, 内容涵盖比特币、以太坊、eos、超级账本fabric和tendermint等多种区块链, 以及php、 java、go、nodejs、python、dart等多种开发语言 1、Laravel Laravel是一个为Web开发者打造的PHP开发框架。
1712 0
|
Ubuntu Linux 网络安全
Ubuntu抛弃了Untiy转向Gnome,美化之路怎么办?不用怕咱一步一步大变身!
跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux 常用软件安装+系统软件卸载:http://www.cnblogs.com/dunitian/p/6670560.
1023 0