Linux-ARM开发_linux arm开发-程序员宅基地

技术标签: arm开发  运维  linux  

什么是嵌入式

  • 嵌入式即嵌入式系统,IEEE(美国电气和电子工程师协会)对其定义是用于控制、监视或者辅助操作机器和设备的装置,是一种专用的计算机系统;

  • 国内普遍认同的嵌入式系统定义是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统

  • 从应用对象上加以定义来说,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。

  • 事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车,机器人等,都使用嵌入式系统,有些嵌入式系统还包含操作系统

嵌入式芯片选型

单片机能搞定的:

  1. 共享单车的锁
    • 单片机 gps定位模块, NB-Iot模块放送定位消息到服务器, 服务器将密码发送到手机支付宝,手机蓝牙发送指令打开电磁锁
  2. 宿舍楼下刷卡开铁门
    • 单片机,读卡器,电磁锁
  3. 快递小哥扫快递二维码
    • 单片机 屏幕 二维码技术
  4. 共享汽车开锁
    • GSM通信模块,电磁锁(基于汽车锁改造)

低端单片机搞不定的,用ARM架构,比如STM32,比如ARM+Linux+QT,比如安卓系统

  1. 人脸识别

    • 比如C51的摄像头,清晰度低,算法慢,准确率低
  2. 带人机交互的

    • C51,stm32配合屏幕,UI自定义底层UI风格体验差,开发量大
    • QT方案:通常基于Linux,STM32跑不了Linux,所以用nanopi,树莓派,2440等
    • 安卓的方案:基于安卓,高通的,华为海思的等

考虑因素:

  1. 可靠性、成本、体积、功耗等严格要求
  2. 功能和需求

硬件架构

  1. ARM架构(stm32,高通,骁龙,海思,树莓派的Cortex-A53d等)
  2. Intel架构(i5,i7)
  3. X86架构 (AMD)
  4. MIPS架构
  5. PowerPC架构

注意:

  • stm32跑linux需要mmu模块,因为芯片是ARMV4内核
  • 带操作系统的芯片:海思方案,瑞芯微方案,移远方案
  • 驱动是针对操作系统来讲,与普通的裸机开发有不同【可否理解为逻辑的驱动只操作寄存器,而操作系统的驱动也是操作成寄存器但是要给应用层开放接口】

为什么学

学习目标依然理Linux系统,平台是ARM架构,也就是Linux-ARM开发经验

(arm指的是:平台所用CPU是ARM9处理器,linux指的是:运行的操作系统是Linux)

  • 蜂巢快递柜,配送机器人
  • 第三方介入库,比如刷脸支付和公交车收费设备需要集成支付宝sdk,提供的libalipay.so是Linux的库,设备必须跑Linux系统
  • 图像识别,音频,视频等领域的技术支撑也无法脱离linux系统
  • 人工智能设备通常需要更好的系统和更高的算力
  • 能跑Linux的一般为X86(intel公司),ARM,MIPS,PowerPC( 苹果 )等架构,而ARM市场占有率最大
    • 目前的PC架构绝大多数都是Intel的X86架构, X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多、强得多 。 但ARM的优势不在于性能强大而在于效率,ARM采用RISC流水线指令集,在完成综合性工作方面根本就处于劣势,而在一些任务相对固定的应用场合其优势就能发挥得淋漓尽致。

学什么

这个领域分为三个方向:

  • 应用开发:通常与产品的业务相关,比如智能家居的中控板,可以是c++QT,可以是c GTK,可以是Android页面,也可以是基于串口屏的UI交互,后台数据交互和系统交互都是基于Linux系统的,难点在于协议开发
  • 系统开发:主要任务为硬件工程师设计的产品板操作系统,比如uboot(内核启动程序),linux内核(kernel),文件系统等,一般为原厂招聘
  • 算法工程师:与数据模型相关

嵌入式为什么要引入操作系统

单片机: 软件 —— 硬件
嵌入式: 软件 ——操作系统——硬件

嵌入式是通过操作系统,间接控制硬件。

优点:

  • 软件移植性好。
  • 软件开发人员不需要懂硬件,极大地提高了开发效率。
  • 操作系统提供了很多开源的软件,工具,库。
  • 可以实现多任务
  • 操作系统中有一些网络协议,因此嵌入式是可以上网的,提供了大量的网络资源,实现远程控制。

架构

ARM
DSP
FPGA

软件开发:给芯片写代码

硬件开发:比较好的方向如下

  • ARM、DSP、FPGA开发调试
  • 芯片,FPC柔性电路,集成电路
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/NRWHF/article/details/127809960

智能推荐

HDU 1009 FatMouse' Trade-程序员宅基地

文章浏览阅读48次。http://acm.hdu.edu.cn/showproblem.php?pid=1009Problem DescriptionFatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBe..._fatmouse trade时间复杂度

计算机网络实验3.1.1·PPP基本配置与分析_ppp的基本配置-程序员宅基地

文章浏览阅读5.3k次,点赞7次,收藏48次。PPP基本配置与分析实验目的实验装置实验原理任务要求实验步骤实验过程实验目的1.掌握 PPP 特点、工作过程和基本配置方法。2.掌握 PPP PAP 鉴别的特点配置方法。3.掌握 PPP CHAP 鉴别的特点和配置方法。4.掌握 PPP IP 地址协商的配置方法。实验装置1.华为 eNSP 软件。2.ping。3.Wireshark。实验原理PPP 是目前使用最为广泛的数据链路层协议,可以在点对点链路上传输多种协议的数据。PPP 包括三个组成部分:1.将数据报封装到串行链路的方法_ppp的基本配置

SQLServer数据库基础教程-程序员宅基地

文章浏览阅读2.6w次,点赞19次,收藏208次。SQLServer数据库基础教程SQLServer数据库基础教程【千锋软件测试】(1.数据库技术&)1.数据库技术&sqlserver2008安装不设置密码点击添加当前用户不要勾选错误报告不要修改配置文件地方,最多该盘符(2.数据库技术续一)2.数据库技术续一(3.数据库技术续一)3.数据库技术续一DBMS(4.数据库技术续二)4.数据库技术续二(5.数据库技术续三)5.数据库技._sqlserver

spring boot + Vue + iView前后端分离架构(Mac版) -- (四)后端工程构建_ivew boot-程序员宅基地

文章浏览阅读430次。spring boot + Vue + iView前后端分离架构(Mac版) – 后端工程构建(四)小景哥哥博客一、创建spring boot工程在我们的hep-admin-web同级下创建后端工程,idea-->file-->new-->module,选中Spring Initializr点击next,安装后续图片步骤操作即可。二、配置pom.xml文件<..._ivew boot

大话自由职业之区块链_区块链自由职业-程序员宅基地

文章浏览阅读201次。初稿。。。。。。。marker交流微信_区块链自由职业

OpenHarmony编解码器—libogg [GN编译]-程序员宅基地

文章浏览阅读300次,点赞3次,收藏8次。libogg是Ogg容器格式库,支持创建、解码和使用Ogg比特流。此文件是OggVorbis软件编解码器源代码的一部分。

随便推点

android studio真机测试不生成apk,Android应用开发Android Studio编译出来的APK无法安装如何解决?...-程序员宅基地

文章浏览阅读1.2k次。本文将带你了解Android应用开发Android Studio编译出来的APK无法安装如何解决?,希望本文对大家学Android有所帮助。AndroidStudio编译出来的APK无法安装如何解决?随着Android8.0的发布,国内虽然没上8.0但是7.0、7.1已经比较普遍了。AndroidStudio也做了不少更新。但是有不少人发现,我更新了AndroidStudio,发现我的手机无法调试..._升级android studio后,运行真机程序时没有在output生成apk包

不同的工地围挡运用要求详解_应急抢险围挡设置-程序员宅基地

文章浏览阅读125次。围挡的设置是要达到相关要求和规范,武汉六环交通为我们整理了一些工程围挡法,给大家进行参阅。_应急抢险围挡设置

IOS版Cocos2d-x2.2使用移动广告聚合平台集成插屏广告教程_cocos 2dx 广告聚合-程序员宅基地

文章浏览阅读645次。KeyMob移动广告聚合平台支持的广告形式有横幅广告、插屏广告、积分墙广告、视频广告、push广告、全屏广告等众多流行广告形式,目前是国内比较优秀的平台,也是日广告量展示量比较不错的移动广告聚合平台。_cocos 2dx 广告聚合

Open3D 大规模点云水平面校准_点云 地面水平校正-程序员宅基地

文章浏览阅读80次。在预处理后,我们可以使用 RANSAC(Random Sample Consensus)算法来估计点云所在的水平面。而在处理大规模点云时,准确地估计点云所在的水平面是一个关键的步骤。本文将介绍如何使用 Open3D 库进行大规模点云水平面校准,并提供相应的源代码示例。通过预处理和 RANSAC 算法,我们能够准确地估计点云所在的水平面,并可视化结果。接下来,我们需要对点云进行预处理,以便更好地估计水平面。安装完成后,我们可以导入必要的库并加载点云数据。现在,我们已经得到了估计的水平面点云。_点云 地面水平校正

【MySQL事务_2_事务提交与回滚】_mysql事务提交后回滚-程序员宅基地

文章浏览阅读1.4k次。回滚操作指的是当我们事务提交失败的时候,就需要我们将数据回滚到失败前的时间段。比如,delete一张表,忘加限制条件,整张表没了。误操作后,能快速回滚数据是非常重要的。对t_act进行提交和回滚操作。_mysql事务提交后回滚

AD9910模块(F1调试完成)_ad9910发射一会关闭一会-程序员宅基地

文章浏览阅读455次。AD9910 stm32f103zet6_ad9910发射一会关闭一会