第一阶段 环境及基础篇
1.1:先搭建一个简单的linux环境,这对以后学习linuxC编程有很大的帮助。先安装下vmware虚拟机。
1.2:如果还没有基础,建议从最基本的C语言linux开始学。如果你觉得你的基础还不错,也可以跳过这部分,但是建议还是复习一遍,毕竟基础扎实一点更好。
先学习嵌入式linux软件开发入门,嵌入式linux入门需要掌握的基础知识,包括linux的基础知识,shell基础vi编辑器,包括嵌入式linuxC语言编程,学习完可以掌握C语言和linux,对linux下的C编程有一定的了解。
1.3 linux的安装linux命令,脚本,MakefileGCC的材料。
第二阶段 linux应用编程强化阶段
2.1 有了上面的基础,接下来就要强化学习下linux下的C编程,毕竟嵌入式的还是需要很强大的C语言能力。
2.2 学习下linux的基本命令和编程,比如 linux的进程管理make的介绍,进程间的通讯linux系统调用和io编程等等。
2.3  linux嵌入式linux培训视频的编程部分,关于arm的内容先别看。
第三阶段 嵌入式学习阶段
经过了上面的课程,我相信你的C语言和linux编程基础已经很不错了。接下来你就可以进入arm的世界了。
(注意:如果以后选择嵌入式软件方向的同学,如果没有硬件基础的,我建议大家从事嵌入式软件的,更好,软件方向可以不学硬件方向的内容,可以了解下单片机内容。)
3.1硬件方向
3.1.1(可选阶段)这个简单建议你学习下单片机,毕竟单片机还是比较简单。
3.1.2 (可选阶段,硬件方向,无基础的同学可先别学)这个阶段适合以后想学习硬件的同学,但是我不建议没有基础的同学去搞硬件,相对入门比较难,如果以后想做嵌入式的软
件的同学也可以不急着看硬件的内容。当然了解下更好。计算机的电路基础教程
3.1.3(可选阶段,硬件方向)有了3.1.2的基础后,你也可以学习电路分析教程。包括了电路分析,电路原理。
3.2 软件方向
学习方法:这些内容都是相对比较抽象,如果有什么不懂的,不明白的,一定要先记住概念,等你以后接触多了,遇到相关的知识时,你会豁然开朗的。
3.2.1这时我们进入嵌入式系统的时代了,可以学习下嵌入式系统,讲述嵌入式系统概述,还有基本概念,嵌入式微处理器及ARM体系结构,以及嵌入式系统的基本硬件知识,嵌入式实时操作系统的介绍,介绍us,os-II,介绍嵌入式wince,linux等操作系统。
3.3.2 学习并了解ARM的基本命令arm开发环境等等。
3.3.3 学习ARM部分,ARM概述,mini2440,ARM寄存器ARM寻址方式ARM指令1ARM指令2.
3.2.4 学习嵌入式系统硬件和软件的知识,嵌入式系统的基本知识,嵌入式软件和硬件的协同设计U-BOOT程序设计,MP3播放器的设计。
3.2.5学习嵌入式系统及应用开发,包括嵌入式系统结构、外设驱动和应用开发调试技术,嵌入式系统开发模式,嵌入式硬件开发,实时/嵌入式系统开发方法,还讲述了嵌入式系统硬件结构,嵌入式处理器,ARM介绍,片内周边电路,外围电路,外设等等。
3.2.6学习ARM S3C44B0嵌入式微处理器原理及应用
主要内容包括:嵌入式系统基础知识、嵌入式交叉编译环境与嵌入式开发环境的搭建、基于Linux的嵌入式软件开发流程、MiniGUI应用程序设计、嵌入式数据库应用、Qt图形界面应用程序开发。《嵌入式系统开发基础——基于ARM微处理器和Linux操作系统》涉及嵌入式系统从底层驱动到顶层应用的各个部分,配合实验操作循序渐进地帮助读者完成各个章节内容的学习,引领初学者顺利进入嵌入式世界
第四阶段 嵌入式高级阶段
上一阶段软件方向我们已经学习了关于arm和嵌入式系统的知识,接下来我们要接触的就
是更为深奥的底层驱动内核相关内容。硬件方向则学习了基本的电路基础,这一阶段则要接触到pcbcpld fpga的知识了。
4.1 硬件方向(软件方向的同学不用学)
4.1.1 学习PCB设计,讲述Altium Designed,电子设计基础知识,原理图初步设计,进阶,提高,深入,pcb库的设计,集成库的作用和制作,pcb设计初步,PCB设计提高,PCB深入。
4.1.2 学习光CPLD系统设计和VHDL语言培训教程,介绍CPLD系统设计和VHDL的程序设计,包括视频和课件还有相关的资料。
4.2 软件方向
4.2.1 学习底层内核和驱动
讲述linux内核介绍,内核的源代码结构,如何编译和配置内核,如何开发内核模块,内核的启动流程分析,内核的内存管理,进程内存空间管理,linux2.6内存管理和分配,内核的链表操作,包括一些内核的实验。
驱动部分讲述字符设备驱动程序和字符驱动例子解析,驱动调试技术,并发控制技术,Ioctl的实现,驱动如何访问硬件,中断处理,LED驱动程序设计,等待队列,阻塞,Poll方法实现,时间度量,内核定时器,网络体系架构,网卡驱动设计,触摸屏驱动分析等等。
4.2.2 学习内核,内核简介,Linux内核源代码,Linux内核配置与编译,内核模块-1,内核模块-2Linux内存管理,Linux进程与内核地址空间,Linux内核链表,内核定时器,内核进程,进程调度,系统调用,Proc文件系统,异常分析,交叉工具链,嵌入式系统构建,bootloader介绍,Uboot简介,UBoot命令,Uboot移植。
4.2.3 学习驱动,讲述Linux驱动程序介绍,字符设备驱动,简单字符设备驱动实例分析,并发控制,Ioctl设备控制,内核等待队列,阻塞型字符设备驱动, poll设备方法,自动创建设备文件, mmap设备方法,硬件访问, LED驱动程序,总线,设备,驱动, platform驱动,中断处理程序,按键驱动,网卡驱动程序设计, CS8900A网卡驱动程序分析,输入子系统,触摸屏驱动程序, PCI总线, PCI驱动程序设计,串口驱动程序。
第五阶段 实践阶段
这个时候你需要做的事,多了解实践的资料,弥补缺少动手能力。你可以看着实践资料的文档代码看,相信你会有质的飞跃。
第六阶段 深化阶段
相信这个时候的你已经是嵌入式的能手了,但是要变成高手,你还要进一步学习内核和系统
6.1 学习计算机系统结构和汇编
将计算机系统结构和汇编语言程序设计,对于以后进行底层的开发很有帮助。
6.2 学习linux内核编程,都是基于代码分析的,讲述linux内核的基础知识,汇编及保护模式,linux内核体系结构,linux引导程序分析,linux内核代码分析,linux块设备驱动程序分析
6.3 学习linux内核编程

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。