嵌入式入门的一些基本知识(第一天)
========================
第一天学习内容,有很多自己理解然后写出来的,有错误以后改
正文开始:
嵌入式系统的特点:
1.面向特定的系统应用。
2.涉及面相当广、应用到生活的方方面面。
3.硬件与软件都有高度的可执行性。
4.生命周期相当长(后期系统升级,维护)
5.不具备本地开发功能,需要有专门的开发工具与环境。
嵌入式操作系统:
·实时性是它非常重要的特性。
ps:在工业控制领域,以及航空航天领域实时性尤为重要;在日常产品中,如mp3实时性的重要性有所降低,称为软实时。
嵌入式操作系统的分类(5种):
· 1、linux操作系统:发展快,应用多,使用的人和社区庞大。有多发行版本,可以通过修改内核,让它变成实时性操作系统。
· 2、us/os操作系统:典型的实时操作系统。
· 3、windowsCE
· 4、vxworks
· 5、QNX
操作系统的选择
- 考虑系统是否对硬件支持
- 考虑开发调试工具是否具备
- 考虑系统能否满足应用要求
API:application programming interface,应用程序接口。
通俗的讲就是:其他程序员写好的函数、库、对象、类等直接来通过命令调用,这样就是说使用了某个API。
嵌入式linux的开发环境
- 嵌入式开发的优点是体量小,软件和硬件都可以裁剪,使其在满足功能的情况下,器件尽可能小。在这样的要求下,其硬件资源是非常匮乏的:cpu频率低、外接口少(甚至没有鼠标键盘的接口)、内存过小、处理速度慢等等。因此,必须在另一台开发主机上进行软件的开发,在开发主机上写出程序,编译生成可执行文件,接着烧写到目标机中检验程序是否正确运行。这个过程就是交叉编译过程
嵌入式linux系统的开发要点
- 选择一个linux系统发行版本(一个合适的发行版本可以为开发者提供可靠的软件和完整的开发工具包)
- 熟悉开发环境和工具:交叉开发环境是linux系统开发的基本模型。linux环境配置、GNU工具链、测试工具以及集成开发环境都是linux开发利器。
- 熟悉linux内核:嵌入式linux开发一般都需要重新定制内核,应熟悉内核配置、编译和移植。
- 熟悉目标板的引导方式:开发板的BootLoader负责硬件平台的最基本的初始化,并且具备引导linux内核启动的功能。(由于硬件平台是专门定制的,一般需要修改编译BootLoader)
- 熟悉linux根文件系统:linux中的文件和应用都存放在文件系统中。系统启动所需的程序和文件也在文件系统中,而linux的命令行可以指定需要挂载的根文件系统
- 理解linux内存模型:linux是保护模式的操作系统。内核与应用程序分别运行在完全隔离的虚拟空间地址。物理地址必须映射到虚拟地址才能访问。只有理解linux内存模型才能最大程度地优化系统性能。
- 理解linux调度机制和进程、线程编译:linux调度机制影响到了任务的实时性,理解调度机制可以更好地运用任务的优先级。进程和线程编程则是应用程序开发所必需的。
嵌入式入门的一些基本知识(第一天)相关推荐
- 嵌入式入门基础知识有哪些?
嵌入式系统是指在特定应用领域内为满足特定要求而设计的计算机系统,通常被嵌入到设备中,具有实时性.可靠性.低功耗等特点.嵌入式系统应用广泛,例如:智能家居.智能手表.汽车控制系统.医疗设备等. 在本篇博 ...
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之第一个驱动
文章目录 前言 1.Hello驱动 1.1.APP打开的文件在内核中如何表示? 1.2.打开字符设备节点时,内核中也有对应的struct file 1.3.如何编写驱动程序? 1.4.驱动程序代码 1 ...
- 零基础学习嵌入式入门以及项目实战开发【手把手教+国内独家+原创】
零基础学习嵌入式入门以及项目实战开发[手把手教+国内独家+原创] 独家拥有,绝对经典 创 科 之 龙 嵌入式开发经典系列教程 [第一期] 主讲人: ...
- 基于Hi3516DV300的嵌入式入门演练(上)
基于Hi3516DV300的嵌入式入门演练(上) 基于Hi3516DV300的嵌入式入门演练(下) 文章目录 信息 前言 勉励 1 开始之前 1.1 操作系统与开发准备 1.2 推荐的书籍 1.3 书 ...
- 【嵌入式入门篇】嵌入式0基础沉浸式刷题篇1
嵌入式-入门沉浸式刷题篇 前言 Q1:嵌入式牛牛宏大小 Q2:嵌入式宏空间坐标数量 Q3:嵌入式牛牛疑惑的变量 Q4:嵌入式关键字const Q5:嵌入式机器的大小端 Q6:嵌入式不用排序找数字 Q7 ...
- 嵌入式入门课堂笔记 one third-november
嵌入式入门(第一节笔记) 一 嵌入式的大环境 (面试时可能的第一个问 作为开场以及考察对行业的了解 最好掌握二八原则 80%的话语主动权在自己这 展现自己的知识储备和沟通能力) 1,嵌入式开发与传统开 ...
- 嵌入式入门和项目实战开发【菜鸟内心深处最真实感想篇】
菜鸟 参加嵌入式入门和项目实战开发后[终于拿到年到10万了]--千真万确!!绝无虚言!!! 这里述说我菜鸟学习嵌入式的内心深处最真实感受!!![希望大家不要拍砖]我只是我的学习嵌入式过程 ...
- python向量计算库教程_NumPy库入门教程:基础知识总结
原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...
- 从事嵌入式开发需要掌握哪些知识?从事嵌入式软件开发的前景如何?
什么是嵌入式? 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一.嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器.存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很 ...
最新文章
- ios与html数据交互,iOS iOS与html进行交互
- Cocos2d-x 常见宏
- custom Idp sapdev 申请用户
- python之递归函数和内建函数
- 实战中的asp.net core结合Consul集群Docker实现服务治理
- 学习Spring-Cloud –编写微服务
- 前端学习(1857)vue之电商管理系统电商系统之配置api接口服务器并用postman调试接口
- python wmi mac变动_Python WMI参数反转
- 第5章 数据的共享与保护
- 2019-7-4日记
- SQL Server 2012安装异常:Error while enabling Windows feature: NetFx3, Error Code: -2146498298
- 魔兽世界 MPQ(MoPaQ) 文件相关资料
- 内容创作费时费力?这款AI写作神器超给力!
- 银河麒麟V10(Kylin Linux V10)之MySQL编译安装
- c语言输出菱形for循环_c语言输出菱形
- 实现一个canvas画板
- C++实现进程调度模拟程序——哲学家进餐问题
- HTML背景图片和背景渐变
- hihocoder01串
- 单例模式及单例类的两种实现