LinuxGod

LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

Linux嵌入式开发的小白最常见的几个问题?

2023年9月4日 157点热度

_Angus(复旦学院)行有不得者,反求诸己

点赞

我通过回答以下几个小白最常见的几个问题,来间接回答题主,希望能帮助题主更好的理解Linux嵌入式开发。

一、什么是嵌入式?

简单介绍下,嵌入式系统是一种“完全嵌入受控元件内部,为特定应用而设计的专用计算机系统”,按照美国电气工程师商会的定义,嵌入式系统为控制、监视或辅助设备、机器或用于鞋厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统一般执行的是带有特定要求的预先定义的任务。因为嵌入式系统只针对一项特殊的任务,设计人员才能对它进行优化,降低规格增加成本。嵌入式系统一般进行大量生产,所以单个的成本节省,还能随着产值进行成百上千的放大。

(Ps:定义来自百度百科。)

二、那么嵌入式开发的方向有几种?

搞嵌入式开发方向有两种:

一种主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,最中级的硬件驱动程序等。这个方向的大多是学电子工程、通信工程等偏硬件专业出身的人,她们的优势是对硬件原理十分清楚,不足是她们更擅长定义各类硬件插口,但对复杂软件系统常常力不从心(比如嵌入式操作系统原理和复杂应用软件等)。这个方向的职位有硬件工程师等。

另一种主要从事嵌入式操作系统和应用软件的开发。这个方向大多是学软件、计算机专业出身的人,假如学软件的人对硬件原理和插口有较好的把握,我们完全也可写BSP和硬件驱动程序。嵌入式硬件设计完后,各类功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作(目前有好多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给日本或美国公司设计雨林木风linux,国外的硬件设计力量很弱,好多嵌入式公司自己只负责开发软件,由于公司都晓得,嵌入式产品的差别很大程度在软件上linux系统编程,在软件方面是最有"花头"可做的),所以搞软件的人完全不用害怕我们在嵌入式市场上的用武之地,越是智能设备越是复杂系统嵌入式linux应用程序开发标准教程,软件越起关键作用,但是这是目前的趋势。

总结下,从事嵌入式软件开发的用处是:

(1)目前国外外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是由于这一领域较新,目前发展太快,大多数人无条件接触。

(2)与企业估算等应用软件不同,嵌入式领域人才的工作硬度一般低一些(但收入不低)。

(3)哪天倘若创业,搞自已的产品,嵌入式不像应用软件那样容易被偷版。硬件设计通常都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就弄成自己的产品了。

(4)兴趣所在,这是最主要的。

其实不可能只有优点,从事嵌入式软件开发的缺点是:

(1)入门起点较高嵌入式linux应用程序开发标准教程,所用到的技术常常都有一定难度,若软硬件基础不好,非常是操作系统级软件功力不深,则可能不适于此行。

(2)这方面的企业数目要远多于企业估算类企业。

(3)有少数公司常常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。

(4)平台依托强,换平台比较辛苦。

这个方向的职位有嵌入式软件开发工程师等。

三.Linux作为嵌入式开发系统的优势在那里?

嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等

Linux是开源免费的,但是其源代码是开放的,愈发适宜我们学习嵌入式。

Linux作为嵌入式系统的主力军,广泛应用于消费类电子、工业控制、军工电子、电信/网路/通信、航空航天、汽车电子、医疗设备、仪器仪表等相关行业。随着嵌入式行业的迅猛发展,嵌入式Linux凭着其系统发展的成熟度、市场应用的高份额也遭到更多工程师同事的追捧,越来越多的企业和研制机构都转向嵌入式Linux的开发和研究,这促使嵌入式Linux在新兴的嵌入式操作系统领域内也获得了急速发展和广泛应用。

看了前面三个问题,相信我早已回答题主的问题,linux嵌入式开发如何样?以及这个方向的发展。接出来我从学习linux嵌入式开发须要把握的几个方面给你们介绍下。

1、基础知识:

嵌入式软件应用开发_嵌入式应用软件开发流程_嵌入式linux应用程序开发标准教程

课目:数字电路、计算机组成原理、嵌入式微处理器结构。汇编语言、C/C++、编译原理、离散物理。数据结构和算法、操作系统、软件工程、网络、数据库。

推荐主攻书籍:thec++programminglanguage、数据结构-C2。

目的:能读懂硬件工作原理,但重点在嵌入式软件,非常是操作系统级软件。

2、Linux系统:

方式:使用linux—〉linxu系统编程开发—〉驱动开发和剖析linux内核。

先看原理。看几遍后,对照情境剖析,

推荐主攻书籍:linux内核完全分析、unix环境中级编程、深入理解linux内核、情景剖析和源代。

目的:深入把握linux系统。

3、学习嵌入式linux:

方式:

(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。

(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。

(3)有块开发板(arm9以上),有条件可出席培训。

嵌入式软件应用开发_嵌入式linux应用程序开发标准教程_嵌入式应用软件开发流程

主攻书籍:毛德操的《嵌入式系统》及其他arm9指南与arm汇编指令等。

目的:把握嵌入式处理器其及系统。

最后推荐几本嵌入式书籍

Linux基础:

《Linux与UnixShell编程手册》

C语言基础

1、《CPrimerPlus,5thEdition》【美】StephenPrata着

2、《AdvancedProgrammingintheUNIXEnvironment,2ndEdition》(APUE)

3、《嵌入式Linux应用程序开发解读》

Linux内核

1、《深入理解Linux内核》(第三版)

2、《Linux内核源代码情境剖析》毛德操胡希明著

研制方向

1、《UNIXNetworkProgramming》(UNP)

2、《TCP/IP解读》

3、《Linux内核编程》

4、《Linux设备驱动开发》(LDD)

5、《Linux中级程序设计》杨宗德著

硬件基础

《ARM体系结构与编程》杜春雷着

系统教程

1、《嵌入式系统――体系结构、编程与设计》

2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操胡希明着

3、《BuildingEmbeddedLinuxSystems》

4、《嵌入式ARM系统原理与实例开发》杨宗德著

理论基础

嵌入式软件应用开发_嵌入式linux应用程序开发标准教程_嵌入式应用软件开发流程

1、《算法简史》

2、《数据结构(C语言版)》

3、《计算机组织与体系结构》

4、《深入理解计算机系统》

5、《操作系统:真谛与设计原理》

6、《编译原理》

C语言书籍推荐

1.TheCprogramminglanguage《C程序设计语言》

2.PointersonC《C和表针》

3.Ctrapsandpitfalls《C圈套与缺陷》

4.ExpertCLanuage《专家C编程》

5.ProgrammingEmbeddedSystemsinCandC++《嵌入式系统编程》

6.《C语言嵌入式系统编程修练》

再推荐一个学习网站:

嵌入式linux英文站

希望能对你们有帮助。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 嵌入 应用 操作 硬件 编程
最后更新:2023年9月4日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
如何在Linux系统中查看CPU信息使用lscpu命令行 linux服务器搭建ftp的6下安装vsftpd步骤及步骤 贵州工业职业技术学院求职意向期望工作地--诚聘英才 实验1Linux安装实验掌握虚拟机的使用 Linux系统tar命令的使用方法及使用命令教程 linux 开源nas系统 杰和科技NAS服务器媒体见面会在京召开 Android与Linux开发大不同 Linux系统软件安装包:自己动手,安装不用愁 车市新战局:汽车操作系统会复制智能手机的历史吗? Linux文件系统种类 如何卸载用源码包安装的软件?在线视频教程推荐 「职位」ASP.、PHP、Linux服务器集群开发 Torvalds:Linux内核开发的创新前景充满了热情 Linux文件系统的结构从终端窗口探索Linux目录树结构 卸载软件命令Linux.You linux软件开发如何入门?学习Linux步骤及学习方法介绍 14年Linux发行版的有趣历史观点 Linux中不像Windows可以直接在控制面板中卸载? 2018年波及众多Linux发行版的性能对比会更加深入 如何用源码包安装的软件?name的方法总结
嵌入式Linux操作系统学习规划+LINUX路线,主攻江苏电信天翼校园客户端故障指引及解决办法(101)英特尔GMAGMA950显卡驱动程序/WIN8/8.1电信校园网宽带用USB数据线共享给电脑无线上网国防科大开源操作系统:它只是一个吉祥的象征10个常用Linux文本查看命令及其详细说明和使用示例Linux嵌入式系统内核裁剪与定制方法的介绍情况淘宝教育热卖C语言编程开发C++程序设计零基础入门课程从CPU、内存、硬盘、显卡等这些方面安装Linux系统的最低配置Linux通过chkconfig设置开机启动服务创建的几种常见方式(技术分析)Linux多线程的使用与操作系统的区别通常rar命令由一个主命令加若干选项(可选)构成RedHatLinux中自动运行程序中的应用linux 读写文件 关于Linux内核的神秘面纱,你知道几个?使用wget实用程序的有用命令行工具的使用怎么设置linux开机项自启动?方式是怎样的?嵌入式Linux应用层与驱动层要想学习关于Linux内核的交叉编译步骤和方法:步骤、方法STM32嵌入式linux开发流程及应用程序分析-STMlinux下有哪些文件在介绍lsof命令实用用法介绍?
Linux中修改文件权限的命令、创建者所在组、所有人 如何查看Linux操作系统版本_谦杯的博客_51CTO博客 BT4Track的核心不再使用lzma格式的squashfs作为livecd (技术分析)Linux多线程的使用与操作系统的区别 Linux下查看版本号的命令转(组图) Net编程自动调试监视工具(AutoFor.Net) 变量置为昨天的日期,并将其转换为Unix时间戳 如何查看linux内核代码和看别人的代码有什么区别 如何找到Linux内核的版本号?或全部答案来修复 kali渗透测试系列文章目录信息收集信息网站的常见漏洞 Linux自主访问控制机制模块详细分析:网络安全标准资料 coLinux是与Windows操作系统协作的真正的Linux操作系统的 启动第一步--加载BIOS当你打开计算机电源(组图) 命令注释./*当前目录下所有文件的文件类型 Linux下定时执行脚本的使用方法及解决办法(一) TCL电视看电视直播方法购买智能电视的热卖,不少 Android插件化框架DL代理Activity的原理和三个关键问题 LinuxKernel的稳定内核版本-Hartman排序如下:选择使用自己喜欢的发行版所支持 【好玩的网络-第2.5期】分配IP有哪些骚操作?小白保姆级教程 使用Rufus轻松创建USB启动盘Windows7,Windows8
标签聚合
操作 内核 linux系统 软件 文件 命令 文件目录 应用 虚拟机 linux服务器
书籍
课程
技术群
技术干货大合集↓
  • 2023年9月 / 78篇
  • 2023年8月 / 93篇
  • 2023年7月 / 94篇
  • 2023年6月 / 90篇
  • 2023年5月 / 93篇
  • 2023年4月 / 90篇
  • 2023年3月 / 129篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.