嵌入式开发基于linux环境下,提供原代码是为了编译生成自己的linux内核。
嵌入式的系统特点:
1、可裁剪性。支持开放性和可伸缩性的体系结构。
2、强实时性。EOS实时性一般较强,可用于各种设备控制中。
3、统一的接口。提供设备统一的驱动接口。
4、操作方便、简单、提供友好的图形GUI和图形界面,追求易学易用。提供强大的网络功能,支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。
5、强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预、这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。
6、固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。
7、更好的硬件适应性,也就是良好的移植性。
8、嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
编码的种类:
编码(Encoding)在认知上是解释传入的刺激的一种基本知觉的过程。技术上来说,这是一个复杂的、多阶段的转换过程,从较为客观的感觉输入(例如光、声)到主观上有意义的体验。
1、字符编码(Character encoding)是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对。
2、文字编码(Text encoding)使用一种标记语言来标记一篇文字的结构和其他特征,以方便计算机进行处理。
3、语义编码(Semantics encoding),以正式语言乙对正式语言甲进行语义编码,即是使用语言乙表达语言甲所有的词汇(如程序或说明)的一种方法。
4、电子编码(Electronic encoding)是将一个信号转换成为一个代码,这种代码是被优化过的以利于传输或存储。转换工作通常由一个编解码器完成。
5、PCM 脉冲编码调制是Pulse Code Modulation的缩写。(又叫脉冲编码调制):数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。
6、神经编码(Neural encoding)是指信息在神经元中被如何描绘的方法。
7、记忆编码(Memory encoding)是把感觉转换成记忆的过程。
8、加密(Encryption)是为了保密而对信息进行转换的过程。
9、译码(Transcoding)是将编码从一种格式转换到另一种格式的过程。
但是,由于嵌入式产品是基于linux内核开发的,所以在开发初期为了方便,应该有一个基本的开发环境,这也是为什么要安装linux操作系统的原因了;
而为什么要虚拟机,是出于生活工作习惯了桌面的操作系统,并且不得不肯定的是windows操作系统提供了很多用户体验很高的应用程序,所以,在生活的同时,工作中,学习里,需要用linux操作系统进行开发,就直接在windows上安装虚拟机即可;
还有一点就是,开发过程中,介于跨平台的性质,很多产品也是运行在windows下的,所以也需要进行交叉编译;
综上所述,在linux操作系统进行学习开发是明智的选择。
所谓,linux提供开放源代码指的是你可以到网上下载linux Kernel 自己修改,配置,编译生成自己的linux内核。 也可以免费用linux来进行项目开发, 但是要发布自己的linux内核版本则须遵守相关规定。至于什么规定呢,如果你有兴趣研究linux 自然就会知道了。因为很多内核代码前面一段注释都有写。 呵呵
嵌入式系统简单点理解只是嵌入到特定应用环境下的计算机系统,像银行的ATM机,也是嵌入式,但那很多都是基于PC的,也就是正宗的windows……还有一些工控机,不也就是PC系统么。