嵌入式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日

相关推荐

  • devops是什么文件

    DevOps:效率与自动化的桥梁 在当今迅猛发展的软件行业里,DevOps已经成为了高效软件交付和维护的关键。本条目旨在深度探讨DevOps的定义、起源、核心理念、实施步骤、以及它如何影响软件开发周期和文化。 一、定义与起源 DevOps,一个由“Development(开发)”和“Operatio…

    2024年3月26日
    1300
  • 产品管理和产品开发的协作方式如何

    直接进入主题,想要完成一款成功的产品,产品管理与产品开发之间协作是催化剂。双方须齐心协力:1、明确角色职责、2、沟通无间、3、凝聚共识、4、高效迭代、5、用户反馈导向。在2、沟通无间方面,确保信息流透明与及时是关键。产品管理者应及时传达市场需求与用户反馈,产品开发团队需确保技术实现的可能性与进度更新…

    2024年1月19日
    16900
  • bpm和oa办公的区别

    区别:一、定义;二、目的;三、应用范围;四、实现方式;五、管理对象;六、数据处理;七、适用性;八、作用范围;九、发展历程;十、管理模式。BPM是一种企业管理方法,旨在提高组织的效率。而OA办公则是指借助计算机和网络技术,旨在提高办公效率和精度。 一、定义 BPM是一种企业管理方法,旨在提高组织的效率…

    2023年5月23日
    45300
  • UniApp打包发布过程中常见的问题及解决方法

    在使用UniApp进行应用打包发布的操作中,开发者经常会遇到诸多挑战,如1、环境配置错误,2、代码编译异常,3、设备兼容性问题,4、性能优化需求。其中,环境配置错误对整个打包过程影响极大,因为它是项目启动的基础。这些问题可能会导致应用打包失败或运行不稳定,因此在打包之前仔细检查与配置相关的环境是至关…

    2023年12月22日
    42800
  • 如何使用甘特图

    使用甘特图的方法:1、管理里程碑和截止日期;2、将项目分解为更小的任务;3、可视化任务依赖关系;4、监控项目进度。管理里程碑和截止日期是指,甘特图的可视化时间线有助于管理里程碑和截止日期。 1、管理里程碑和截止日期 甘特图的可视化时间线有助于管理里程碑和截止日期。里程碑是项目进度的重要阶段,如财务检…

    2023年2月22日
    74700
  • 数据库分页是什么意思

    数据库分页是指将数据库中的数据根据需求进行分页的一种方式。逻辑分页依赖于代码,效率低;物理分页依赖于数据库,效率高。逻辑分页是半自动化的分页步骤,而物理分页是手写SQL语句实现的分页。 数据库分页是指将数据库中的数据根据需求进行分页的一种方式。逻辑分页依赖于代码,效率低;物理分页依赖于数据库,效率高…

    2023年5月29日
    50400
  • 店面管理系统设计

    店面管理系统设计必须解决的核心问题包括:1、库存追踪和管理;2、销售和收银处理;3、顾客关系管理;4、商务智能和报告;5、员工管理和考勤。在此之上,要特别着重阐述如何通过高度自动化的库存管理系统来有效降低人力成本及错误率,同时确保商品流动性和可获得性。 一、库存追踪与管理系统设计 库存是店面管理系统…

    2024年1月9日
    16400
  • 针对神经网络的编译器和传统编译器的区别是什么

    针对神经网络的编译器和传统编译器的区别是:1、定义和基础原理的区别;2、工作效率和性能的区别;3、适用场景的区别。传统编译器是一个用于将一种编程语言(源代码)转换为另一种语言(目标代码)的程序。神经网络编译器则是新一代编译器。 一、定义和基础原理的区别 传统编译器:传统编译器是一个用于将一种编程语言…

    2023年7月29日
    37700
  • 国内最好的oa办公系统

    标题:国内最好的OA办公系统 国内顶尖的OA办公系统以其卓越的灵活性、强大的功能性与绝佳的用户体验著称。1、WEAVER泛微OA、2、金蝶云之家、3、用友NC系统位居其中。特别是WEAVER泛微OA,它以其高度的定制性和集成能力,在企业信息化管理中表现突出,成功为各种规模的企业提供了优质的服务解决方…

    2024年1月15日
    16800
  • devops 到底什么意思

    ### 摘要 DevOps是一种扩展敏捷软件开发理念的方法论,, 这一术语将「Development(开发)」和「Operations(运营)」两个词汇融为一体,指引开发与运维团队合作密切,1、实现快速、可靠的软件交付和部署。具体而言,通过实践持续集成(Continuous Integration,…

    2024年3月26日
    1400

发表回复

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

400-800-1024

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

分享本页
返回顶部