自学嵌入式开发应该先要学些什么?

作者&投稿:傅泼 (若有异议请与网页底部的电邮联系)
嵌入式开发需要学什么?~

不知嵌入式学什么,做什么的朋友,走过路过,千万不要错过,新鲜出炉的视频,来了...

学嵌入式开发首先需要有一定的C语言基础、然后在针对性的学习一些嵌入式系统开发的知识、反正跟嵌入式有关联的都要学、涉及的会比较多、楼主如果想学的话不建议自学、因为涉及的知识面太广、自学太耗时间学的还慢、还不如直接去北京那边的上嵌、不光教东西还安排工作。

嵌入式开发的学习其实并没有那么难,只要了解学习的体系,掌握正确的学习方法,学习起来并不难。来讲一下嵌入式开发都要学些啥!

嵌入式开发的主要学习内容:

  • C,Java核心编程:c语言核心编程,Java核心编程;

  • Linux核心操作与算法:Linux系统使用,Linux-c编程核心技术,精品数据结构,Linux-c编程精髓;

  • 核心操作与算法:Linux系统编程,Linux网络编程核心技术,UI编程,Java核心编程,安卓核心技术;

  • ARM+Linux底层开发:数字电路,ARM编程核心,Linux系统开发,嵌入式Linux驱动开发;

  • 大型项目实践:每期安排各类型真实的项目

  • 互联网行业目前还是最热门的行业,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

    想要系统学习,你可以考察对比一下开设有IT专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,建议实地考察对比一下。

    祝你学有所成,望采纳。

    请点击输入图片描述



最基础的 数电模电 要理解,能掌握最好
数电模电别看是最基础的,大多数人都迷糊着呢。
掌握了数电模电,电路图都能看懂了,你绝对不愁找不到工作!

专业基础的话肯定从 《单片机》 入门 很简单
不同学校,教的单片机型号可能不一样,不过大同小异,差别很小
但很多学校器材比较老,可能学的还是MCS51系列
目前流行的是ARM系列 ARM7 ARM9
ARM7上手较简单,广泛用于工业控制
ARM9较难些

不过目前的趋势是 FPGA 门电路
与普通单片机有本质区别,用处更广,功能更强
鉴于你现在可能还没学完 数电 ,它们的区别就不给你说了

我的建议
1、模电数电 学好
2、单片机(入门简单的如ARM7) 要多做做实验,能完全理解控制方式。
要经常能去实验室,自己动手焊板子。好好利用学校的器材资源,可以做一些小发明,会很有成就感。(不要像我,在学校没好好利用。出来了,都是自己掏钱买材料研究,贵啊!!)
3、相信我,FPGA绝对是大势所趋,你要是觉得学的差不多了就搞它吧。

1. 说在前面

“嵌入式软件开发”包括“嵌入式应用开发”和“嵌入式驱动开发”,本站主要关注的嵌入式开发内容为“嵌入式驱动开发” ,继续细化的方向为“嵌入式Linux驱动开发”,知识点我们首先可以从方向的名字关键字上有所理解:嵌入式,Linux,驱动。

“嵌入式” 代表的是产品的类型,它是相对于PC来说的,具体的概念,本站已经说的非常清楚了,这里就不累述了。具体请看关注新人系列的职业规划帖子。
“Linux”代表的是嵌入式产品中使用的软件操作系统,也就是说我们选择Linux操作系统作为主要学习对象。你可以理解为它相对于PC机上的windows操作系统。
“驱动”代表的是Linux操作系统开发中的一个方向“驱动开发”,说明我们当前关注的是linux驱动开发,而不是linux应用开发。你可以理解为相对于PC中的windows操作系统的驱动,我们用PC电脑的时候,有些时候你不是需要自己安装某些驱动吗,就是这个意思。

总结一下,所以我们现在关注的开发内容归根到底就是“驱动“开发,不过这个驱动是”Linux“操作系统的驱动,而这个”linux“操作系统主要是跑
在”嵌入式“产品上的。所以我们开发的主要知识点就是集中在”Linux驱动“ 和
”嵌入式“两个概念上来。我们知道了知识点概念的前因后果之后,开始对这两个知识点的开发细节做进一步细化。

所谓”嵌入式“开发:
我们知道概念上它是相对于PC开发,前面的叙述得知我们采用的操作系统为linux,那么我的问题来了:如果PC机上也跑的是Linux操作系统,基于PC的linux开发其实和基于嵌入式系统的linux开发基本开发思路是一样的,只不过开发过程中的编译,
烧录方式有差别。下面我们就说说这两种开发方式的异同点,因为PC对于我们来说不陌生,那么在PC机上安装个ubuntu系统也应该是大家都这么玩过。既
然这两种开发方式只是编译和烧录有区别的话,那么我们就很容易通过PC机上安装个ubuntu来快速认识嵌入式linux系统的开发了。

PC机linux开发:

如果你有个PC,并且安装了ubuntu,假设我们PC上有SD卡控制器,但是ubuntu中的linux并没有这个型号的SD卡驱动,那么如果我们想开发个PC机上SD卡驱动,我们就可以分以下几步开发:
(1)下载相应的ubuntu版本的linux内核源码到本PC机。
(2)如果该linux代码里没有该SD卡型号的驱动,那么就需要我们针对该SD卡型号写基于linux的SD卡驱动,这一步也就是我们主要的”驱动“开发任务。
(3)针对linux内核,直接在本机上make menuconfig,配置选择该型号的SD驱动支持,前提是你已经开发好了SD卡驱动了。
(4)使用本机ubuntu上GCC编译器直接编译内核:make。
(5)烧录内核:直接在本机上make modules_install, make install.这个动作将把相应的驱动程序拷贝到ubuntu的boot目录,重启的时候SD卡驱动就会生效了。

嵌入式系统linux开发:

如果你有个s3c6410,2410的开发板,或者任何一个嵌入式arm的开发板,并且安装了Linux,假设我们板子上有SD卡控制器,但是用的linux并没有这个型号的SD卡驱动支持,那么如果我们想开发个基于开发板机上SD卡驱动,我们就可以分以下几步开发:
(1)拿到相应的版本的linux内核源码并放置到开发用的PC机。
(2)如果该linux代码里没有该SD卡型号的驱动,那么就需要我们针对该SD卡型号写基于linux的SD卡驱动,这一步也就是我们主要的”驱动“开发任务。
(3)针对linux内核,直接在开发机上make menuconfig ARCH=arm,配置选择该型号的SD驱动支持,前提是你已经开发好了SD卡驱动了。
(4)使用开发PC机ubuntu上已经安装好了的arm-linux-GCC编译器直接编译针对开发板的内核:make ARCH=arm。
(5)烧录内核:将编译后生成的内核文件通过串口现在,usb下载,tftp等下载到目标开发板子上面,重启开发板,看到SD卡驱动生效。

大家可以看到我们关心的两个知识点中的“驱动”开发,主要是第(2)项在PC上和嵌入式上基本是相同的。另一“嵌入式”知识点是和PC上有区别的,主要区别在于:编译和烧录方式。

所以我们对于“嵌入式linux驱动”开发的知识点总结,主要是linux“驱动”的开发和“嵌入式”系统的烧录编译方法。

2. 知识点总结

嵌入式系统的烧录和编译知识点:

(1)PC服务器的准备,安装ubuntu系统
(2)交叉编译器的安装,编译方法。
(3)下载到目标板,串口烧录,usb下载烧录,tftp网络烧录。
请大家仔细阅读本站的跟我学系列贴子,通读之后我相信“嵌入式”的这个知识点就已经完整的掌握啦。
http://mcuos.com/thread-8166-1-1.html

Linux驱动开发知识点:
(1)C语言基础 - 基础知识点
(2)操作系统基础理论 - 基础知识点
(3)简单的linux命令操作 -基础知识点, 有没有玩过ubuntu或者其他发行版?有没有使用过命令行做一些事情?
(4)设备的文件节点 - 必备知识点,/dev/下面节点的意义,mknod创建dev文件节点。
(5)简单驱动的modules的编写和加载 - 必备知识点, insmod, modprobe, rmmod命令的意义,为模块传递参数。
(6)字符型驱动编写 - 必备知识点
(7)驱动基本调试方法 - 必备知识点,printk打印驱动信息,dmesg打印kernel信息,proc,sys目录的意义。
(8)共享资源的同步机制 - 必备知识点,资源临界区概念,自旋锁,信号量,等待队列的使用。
(9)硬件IO的访问 - 必备知识点,ioremap,memory map,writel,readl读写接口。
(10)中断的request和中断号的分配 - 必备知识点。
(11)PCI,AMBA总线知识 - 必备知识点。
(12)时间管理 - 必备知识点,udelay,mdelay长延时和短延时,jiffies,os timer原理。
(13)块设备驱动程序的编写 - 必备知识点。
(14)Kconfig和Makefile,添加驱动到内核 - 必备知识点。
(15)一个比较大型的驱动程序学习 - 选学知识点,选取任何一个eMMC,SD,USB等比较大型的驱动学习。

3. 知识点速成
osboy正在针对知识点进行梳理,目前速成教程已经编纂完毕,速成班招生进行中。。。详情请参考:http://mcuos.com/thread-9692-1-1.html,也可以QQ 82475491联系osboy进行咨询交流。

怎么定位的?嵌入式指啥呢?

学习嵌入式应用开发需要掌握一定的编程语言、操作系统和硬件知识,以下是一些学习嵌入式应用开发的建议:
1)学习C/C++等编程语言:C/C++是嵌入式系统最常用的编程语言之一,掌握这些语言的语法和特性可以帮助开发人员更好地理解嵌入式系统的工作原理和程序运行过程。
2)学习操作系统基础知识:嵌入式系统中的应用程序通常需要在操作系统上运行,因此需要了解操作系统的基本原理和功能,如进程管理、内存管理、文件系统等。
3)学习嵌入式系统的硬件知识:嵌入式系统的硬件结构和工作原理是进行嵌入式应用开发的基础,需要了解嵌入式处理器的架构和指令集、存储器和外设接口等方面的知识。
4)参加相关的培训课程或自学:可以通过参加相关的培训课程或自学来掌握嵌入式应用开发的知识和技能,一些在线课程和学习资源也可以帮助你快速入门。
5)实践项目:通过参与实际的嵌入式项目开发,可以帮助加深对嵌入式应用开发的理解和实践,主要涉及到嵌入式系统的硬件和软件两个方面。在嵌入式应用开发中,常见的应用场景包括智能家居、智能穿戴设备、智能手机等。


有没有嵌入式开发的学习路线,越详细越好_嵌入式开发需要掌握哪些知识...
二、学习方法 1.先整再零:对于一个实例项目,先从整体出发,保证调通,能正常运行,出现预期结果。遇到模糊的问题先跳过,整体有了一定认识后再对个别细节进行深入了解,但不能跳过深入了解细节的环节。2.边学边练:开发是一类实践性很强的技能,嵌入式开发要与硬件打交道,就需要更多的动手操作和...

小白自学嵌入式要从哪里开始?求教
2.学习嵌入式,编程是基础的,所以C语言是需要必须精通的,推荐视频嵌入式linuxC语言学习视频。3.数据结构和一些算法的掌握,这些知识掌握的较精,才能为将来做项目打下基础。以上是基础部分,这部分内容主要是一些理论知识,先了解嵌入式这个行业,了解嵌入式产品的一个基本的开发流程,这对后续的开发有很大...

学习嵌入式开发需要什么样的基础?
现在互联网IT发展的很快,嵌入式系统无疑是当前较热门最有发展前途的IT应用领域之一。所以很多人都想学习嵌入式开发,最近有很多的同学问小编学习嵌入式开发需要什么样的基础,今天北京北大青鸟的嵌入式开发讲师为大家讲解学习嵌入式开发需了解的一些基础知识?学习嵌入式开发需了解的基础知识 1.了解C语言基础...

自学嵌入式开发应该先要学些什么?
嵌入式开发的学习其实并没有那么难,只要了解学习的体系,掌握正确的学习方法,学习起来并不难。来讲一下嵌入式开发都要学些啥!嵌入式开发的主要学习内容:C,Java核心编程:c语言核心编程,Java核心编程;Linux核心操作与算法:Linux系统使用,Linux-c编程核心技术,精品数据结构,Linux-c编程精髓;核心...

嵌入式软件开发怎么学习
看你问的问题,应该是对嵌入式很感兴趣,其实你可以自学嵌入式。关于如何学习嵌入式,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,...

嵌入式开发需要学什么
嵌入式开发要学哪些?在这个技术瞬息万变的年代,嵌入式技术毫无疑问也得紧跟技术发展,这对于初涉行业的新人而言,摆在面前的问题很明显,嵌入式开发我得学习哪些技术点才能跟随企业的脚步呢?我愿意谈谈我接近十年对嵌入式开发的看法。我的职业生涯起步于嵌入式开发,那时候在日企从事汽车的嵌入式开发,...

学习嵌入式开发从什么起步呢?求大神请教专业课目,专业基础课目,基础...
6.ARM\/DSP 大三(或在比赛和项目中自学)7.一款嵌入式操作系统 linux或ucos (项目中自学 推荐uc 简单些)8.参加公司实习 大四C语言是基础,你可以搜搜网上的嵌入式笔试题,80%是C(部分C ,了解即可),比赛或项目则是让你提升的最好机会,实在没机会就自己找一款喜欢的开发板自学一下,一定要...

想做一个嵌入式开发工程师需要学什么
2.操作系统,要学习一下操作系统的基本原理,熟悉Linux环境下的开发环境,然后你就照着相关的资料写一个操作系统试试看。3.计算机组成原理,要能够熟悉计算机的基本原理,看看你一个计算机的基本组成以及软件实质是如何来跑的。4.可以选择一些书籍来作为参考,华清远见有很多专业的书籍,初学嵌入式的朋友...

电子信息工程专业,想要自学嵌入式开发
千锋教育将为您提供学习嵌入式开发的全面支持。我们拥有经验丰富的师资团队,他们具备实际项目经验和教学经验,能够帮助您深入理解嵌入式开发的原理和实践。我们注重实践能力的培养,通过实践训练和项目实践帮助学员将所学知识应用到实际嵌入式系统开发中,提高实际工作能力。在选择千锋教育进行嵌入式开发的自学...

嵌入式开发,请问学习嵌入式的时候,是否需要先学习别
本文引用地址:成为一名嵌入式Linux开发工程师需要学习哪些知识?以上就是列出的关于一名合格嵌入式Linux开发工程师所必学的理论知识,其实,作为一个嵌入式开发人员,专业知识和项目经验同样重要,所以在我们的理论学习中也要有一定的项目实践,锻炼自己的项目开发能力。尤其是对于一些刚毕业的应届大学生们实际...

新林区17742656700: 学嵌入式之前要学些什么东西啊 -
金清经络: 嵌入式是在实践中学的,你现在的基础已经不错了.没必要去看好多书再实践,数电模电是在你画板子和硬件搭线用的,如果你能用51实现一些简单的功能了(跑马灯、呼吸灯、蜂鸣器音乐、LED、LCD、键盘等等),想学ARM,就去买块开发板吧,建议是一个最小系统,想做什么东西,再买想要的传感器(温湿度测量、红外测距、超声波测距、射频识别、轨迹车等等),硬件自己搭线,软件方面网上有好多的例程.操作系统等你裸机做个东西出来再学吧.ARM功能很强大,你也可以买外围有各种接口的板子,还可以弄到网上去.

新林区17742656700: 嵌入式入门要学习什么 -
金清经络: 说起来我是偏向软件的.对硬件基本没什么交集.但是要想转入嵌入式,就必须要学习硬件.这还只是编写嵌入式的软件哪.当然纯硬件的话对我实在是困难.因为人都是有惰性的^_^,总会学习与自己的领域相近的,这样上手也有感觉,不至...

新林区17742656700: 想做一个嵌入式开发工程师需要学什么 -
金清经络: 1.ASM/C/C++语言,可以说这是计算机行业的一门必修课,所以要扎扎实实掌握好.2.操作系统,要学习一下操作系统的基本原理,熟悉Linux环境下的开发环境,然后你就照着相关的资料写一个操作系统试试看.3.计算机组成原理,要能够熟悉计算机的基本原理,看看你一个计算机的基本组成以及软件实质是如何来跑的.4.可以选择一些书籍来作为参考,华清远见有很多专业的书籍,初学嵌入式的朋友可以作为参考.5.arm,可以说是当下很流行的微机,自己可以想办法移植一个操作系统上去.6.硬件编程语言,芯片到底是怎么做成的呢,学习完这门课程,你就很清楚了.7.模拟电路&数字电路,硬件的基础,如果可以的话,学习下protel ,自己做个硬件pcb板试试.

新林区17742656700: 嵌入式开发要学什么?学习嵌入式开发要学哪些? -
金清经络: 入门嵌入式工程师 此阶段主要是前期的入门过程,主要针对入行没多久的新人.其实成功没有捷径,所以打好基础才是关键.嵌入式开发要学什么主要包含以下4个方面的内容:1.电路知识 首先你要学习电路、模电、数电,认识电阻、电容、三...

新林区17742656700: 想学好嵌入式,怎么开始,需要哪些东西? -
金清经络: 自学,学习的书籍,你上亚马逊上买,推荐书籍,嵌入式linux应用开发(韦东山的)原价69元,linux设备驱动开发 大概70元,然后花500元买个友善之臂的开发板,arm2410或者arm2440. C语言不行,就补C语言.如果买书钱不想花,网上这两本书的电子版书籍也是有的.另外我相信你看书的时候,一定刚开始看不懂,没关系,我告诉你,别放弃,一遍看不懂,看两遍,两遍不懂,看三遍,直到你看懂的时候,还要继续坚持.不但要只看书,还要从网上下载一些代码学习.你就会发现书上的东西都能用到,同时你也会发现书上的东西就是个皮毛,400多页的书,最后有用的也就剩下40---50页了.多看书+多读代码.进这个行业,已经足够了.

新林区17742656700: 嵌入式开发要学哪些? -
金清经络: 嵌入式主要内容包括linux系统,C语言开发,数据库等,JAVA部分的安卓开发等,学成后可以开发应用软件的,内核开发,驱动开发等工作,做项目.目前国内零基础的入门性课程较多,如果自己是软件开发相关专业或有较好的基础的,应该考虑星创客这样的专为培养中高级工程师的课

新林区17742656700: 学习”嵌入式软件开发“应该从什么学起? -
金清经络: 学习嵌入式软件开发应该从学习单片机开始,单片机是一切嵌入式的基础,最早的嵌入式系统就是以单片机为核心的,随着技术的进步和发展,才逐步发展到现在的DSP、ARM为核心的等高端高速控制系统.单片机是基础,同时也是现在较大系统不可分割的组成部分,比如汽车,主控系统是ARM,但各个子系统仍然是单片机完成的.所以一个出色的嵌入式软件工程师,必须具备单片机的知识,这样才能在实际工作中把控一切,应用自如.

新林区17742656700: 学习嵌入式系统需要哪些预备知识? -
金清经络: 首先是必须学好C语言,建议在学习嵌入式系统之前,先了解一下单片机、8086、汇编语言,这对于学习嵌入式系统开发是有帮助的.这是我学习的一点经验.

新林区17742656700: 零基础学嵌入式开发要学什么? -
金清经络: 嵌入式开发主要未来从事单片机、ARM、FPGA、DSP、IC设计、微处理器体系结构几个方面,目前发展来说做ARM相对比较多,前景比较好,不过技术难度也略高一些,入门易、做精难.零基础推荐华清创客学院的教程,每个知识点都有对应的案例,理解起来很容易,零基础入门的量身教程.技术让你的每天的问题可以得到及时的解答,不留尾巴.课程内容干货多,废话少,交互式让枯燥的课程变得生动有趣,加强你的学习欲望.线上无费用试听.

新林区17742656700: 嵌入式学习首先要学什么基础
金清经络:你好,学习嵌入式首先,应该具备一定的C语言基础 其次,最好接触过单片机,具有一定的单片机基础 再次,了解一定的计算机操作系统工作原理 最好,对Linux要有一个概念性的认识,要知道什么是进程、线程、任务调度等. 如此解答,希望可以对你带来帮助.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网