永发信息网

嵌入式开发要学哪些

答案:1  悬赏:40  手机版
解决时间 2021-01-03 17:13
嵌入式开发要学哪些
最佳答案
问题一:学习嵌入式开发要学习哪些知识? 嵌入式Linux操作系统学习规划
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:
(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)
(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)
(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是:
(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。
(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。
(4)兴趣所在,这是最主要的。
从事嵌入式软件开发的缺点是:
(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。
(2)这方面的企业数量要远少于企业计算类企业。
(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。
(4)平台依托强,换平台比较辛苦。
兴趣的由来:
1、成功观念不同,不虚度此生,就是我的成功。
2、喜欢思考,挑战逻辑思维。
3、喜欢C
C是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下:
相信程序员。
不要阻止程序员做那些需要去做的。
保持语言短小精干。
一种方法做一个操作。
使得它运行的够快,尽管它并不能保证将是可移植的。
4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。
5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。
方法步骤:
1、基础知识:
目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
科目:数字电路、计算机组成原理、嵌入式微处理器结构。
汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。
方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。
主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。
2、学习linux:
目的:深入掌握linux系统。
方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。
主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。
3、学习嵌入式linux:
目的:掌握嵌入式处理器其及系统。
方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。
(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。
(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。
主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。
4、深入学习:
A、数字图像......余下全文>>问题二:嵌入式开发要学哪些? 嵌入式开发要学哪些?在这个技术瞬息万变的年代,嵌入式技术毫无疑问也得紧跟技术发展,这对于初涉行业的新人而言,摆在面前的问题很明显,嵌入式开发我得学习哪些技术点才能跟随企业的脚步呢?我愿意谈谈我接近十年对嵌入式开发的看法。
我的职业生涯起步于嵌入式开发,那时候在日企从事汽车的嵌入式开发,最后也曾当过三年的讲师。不过现在依然混迹于嵌入式底层,以及android底层研发。可能还是觉得研发才是我的最爱。那么针对嵌入式开发要学哪些我简单的说一下,仅代表当前主流观点。
嵌入式开发作为新人,第一步C语言,有很多人自认为自己C语言很厉害,但是实际上一个从事嵌入式开发的老人,至少需要3-5年你才敢对C语言说精通,特别涉及到的常用的指针、数组、数据类型、运算符与表达式、控制语句时?你真的都懂么?这些是学习嵌入式最基础的知识。
第二步,有了这些代码的基础你才能能根据需求写程序,也就是常说的应用层,应用层是相对简单的。要有理解和编码调试的能力,如系统编程、标准的I/O,文件I/O,库的制作等等。一般而言这种应用层开发有1-2个月的时间都能学会。剩下的就是大量的编码来提升自己的经验。但只会这些也能找到工作,但我相信你看完下面的发现那绝对不是你的梦想!
第三步,更高级的内容也是最难的内容,前两步更多是让你会根据需求编码,但是如何能让你的程序能在硬件平台上运行,这才是真正的难题。所以每当再进一步的话,我们会发现我们什么有很多的东西都运行的是Linux系统,可是他们和我的PC运行的Linux有什么区别呢,为什么我电脑要用风扇而手机不用风扇呢,我们打开网页查找手机的详细参数的时候,会看到Cortex-A15 、四核 、ARM等等字眼,什么是ARM,什么是Cortex-A15,这需要进一步的了解。
了解完ARM之后,就需要利用开发板了。这时操作系统的移植又成了一个比较重要的内容了,什么是bootloader,什么是kernel,什么是rootfs等等……。
花了很长时间系统做好了,发现板子上很多的什么不能用,怎么办呢?这时我们需要写一些驱动来驱动这些设备,这时我们需要知道,什么是字符设备驱动、块设备驱动、网络设备驱动,为了更好的写驱动我们需要了解更多的硬件相关的东西,我们需要看懂芯片手册,我们需要看懂原理图,只有我们懂我们的设备,才能更好的驱动它。等等,这里就列举更多的内容了,因为还有很多。
所以对于嵌入式开发者来说,他们都经历了学习的痛苦。有句话说的好,不经历风雨怎么见彩虹。对于学习嵌入式我比较不赞成自学,他不同于一般的应用层开发。你会面临很多问题。问百度?太慢了!来机构学习虽然花了一部分钱,从时间成本和效率上来讲,无疑还是比较值得的。问题三:嵌入式开发需要学习哪些东西 1、c\c++语言,这是计算机行业的必修课,必须找扎实实学好,可以安装 turbo c编译器为开发环境,联系C语言编程; 安装vc++6.0学习C++编程。
2、操作系统,先在电脑上安装一个vmware work station,然后在vmware work station里安装一个linux(redhat 企业版)虚拟机。学习一下操作系统的基本原理,熟悉linux环境下的开发环境,然后你就可以照着 《自己动手写操作系统》写个操作系统试试。
3、计算机组成原理,熟悉计算机的基本原理,看看一个计算机的基本组成及软件在里面是如何跑的。
4、单片机,其实就是一台电脑,像现在的汽车控制、led控制、屏幕亮光程度控制,它都可以实现,自己买块开发板弄一下,你能学到很多的别人学不到的。朱有鹏的单片机个人觉得很不错,还有他的视频,可以看看,不扎心,老铁。
5、arm,现在最流行的微机,说白了就是32位的单片机,还可以跑操作系统哦,自己想办法移植一个操作系统上去吧
6、硬件编程语言(FPGA),芯片到底是怎么做成的,学习这门课,你就知道了
7、模拟电路&数字电路,硬件的基础,如果可以的话,学习下protel ,自己做个硬件pcb板试试。问题四:自学嵌入式开发应该先要学些什么? 最基础的 数电模电 要理解,能掌握最好
数电模电别看是最基础的,大多数人都迷糊着呢。
掌握了数电模电,电路图都能看懂了,你绝对不愁找不到工作!
专业基础的话肯定从 《单片机》 入门 很简单
不同学校,教的单片机型号可能不一样,不过大同小异,差别很小
但很多学校器材比较老,可能学的还是MCS51系列
目前流行攻是ARM系列 ARM7 ARM9
ARM7上手较简单,广泛用于工业控制
ARM9较难些
不过目前的趋势是 FPGA 门电路
与普通单片机有本质区别,用处更广,功能更强
鉴于你现在可能还没学完 数电 ,它们的区别就不给你说了
我的建议
1、模电数电 学好
2、单片机(入门简单的如ARM7) 要多做做实验,能完全理解控制方式。
要经常能去实验室,自己动手焊板子。好好利用学校的器材资源,可以做一些小发明,会很有成就感。(不要像我,在学校没好好利用。出来了,都是自己掏钱买材料研究,贵啊!!)
3、相信我,FPGA绝对是大势所趋,你要是觉得学的差不多了就搞它吧。问题五:嵌入式系统需要学什么语言? 本想学Java和Linux的嵌入式系统,但是看到学嵌入式系统的都是学C和C++的。不知道学Java可不可以、、、、问题六:成为嵌入式开发工程师需要学习哪些 面对如此火热的行业,如何才能成为嵌入式Linux开发工程师?成为一名合格的嵌入式Linux开发工程师需要学习哪些知识?
一:C语言 嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。
二:Linux基础 Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI ,编译器GCC,调试器GDB和 Make 项目管理工具, Shell Makefile脚本编写等知识,嵌入式开发环境的搭建。
三:Linux系统编程 重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。
四:Linux网络编程 计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发。重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。
五:数据结构与算法 数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。
六:C++ 、QT C++是Linux应用开发主要语言之一,本阶段重点掌握面向对象编程的基本思想以及C++的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。由于QT具有跨平台、面向对象、丰富API、支持2D/3D渲染、支持XML、多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编写GUI程序,并移植QT应用程序到Cortex-A8平台。包括IDE使用、QT部件及布局管理器、信息与槽机制的应用、鼠标、键盘及绘图事件处理及文件处理的应用。
七:Cortex A8 、Linux 平台开发 通过基于ARM Cortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nand flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android操作系统开发流程。Android系统是基于Linux平台的开源操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。
八:驱动开发 驱动程序设计是嵌入式Linux开发工作中重要的......余下全文>>问题七:零基础学嵌入式开发要学什么? 嵌入式开发主要未来从事单片机、ARM、FPGA、DSP、IC设计、微处理器体系结构几个方面,目前发展来说做ARM相对比较多,前景比较好,不过技术难度也略高一些,入门易、做精难。零基础推荐华清创客学院的教程,每个知识点都有对应的案例,理解起来很容易,零基础入门的量身教程。技术问答让你的每天的问题可以得到及时的解答,不留尾巴。课程内容干货多,废话少,交互式让枯燥的课程变得生动有趣,加强你的学习欲望。线上无费用试听。问题八:学嵌入式软件开发要掌握哪些知识 呢?笔者下面为你做一一介绍:
第一,学习c 语言
学习嵌入式首先学习C 语言,这个是毋庸置疑的,不管是做嵌入式软件还是硬件开
发的人员,对C 语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,现
识每个人都有自己的方法,关键要去学习,看书也好,网上找些视频看也好。很多人会问,
就该写代码了,动手才是最重要的,当你动手了,遇到问题了,再反过来学习,反过来查查
课本,那时的收获就不是你死看书能得到的。
第二,学习操作系统
应该对操作系统有所了解,这对你对硬件和软件的理解,绝对有很大的帮助。应
的,当然,不是看书就能把这些理解透,如果不是一时能理解,没关系,多看看,结合以后
的项目经验,会有更好的理解的。
第三,学习linux
学习嵌入式系统,如linux 或者wince 下的编程,这些对以后做应用的编程很有帮
助,当然,如果做手机的话,那可以学习MTK、塞班、Android 等操作系统,Android 是以
后发展的趋势,现在很热门,Android 也是基于linux 系统封装的,所以建议先学习下linux。
还有,应该学习下单片机或者ARM 或者MIPS,很多人说我没有单片机的经验,直接
学ARM 可以吗?我觉得那完全没有问题的,当然如果你学习过单片机,那最好不过了,以后
学习ARM 就更简单了。
第四,阅读优秀代码
最后如果你把以上的知识都有所了解后,就该去阅读阅读一些优秀的代码,比如结
合arm 芯片手册学习去学习下UBOOT 的源代码,了解下最小的系统开发,那对你整个嵌入式
开发的非常有帮助的,可以的话,还可以学习下linux 的源代码,当然如果你直接阅读2.6
的代码,我想你会很痛苦的,可以先看看linux 代码早期的版本,比如0.12 的代码等等,
麻雀虽小,五脏俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程师。问题九:学习嵌入式开发,需要做哪些准备? 什么操作系统呢,深圳嵌入式很强啊,找个好的培训机构学起来比较快。1.硬件基础,皮毛就可以,实在不会就算了,反正公司有硬件工程师,而且还可以找供货商要技术支持,如果要软硬件都通,那模电啊数电啊都是基础,跑不掉的;
2.C/C++/C#/JAVA选一种,推荐C,汇编很少用没太大必要;
3.操作系统,linux/wince/ucos/android等任选一种,初学推荐ucos;
4.开发板,这个是重中之重,自己买的话,目前2440的板子是性价比最高的,比如友善的mini2440;
5.买个模块,GPS/GSM/WIFI/BT等等,选个喜欢的,做项目。 操作系统和语言:linux、ucos用C,wince用C++,android用JAVA,其他还有一些不是主流的系统如QNX、LynxOS等比较不常用
总结一下,涉及的课程主要有:电路分析,模拟电路,数字电路,C语言,C++,JAVA,操作系统原理,微机原理,单片机原理与应用,数据结构,嵌入式系统。拓展部分(就是说不是必须会的,有些公司需要):DSP、FPGA,传感器原理,信号分析。 重点在于编程语言,即C/C++/JAVA等。问题十:嵌入式开发要学什么? 学习嵌入式的就业前景广泛,你的职业发展方向有很多,可以说只要跟电子控制相关的工作,你都可以参与,当然嵌入式这个行业也非常利于个人创业,这也是为什么越来越多的人参加嵌入式学习的原因,嵌入式可以看朱有鹏的视频,好多同学都说学到了很多,究竟嵌入式开发要学什么?
相信这个问题一直是困扰很多嵌入式初学者的难题,接下来就简单说一下学习嵌入式需要学习的内容:C语言;C++;操作系统;计算机组成原理:linux编程;arm;硬件编程语言(FPGA);模拟电路&数字电路。
1.C/C++语言,可以说这是计算机行业的一门必修课,所以要扎扎实实掌握好。
2.操作系统,要学习一下操作系统的基本原理,熟悉Linux环境下的开发环境,然后你就照着相关的资料写一个操作系统试试看。
3.计算机组成原理,要能够熟悉计算机的基本原理,看看你一个计算机的基本组成以及软件实质是如何来跑的。
4.可以选择一些书籍来作为参考,信盈达有很多自己编写出版的专业书籍,初学嵌入式的朋友可以作为参考。
5.arm,可以说是当下很流行的微机,自己可以想办法移植一个操作系统上去。
6.硬件编程语言,芯片到底是怎么做成的呢,学习完这门课程,你就很清楚了。
7.模拟电路&数字电路,硬件的基础,如果可以的话,学习下,自己做个硬件pcb板试试。
嵌入式开发要学的内容就简单介绍以上这些内容了,这几点可能不太全面,但对于基础入门学习者会有帮助。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁能告诉我真爱的真谛!
下面图形经过折叠不能围成棱柱的是A.B.C.D.
—When and where the accident ?—It h
野火烧不尽 ,春风吹又生作者是谁
山东省事业编考试报名时间
电脑运行较慢,是加内存条还是固态硬盘呢?
纠结。。。到底要不要单招,,,
关于磁场和磁感线的描述,下列说法中正确的有
大连站到大连森林动物园怎么走
朋友说龙甲防盗门质量很好,请问有没有买过的
哪位清楚win7电脑不能修改高级共享设置怎么办
如何知道别人对自己的看法?
单选题MrsO’Neillasked________questionsand
深圳龙岗区集体户口 无房证明要在哪开? 10分
“春水满泗泽,夏云多奇峰。秋月扬明辉,冬岭
推荐资讯
在雨季,某河流水位持续上涨并超过警戒水位,
中国花道的特点是什么
越狱的IPAD1能完美查看PDF文件吗?还有如何从
我要开始发红包了的英文字母怎么拼
怎么解散宠物
一首汽车广告曲啊 哦哦哦哦哦哦力哦 we have
光现象成因归类:倒影________,手影________
2014年年鬼谷诗全年版
花盆种植的七彩椒能食用吗
四更半夜的三更是几点
关于南方地区农业生产的叙述,错误的是A.农作
下列现象属于光的直线传播是A.插入水中的筷子
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?