嵌入式学习的嵌入式学习方法

供稿:hz-xin.com     日期:2025-01-13
嵌入式学习方法

嵌入式作为国内近几年比较火热的专业,也就是和前几年计算机专业一样。前些年计算机专业做为一个火热的专业各大高校一片热招,但由于学校师资有限、教材落后, 最后导致学生毕业后找不到工作。
近几年嵌入式又是一片火热,各大高校纷纷热招,但是部分高校设备不够齐全、师资不够,在不久几年里嵌入式专业又将重蹈计算机覆辙。现在好多在校大学生和工作人员对于嵌入式专业十分感兴趣。下面我就个人经验来说一下嵌入式的学习方法,如有不到之处请高人指点。
嵌入式的定义是以应用为中心,以计算机技术为基础,并且软硬件可定制,适用于各种应用场合,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。 嵌入式系统几乎包括了生活中的所有电器设备,如掌上 PDA 、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
这时嵌入式就以计算机为基础从事相关设备的开发了,试问前些年没有做好计算机教学的学校,又何以从事嵌入式教学呢。
对于在校大学生应该C语言基础知识,光是学习谭浩强的还不够,多看一些国外的经典书籍,如,这是每位学习程序设计的人员必备知识。由于嵌入式是软件和硬件相结合的产物,所以对于操作系统和微机原理的学习也是不可缺少的,但是现在各大高校只是停留在理论知识的讲解,并没有实际上的东西,这也就导致学生不能提高兴趣,只是用于对付考试,所以学好操作系统和微机原理应该理论实际相结合。还有数据结构这一门课程是不得不提的课程,国内出名的也就是清华大学的严蔚敏的那本书了。学好这些东西这也就是相当于武侠小说中的内功的修养。
有了这些做为基础,去学习其他的一些东西就会很快的。
嵌入式分为嵌入式软件开发和嵌入式硬件开发,嵌入式的软件开发在掌握了以上东西后要如鱼得水。
下面就以万达嵌入式Linux培训的课程体系为例,个人感觉还是不错的。他是这样列的:
Linux基础、Linux应用程序开发、嵌入式Linux网络程序开发、嵌入式图形界面与数据库开发、嵌入式linux开发环境搭建、S3C2440的内部结构功能简介、BootLoader分析和移植、Linux内核移植、uCOS II 源码分析和移植、根文件系统制作、BootLoader、内核综合解析、Linux系统调试、ADS仿真调试与S3C2440硬件接口操作、ARM11接口、Linux下字符设备驱动程序、Linux下块设备驱动程序、Linux下网络设备驱动程序、LCD设备驱动、Flash设备驱动、USB驱动开发等。
要学习一个东西肯定要先学习他的操作,这就是linux基础,也就是常用的linux操作,这样的书籍太多了,找一些实用的来看就可以了。下来就是在我们先前学习的C语言的基础上学习linux上的程序开发,这门课程现在在好多学校都没有开设,对于程序开发者来说是一门很重要的课程,不过万达嵌入式是把网络程序开发和图形界面开发与数据库开发分开了,其实这些都属于linux上的应用程序开发,可能也是为了方便大家认识这一门课程吧,条理更加清楚了。这一内容是企业开发中应用最多的内容,也就是所谓的嵌入式应用层开发。有了深入的C语言基础这些内容都是很容易学会的。比较知名的书籍有已帮的的steves先生的《UNIX环境高级编程》可以说是UNIX编程“圣经,这本书一定要好好的拜读的。对于网络程序开发也是stevens先生的《UNIX网络编程》,如果你想深入的掌握的话可以看一下《TCP/IP协议三卷》。对于图形界面的开发大家可以看一下Jasmin Blanchette的《C++GUI Qt4编程(第2版)》。掌握这些基本上就可以从事应用层开发了。这些技术都是企业内部急用的内容。
由于嵌入式的开发不是在我们平时用的x86平台上用的,所以我们需要把我们所写的程序放到相应的平台上去,这时就用到了嵌入式开发环境的搭建(见上面的课程体系),开发环境的搭建主要就是交叉编译开发环境的搭建,这个东西你可以去网上去下,也可以自己动手去做,但在实际当中用的时候需要你自己动手去搭建。建议你先自己使用,然后慢慢的学着去搭建。
对于ARM9的操作,现在市场上主要是2410和2440,二个选择一个用就可以了,内容差不太多,认真的研究透一个就可以了,对于ARM11的6410的操作就先不要考虑了,在万达嵌入式的课程体系中也安装的也挺合理的,先是学习一下2410或2440再去学习6410,有了一定的基础后再去学习6410才有可能把它操作起来。对于接口的一些操作就是把ARM当做一个单片机来操作,这样的书籍可以去看一下周立功的书籍,它们对ARM说的挺多的,不过他们用不是三星的产品,但是懂了其中一个其它的操作起也就可以了。
对于2440的操作会了以后就可以去学习BootLoader的学习了,在万达嵌入式里面说的是BootLoader的,这里只是说了一个总称,这里主要有u-boot,vivi,LILO等,如果你用的是ARM你可以先自己选择一个小的BootLoader,比如vivi来学习,学会这一个了你去操作其它的都是一样的了。
对于操作系统的移植大体过程都是一样的,主要是让你做一个最小系统,方便以后驱动的学习。对于嵌入式系统移植的话这方面还真没有太多好的书籍,自己可以去网上搜一下。
对于基础知识都打好以后就可以进攻驱动程序开发,这个东西是一个比较漫长的过程,一定要静下心来,慢慢的去阅读代码,慢慢的去学习。这样的东西大家可以看一下《Linux内核源码情景分析》、《深入理解Linux内核》等书籍。在万达嵌入式的课程体系里面他们说到了好多关于驱动开发中的实例,确实是这样子,驱动开发肯定要多接触一些典型的驱动程序开发的案例,大家可以慢慢的跟着课程体系里面的东西去学习。
另外就是嵌入式的硬件的开发,主要就是所谓的FPGA、DSP、VHDL等。这些东西在大学里面基本上都会学到大家都可以去学习一下,自己试着做出来一些东西来。比如抄板子,一点一点的去划。
好了对于嵌入式的学习在这里就说这些,如果有不正之处请大家指正。

1,启动代码基本上不用自己写,常见的编译器都有(其自带的例程有),你只需要理解并修改就行(且一般修改很少);
2,点亮LED,主要是GPIO的使用,写程序时一般都是首先要打开对应模块的时钟,然后配置GPIO(配置管脚),然后置高或置低就可控制LED;
3,这个跟51的差别大同小异,步骤是一样的,只是具体实现有些区别。比如ARM一般的外围模块都有功率控制的(也即是时钟控制模块),使用该模块就要先把时钟启动;然后中断服务程序的写法有一些区别,但结构是一致的(具体可参考编译器自带例程,如KEIL FOR ARM和IAR);其它的暂时想不起,不过说真的,当单片机来用(不跑操作系统)跟51单片机差别真不大(如果对51使用非常熟悉的话)

从零基础开始:  这部分主要还是要求大家熟练掌握基础,孰能生巧,只有基础熟练了才能为解下来的学习扫平障碍。 Linux命令的重要性: Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平
个原理是不会变的,Linux命令有许多强大的功能:从简的磁盘操作、文件存取、到进
行复杂的多媒体图象和流媒体文件的制作。 选择一本好的工具书:  一本适合新手的书籍可以将其思维打开,使其豁然开朗。一旦选错了书籍,初学者可能会产生一大串的疑问,并逐渐失去学习兴趣。对于书籍的选择,你可以到亚嵌的官网:《Linux C编程一站式学习》 选择一个适合你的Linux发行版本  目前全球有超过1百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,Redhat Linux和ebian Linux是网络管理员的理想选择。对于英语不是很好的读者红旗Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,同学们可以到各自的班主任那拷贝亚嵌教学用的版本。 养成在命令行下工作:  一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。即使是通过一条缓慢的调制解调器线路,它也能操纵几千公里以外地远程系统 选择一个适合你的Linux社区:  随着Linux应用的扩展,出现了不少Linux社区。其中有一些非常优秀的社区。推荐适于初学者的Linux社区:Linux伊甸园,优秀linux+oracle技术门户,中国Linux公社。 勤于实践:  要增加自己Linux的技能,只有通过实践来实现了。所以,一定要在学习中勤于实践,你会收获更多 用Unix思维学习Linux:  Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。



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

嵌入式学习路线
学习嵌入式系统可以从基础开始,首先掌握电子技术和嵌入式系统的基本原理,了解处理器架构、内存管理和外设接口等关键概念。这有助于理解嵌入式系统的工作机制,并为后续的深入学习奠定基础。接下来,可以深入学习嵌入式软件开发,掌握C\/C++、汇编语言和操作系统等编程技术,同时学习如何使用开发工具和调试技巧...

怎么在短时间内学好嵌入式?
根据厦门中软卓越嵌入式培训专家的建议,学习嵌入式系统的必备条件与学习方法如下:1、C开发经验 条件:Linux 方法:主要是掌握ANSIC编程(不包括gtk,qt等图形可视化开发)2、网络、操作系统、体系结构 条件:Linux、各种书、算法、例程。方法:通过C编程实现简单的网络等知识的算法和过程。3、嵌入式系统概念 ...

嵌入式工程师的学习路线
近年来,随着嵌入式系统产业规模的持续增长,作为IT业的重要新兴产业元宝说得好~说现在对嵌入式开发人才的需求是非常大的,因此很多人通过参加嵌入式学习来加入这个行业。学习嵌入式的同学越来越多都是零基础来开始学习的,那么没有基础想要学习嵌入式该如何去学呢?嵌入式学习路线分享给大家。1、入式高级C...

嵌入式学习的嵌入式学习方法
现在一些Linux网站有一些Linux版本的免费下载,同学们可以到各自的班主任那拷贝亚嵌教学用的版本。 养成在命令行下工作:一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式增长...

如何自学嵌入式
自学嵌入式课程需要有持之以恒的决心和毅力,其中自学嵌入式课程的学习方法是:1、制订一个切实可行的学习计划,可以指导自己的学习,提高自己的学习能力;2、学会主动学习,自学是获取知识的主要途径,学习中的大量问题,需要自己解决;3、做到课堂高效,通过预习,可以对教材有初步的了解,加深对教材的理解...

嵌入式 入门有什么快速办法吗?
一、学习嵌入式,你可以做什么?学习嵌入式必须勤学苦练。华清远见老师讲一讲具体怎么来学习嵌入式。学习嵌入式你可以做:手机、PDA、MP3、MP4、遥控玩具、psp、相机、家电控制(洗衣机、电饭煲等)、汽车导航仪,只要跟电子控制相关的,二、如何学习?计算机这行都是偏向于实践的课程,所以要注重动手能力。1...

嵌入式学习什么
嵌入式学习,一种将知识与实际情境结合的学习方式,旨在提高学习效率与理解深度。此法多应用于语言、编程与职业技能培训,其核心在于将抽象知识融入实践操作、模拟场景或真实互动中,而非孤立学习。嵌入式学习的优势显而易见。在语言学习中,通过对话或故事,直观呈现词汇与语法应用,加深理解与记忆。编程教育...

嵌入式学习路线
掌握嵌入式软件开发技术,包括C\/C++语言、汇编语言、操作系统、驱动程序等,以及常用的开发工具和调试技巧,能够提升编程能力和解决问题的能力。了解嵌入式硬件设计原理和方法,如电路设计、电子元器件选型、PCB设计等,以及常用的开发工具和测试方法,可以更好地进行硬件开发。在学习过程中,结合实际项目进行...

嵌入式需要学什么?嵌入式需要学哪些课程和内容?
第3章 学习方法 3.1 先不要打破砂锅问到底 嵌入式涉及的东西太多太杂了,如果心里没有主线,碰到什么都要去研究个透彻,最终反而忘记自己要学什么了。 嵌入式涉及硬件知识、软件知识,软件里涉及汇编、ARM架构、C语言、Makefile、Shell;又分为bootloader、内核、驱动、基本的APP、GUI。 比如我们会用到Makefile,了解它...