Linux基础入门:单片机和Linux有什么不同吗

本文探讨单片机与Linux的区别,强调两者在产品应用、硬件操作和编程方式上的异同。在硬件操作上,单片机直接操作硬件寄存器,而Linux则通过驱动程序进行访问。在Linux中,应用程序与驱动程序分离,提高了可移植性和团队协作效率。文章还提出了嵌入式Linux的快速入门方法,建议初学者理解系统组成、学会基础驱动和应用开发技能。
摘要由CSDN通过智能技术生成

我发现很多初学者只有单片机基础,甚至没有单片机基础。在学习Linux时,对很多概念比较陌生,导致不知道学什么,也不知道学了之后有什么用。所以小编在此分享此文。

 

 

第1章 单片机和Linux的区别

1.1 有哪些产品使用单片机或Linux

所有的电子产品,所用技术都可以认为要么是单片机,要么是Linux;GUI方面主要是QT/Android,它们都是运行于Linux之上的。

也许你不服!不是还有ucos、vxwork、wince、IOS吗?下面这个图是关于操作系统的占比,是2016年的,我没找到更新的图,但是很有参考意义:

我们说的单片机不使用操作系统,在上图中没有体现出来。但是使用单片机设备肯定远远超过Linux。很多人也是先学习单片机,从单片机进入电子工程师行业

日常生活中,有哪些产品使用单片机、Linux呢?下面举一些例子:

我们设计一个产品时,是使用单片机还是Linux,取决于成本:硬件成本、软件成本、维护成本、升级成本。而不应该根据个人偏好来选择:我喜欢单片机,所以就排斥使用Linux;我喜欢Linux,就排斥使用单片机。为了有更多的选择,我们需要既懂单片机,又懂Linux。

1.2 在硬件操作上单片机和Linux是类似的

以点灯为例,

无论是单片机还是Linux,我们要做的事情都一样:

① 看原理图,确定引脚是哪一个,确定它输出什么电平才可以

② 看芯片手册,确定要怎么操作寄存器

③ 写程序

但是,怎么编写程序,单片机和Linux有很大不同。

 

 

1.3 在单片机中点灯、使用LCD

使用单片机开发程序时,我们一上来就写一个main函数,下面是一些简化的代码:

LED程序里面的init_led、led_on、led_off函数是你一个人写的,爱取什么名就取什么名,爱怎么写就怎么写。

LCD程序里的函数也是你写的,完全是自由发挥。

很多单片机项目不是很复杂,2、3个人从上到下统统搞定,里面的函数大多时间是直接去读写寄存器。

很多单片机项目严重依赖于硬件,换一个芯片后怎么办?重写一套代码呗。

在单片机程序里,没有应用程序、驱动程序的概念,很可能一个人包揽了硬件设计、模块调试(或称之为驱动)、功能开发(或称之为应用)的全部活。

 

 

1.4 在Linux中点灯、使用LCD

在Linux中,不允许应用开发人员直接去操作硬件,比如你想点个灯,不好意思,你无法直接访问寄存器;你需要通过驱动程序来访问寄存器。

为什么?有几大原因:

① Linux系统中运行着众多程序,必须保证质量差的程序无法破坏系统:

假设你写的程序比较烂,那我

  • 12
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值