国嵌学习路线建议

2019-07-13 01:15发布

嵌入式linux的学习方法:
1.学什么?


|—————————————————————————————————
|根文件系统
|  |
|linux内核
|   |
|bootloader(在嵌入式操作系统中,BootLoader是在操作系统内核运行之前|运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环|境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。)
|   |
|硬件(flash,网卡,嵌入式处理器,触摸屏,按键)
|—————————————————————————————————


开发流程:
a.硬件工程师(添加,删除,修改硬件);
b.系统工程师/驱动工程师(将bootloader移植到硬件平台);
c.系统工程师/驱动工程师(将linux内核移植到硬件平台)
d.系统工程师(制作供内核启动的根文件系统)
e.应用工程师(开发和产品密切相关的应用程序)
f.驱动工程师(开发驱动程序)
g.测试(功能,性能,系统集成,实验局(实际工作))


知识结构:
a.嵌入式裸机程序开发
(arm工作模式,寄存器,寻址方式,汇编指令集(常用),C语言,中断与异常,集成开发环境,裸机程序开发(深刻理解))


b.linux系统管理(linux定制安装,linux命令,sanba,nfstftp,wrieshark服务器使用,shell编程)


c.linux应用程序开发(gcc,gdb,makefile,文件时间编程,多进程多线程程序设计,进程间通讯,网络编程,(QT,android√))


d.linux驱动程序开发(最重要)(字符设备驱动程序,总线、设备、驱动模型,硬件访问技术,中断处理,input设备驱动,platform驱动程序、PCI、USB驱动程序、网卡驱动程序、触摸屏驱动程序、串口驱动程序)


e.linux内核开发与系统移植(linux内核配置与裁决,内核模块开发,根文件系统制作,进程子系统,内存子系统,pro文件系统,系统调用,内核定时器,内核异常分析)
2.怎么学?
顺序-资料-实践
a.顺序:
嵌入式与裸机程序开发、linux管理、linux应用程序开发、linux内核开发基础、linux环境搭建、linu驱动开发、深入学习linux内核
b.资料:
理论:UNIX环境高级编程、LINUX设备驱动程序、linux内核(参考)
c.实践:
光看不做学不好嵌入式