嵌入式Linux开发有哪些基础概念

嵌入式Linux开发有哪些基础概念:1、裸机编程或单片机开发;2、Linux 系统开发;3、系统移植 linux 驱动移植;4、应用软件;5、Linux 系统架构优点。裸机编程,就是直接编写在硬件上运行的程序,没有操作系统的支持。

一、裸机编程或单片机开发

裸机编程,就是直接编写在硬件上运行的程序,没有操作系统的支持。一般我们把没有操作系统的编程环境,称为裸机编程环境,比如在单片机上编程。通过串口直接将程序下载到单片机芯片内部的 Flash 中,单片机运行时,直接调用我们编程的程序。

这时,我们编写的程序一般都有一个 while(1)的死循环存在,这样程序才能一直保持运行。裸机编程现在主要是正对低端的嵌入式系统,如 SCM(single chip machine)、各式 MCU、DSP 等。当然,编写 PC 的 bootloader 肯定也属 于裸机编程。

单片机一般有中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等功能,这其中还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等功能等集成到一块小芯片上。

单片机开发包括:程序设计(PC 端软件编程),烧写(将编程好的软件下载到单片机),单片机系统的设计(硬件电路设计)。

二、Linux 系统开发

基于 linux 操作系统来开发我们的产品叫 linux 系统开发。此开发的编程方式和裸机开发的编程方式是截然不同的。裸机开发的编程方式是直接运行在硬件之上,不与任何操作系统关联。

操作系统的存在势必要求设备驱动附加更多的代码和功能,把单一的“驱使硬件设备行动”变成了操作系统内与硬件交互的模块, 它对外呈现为操作系统的 API,不再给应用软件工程师直接提供接口。由此可见,当系统中存在操作系统的时候,驱动变成了连接硬件和内核的桥梁。

三、系统移植 linux 驱动移植

移植是说同样的一个 linux 操作系统 ,我们可以跑到不同的硬件上面,我们把操作系统移植到不同的硬件上面,这个过程叫做移植。

四、应用软件

在操作系统上面有应用软件,应用软件程序的执行是依赖于操作系统的,应用程序需要调用 linux 操作系统的库函数来实现,也就是说,应用软件的程序会调用 linux 操作系统的函数来完成对硬件的操作,应用程序是不能对硬件直接进行操作的。

五、Linux 系统架构优点

linux 系统开发架构和裸机的架构是不同的,架构相比于裸机架构是非常复杂了,那么我们使用这 个架构都有什么好处呢?

1、有了系统的架构后,开发起来就非常容易了,因为它有自己的框架,这种框架都是非常成熟的框架, 我们直接按照框架开发就可以了,框架给我们提供了很多现成的功能(从设计题变成了填空题)。

2、这个框架让我们的系统变得更加安全,因为我们的应用软件不能直接对硬件进行操作,它要借助操作系统来对硬件进行操作。如果应用软件有好几个,假如其中的一个应用软件崩溃了,它不会影响我们整 个系统的运行,不会造成系统的死机,这样就会让系统更加安全,出问题的概率变得更小了。

延伸阅读

Linux是什么

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

文章标题:嵌入式Linux开发有哪些基础概念,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/51768

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z站长
上一篇 2023年5月10日
下一篇 2023年5月10日

相关推荐

  • MegaEase左耳朵耗子陈皓复盘创业:名列前茅年盈利被当骗子,线下广阔天地大有可为

    文末有彩蛋:《陈皓谈Rework式团队实践体感》。 文| babayage 编辑 | 笑 笑 钱解决不了中年危机 趁年轻多去拥抱世界的美好 科创人(以下简称科):2015年之后您似乎沉寂了一阵,那段时间发生了什么? 陈皓(以下简称陈):2015年发生了很多事,先是父亲病危,之后因为北京工作居住证问题…

    2022年3月20日
    2.2K00
  • 如何通过OKR提升团队的目标导向性

    OKR(Objectives and Key Results)方法论能显著提高团队的目标导向性。1、设定明确和挑战性的目标 给团队明确方向并激励向更高标准努力。2、确保关键结果的可度量性 使团队成果可衡量、易跟踪。3、强化透明度和责任感 通过共享目标和结果,促进团队合作和个人责任。4、持续的进度监督…

    2023年12月8日
    800
  • 「链表」是一种怎样的数据结构,它有什么特点

    「链表」是一种比较简单、很常见的数据结构,是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表的特点:1、插入删除效率高;2、灵活度高;3、空间分散;4、查找效率低;5、空间利用率高。 一、链表的特点 「链表」是一种比较简单、很常见的数据结构,是线性…

    2023年4月15日
    91900
  • 什么是大模型超大模型和Foundation Model

    大模型指的是那些比传统模型具有更多参数的模型,它们的训练需要大量的数据和强大的计算资源。超大模型是大模型的一个子集,它们的参数量远超过大模型。Foundation Model指的是在大量数据上预先训练的大型模型,这些模型可以在多个任务上进行微调使用。 大模型 大模型指的是那些比传统模型具有更多参数的…

    2023年7月23日
    81600
  • 发布订阅、观察者模式的区别是什么

    发布订阅、观察者模式的区别是:发布订阅模式相比观察者模式多了个事件通道,事件通道作为调度中心,管理事件的订阅和发布工作,彻底隔绝了订阅者和发布者的依赖关系。即订阅者在订阅事件的时候,只关注事件本身,而不关心谁会发布这个事件。 一、观察者模式 观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的…

    2023年5月31日
    18700
  • php做网站建设有什么优势

    优势有:一、跨平台,性能优越;二、语法简单;三、运行环境容易搭建;四、支持多种数据库链接方式;五、有很多完善的架构。相比于ASP和.NET,PHP可以跨平台,更加高效安全。ASP和。NET都是微软旗下的产品,服务器只能使用windows系统,数据库一般使用MSSQL。 一、跨平台,性能优越 相比于A…

    2023年5月29日
    3300
  • 如何在团队中培养卓越的领导力

    培养团队中的卓越领导力是组织成功的关键因素。本文将深入探讨三个方面:1、设立明确的领导力目标和期望;2、提供实际的领导培训和支持;3、促进反馈和自我反思。其中,提供实际的领导培训和支持特别重要,通过定制的培训计划、导师辅导以及实际工作中的机会,可以直接提高团队成员的领导能力和自信。 1、设立明确的领…

    2023年8月21日
    10600
  • 进度跟踪检查的内容有哪几种

    进度跟踪检查的内容有:1、施工计划与施工进度的检查;2、施工方案及施工组织设计中的进度计划的检查;3、进度计划变更检查;4、质量控制措施落实情况;5、隐蔽工程验收情况。项目管理人员应根据施工进度计划,定期检查工程进度计划中确定的各项施工进度计划执行情况。 进度跟踪检查的内容有哪几种 项目管理人员应根…

    2022年11月15日
    55400
  • 项目经理在冲突解决中扮演什么角色

    摘要:项目经理在冲突解决中扮演协调者、沟通者、决策者和导师的角色。他们掌握1、协调和谈判技能;2、有效沟通策略;3、迅速决策的能力;4、在冲突中指导和教育团队。在处理项目内部和外部发生的冲突时,他们运用这些核心技能促进问题解决,维持团队和谐,确保项目目标的实现。 一、协调者的角色 项目经理必须利用协…

    2023年11月13日
    2200
  • 项目管理开发计划使用什么软件

    项目管理开发计划软件有:1、Microsoft Project;2、Asana;3、Trello;4、JIRA。项目管理开发计划软件是现代项目管理的重要工具。选择合适的软件可以提高团队的工作效率,减少沟通成本,降低项目风险。 1、Microsoft Project Microsoft Project…

    2023年3月3日
    25000

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部