【php精品源码栏目提醒】:网学会员在php精品源码频道为大家收集整理了“嵌入式学习路线图 - 软件工程“提供大家参考,希望对大家有所帮助!
嵌入式学习路线图 嵌入式开发学习路线图 -------作者:尚观嵌入式研究室 UEA0908 班 范同学为什么选择学习嵌入式?嵌入式行业平均薪资分布嵌入式职业发展讲解视频 视频中主要讲解什么样的人适合从事嵌入式行业、嵌入式行业从业人员需要具备哪些基本素质、嵌入式行业的特点以及嵌入式行业的现状与发展。
嵌入式研发方向职业生涯 嵌入式研发方向职业生涯 嵌入式研发方向职业生涯讲解视频(1) 讲解视频(2) 讲解视频(3)嵌入式研发方向职业生涯 嵌入式研发方向职业生涯讲解视频(4) 讲解视频(5) ARMLinux 嵌入式底层内核驱动方向学习总体路线图基础学习Ⅰ---Linux 入门Ubuntu 系统下载地址:http://www.ubuntu.org.cn/desktop/get-ubuntu/download/A)经典书籍推荐:B)经典学习视频推荐:1、Linux 学习建议 2、UNIX like 系统的特点 3、UNIX 原则4、系统结构与终端控制台 5、RHEL5 Linux 安装 6、Linux 下寻求帮助7、文件相关命令初步 8、系统命令初步 9、用户及组管理初步 12、Linux 编辑器及 VIM 初10、文件属性 11、文件夹属性及 umask 步 14、文本处理及正则表达 15、linux 下 X 图形显示体13、Linux 查找及压缩 式 系16、进程控制 17、进程优先级前台后台 18、变量快捷键19、bash 运算符及启动脚 20、shell 脚本及交互 1 21、shell 脚本及交互 2本22、shell 脚本流程控制 23、shell 脚本 sedawk 24、Linux 安装软件基础学习Ⅱ---C 语言 C 语言是嵌入式开发必备的基础知识。
在 Linux 下从事 C 语言的开发,你会觉得更为顺畅、更为自然,因为 C 语言是因 unix 的出现而诞生的,Linux内 核几乎完全是由 C 语言编写完成的。
学习 C 语言,如果不会用指针,那么就称不上会 C 语言。
做嵌入式开发指针更显得尤为重要,所以做嵌入式开发除了掌握位操 作、限定词等,对指针的掌握是不可或缺的。
而且要掌握多级指针、函数指针等等。
涉及到指针,那么就会讲到内存分配。
在大学中,学习 C 语言一般的学习很少讲 到内存分配,但是如果期望从事嵌入式开发,那么就必须懂得 C语言是怎么做内存分配管理的。
指针之外,还要学习模块化编译处理、指针与数组、gcc、 Makefile、GDB、递归、结构体、宏定义使用等。
C 语言是整栋嵌入式大厦的基础, 所以在学习嵌入式时, 必须把 C 语言重视起来,多敲代码,多练。
一 名优秀的程序员必定是通过“体力劳动”再转向“脑力劳动的”,这也是为什么我们要有“写不出代码0”思想的原因所在。
如果说 C 语言相当于文字,那么数据结构就相当于在造句、写文章。
代码质量有一部分取决于对数据结构的掌握程度。
在数据结构部分我们要把链表、树、排序作 为学习重点。
而且我们也可以查看一些比较常见的函数(如 strcopy、strcat、printf 等)在内核中是如何实现的,以及编写代码模拟堆栈,这 不仅有利于编写代码质量的提高, 而且还可以初步了解 Linux 内核精髓,为今后工作打下坚实的基础。
C、QT 在嵌入式开发领域,是用来开发图形界面的,希望从事上层应用开发及图形界面,那么在 C、QT 方面需要比较深入的学习。
A)经典书籍推荐:B)经典学习视频推荐:1)C 语言学习视频入门篇:C 语言入门-1、类型运算符 C 语言入门 3、函数与程 C 语言入门 2、控制流表达式 序结构 C 语言入门 5、结构体共用C 语言入门 4、指针与数组 C 语言入门 6、C_指针 体位字段2)C 语言学习视频提高篇: 第一01、C 语言概念、发展 02、 个 helloworld 程序、03、C 语言第 2 个程序第 3历史、特点 Linux 下执行 个程序 06、C 语言开发语言和开发04、C 程序开发过程 C 05、 语言开发常见错误分析 工具的关系07、C 语言基本数据类 08、常量和变量 09、const 类型修饰符概念型10、const 类型修饰符 12、externstatic 存储类 11、volatile 类型修饰符实例 型说明符13、register 存储类 14、auto 存储类型说明符 15、操作符-算术操作符型说明符16、操作 符-sizeof 操 17、操作符-关系逻辑操作符 18、操作符-位运算操作符作符19、表达式 20、if 条件判断结构 21、switch 条件判断结构22、for 循环结构 23、while 循环结构 24、跳转语句25、模块化设计方法 26、函数的声明和定义 27、函数的调用28、递归函数 29、函数返回值 30、数组31、字符串 32、指针 33、函数指针34、动态类型分配 35、指针常见错误 36、指针与数组37、编译预处理 38、结构体基础 39、链表40、共用体 41、位段 42、枚举43、文件 44、C 编程总结3)C学习视频1、如何编译 C程序 2、如何调试 C程序 3、C预备知识4、C中的 C 5、类和对象 6、对象的构造和销毁7、函数重载和默认参数 8、内敛函数和常量 9、名字空间10、拷贝构造函数 1 11、拷贝构造函数 2 12、运算符重载 113、运算符重载 2 14、动态对象的创建 15、继承和组合 116、继承和组合 2 17、多态 1 18、多态 219、模板 1 20、模板 2 21、异常 122、stl 23、stl-containe 24、stl-string25、makefile 26、Qt 27、qtE28、qt-extend C)经典学习案例:1、学员成绩管理系统 2、计算器 3、电子词典 4、文件压缩器基础进阶---Linux 应用程序设计 Linux 的思想源于 Unix。
Linux 继承了 Unix 的优点,但是没有用 UNIX 的代码,所有程序都是重新编写的,而且 Linux 与 Unix 的
源码级兼容。
Linux 是类 Unix 操作系统。
Linux 不仅符合 POSIX 标准,而且还包括其它 UNIX 标准的多种特性,例如,UNIX 的 System V 接口文档(System V Interface Document,SVID)和伯克利软件发布(Berkeley Software Distribution,BSD)版本。
Linux采用了折衷的策略,包含了 UNIX 几个典型特性当中最实用的一些功能: Linux 采用了 SVR4 的进程间通信(IPC)机制:共享内存、消息队列、信号。
Linux 支持 BSD Socket 网络编程接口。
许多 Linux 发行版采用 SysV init 机制,支持运行级别。
此阶段的学习是从事嵌入式上层应用开发以及底层开发人员的必修课程。
进程、线程、信号、文件锁、socket 是这部分内容的重点。
要把这些内容学的透彻非要下些苦功夫不可。
而且函数是系统提供给我们的,难免要对计算机系统深入理解一番。
TCP/IP 协议也是要涉及到的。
有问题建议用 Google 搜索及登陆chinaunix 论坛。
通过这个阶段的学习,我们就可以初步实现一些应用程序的开发了,如做自己的 shell 命令解析器、简单的聊天软件、视频多播等。
A)经典书籍推荐:B)经典学习视频推荐:Linux 网络开发-1、 Linux 网络开发-2、ARP Linux 网络开发-3、ARP 攻击程序ARP 攻击原理 攻击实例分析 代码分析和 socket 构造C)经典学习案例:1、串口监听程序 2、图片浏览器 3、MP3 播放器 4、聊天程序 5、 ftp 程序6、音频广播程序 7、ping 的实现 8、DDos 攻击程序 9、ARP 攻击程序嵌入式入门---ARM 体系结构 从这部分开始,我们将真正进入嵌入式开发学习阶段。
首先我们要知道采用哪种处理器。
目前通用嵌入式处理器有 ARM、MIPS、PowerPC、X86 等。
从市场产品占有率上看, ARM 处理器远远领先于同类其它处理器,并逐步掠夺传统 51单片机和英特尔市场份额。
据招聘网站统计,目前用人单位在技术水平上要求开发人员掌握 ARM9 及以上平台的开发技术。
ARM 公司在发布 ARM11 产品后,更改以往的数字标记更新方式,转为发布 ARM Cortex。
但是 Cortex 并不是更高端,而是全新系列的处理器,比如 Cortex M3,它主要应用于机械加工、工控领域,目的是取代以前的 ARM7 处理器。
在开始学习前,建议有一块自己的开发板,目前 ARM9 2440 的开发板价格在 400-600 元之间,ARM11 6410 的开发板价格要高一些,最便宜的也要 1200元以上。
在此,提醒大家尽量不要买 mini 开发板,虽然 mini 开发板的价格要便宜些,但是与正常开发板相比,mini 板功能是不完善的。
嵌入式汇编有别于 X86汇编,所以如果以前没有接触过汇编语言,那么没有必要先去学 X86 汇编再学嵌入式汇编,可以直接学习嵌入式汇编。
除了汇编我们还要学习 ARM 指令集。
有了开发板,我们要下载相对应处理器的 DataSheet 及开发板电路原理图。
ARM 体系结构的学习我们是不能完全照抄别人代码的, 因为我们自己手中的开发板及处理器与别人是不同的,除非所用的代码是根据你手中的开发板来编写的。
所以,我们要先去看书、 看视频资料理解原理及工作方式等,然后根据自己开发板的电路原理图和 DataSheet 来编写代码,达到理解外围设备工作原理和操作硬件的目的。
B)经典学习视频推荐:1嵌入式扫盲篇嵌入式漫谈 1 嵌入式漫谈 2 嵌入式漫谈 3十问嵌入式 1-什么是嵌入 十问嵌入式 2-嵌入式实例 十问嵌入式 3-嵌入式前式,创业 iphone 景 十问嵌入式 6-ARM 概述十问嵌入式 4-嵌入式学习 十问嵌入式 5-ARM 概述 开发板十问嵌入式 7-ARM 与单片机 十问嵌入式 8-汇编语言的 十问嵌入式 9-操作系统 作用 的选择十问嵌入式 10-编程语言选择2)嵌入式开发概述嵌入式开发入门经典教程 嵌入式开发入门经典教程 嵌入式开发入门经典教程-1 -2 -3嵌入式开发入门经典教程 嵌入式开发入门经典教程 嵌入式开发入门经典教程-4 -5 -6嵌入式开发入门经典教程 嵌入式开发入门经典教程 嵌入式开发入门经典教程-7 -8 -9嵌入式开发入门经典教程 嵌入式开发入门经典教程 嵌入式开发入门经典教程-10 -11 -12嵌入式开发入门经典教程-133)ARM 体系结构与 Bootloader 开发1、ARM 基础概念介绍与 2、编译器高级应用与裸机 3、ARM 指令与 ARM 汇编入开发板使用教程 代码编写教程 门4、ARM 汇编高级教程与 5、ARM 体系结构详解与异 6、ARM 中断机制详解与APCS 规范详解 常处理机制 Watchdog 驱动开发实例7-1、ARM 外部中断机制 ARM 7-2、 嵌入式开发之 ARM 8、AMBA 总线结构与 ARM 时详解与 LED 驱动开发实 外部中断机制详解与实例 钟配置例9、时序图详解与 NAND 10-1、内存控器与 SDRAM 10-2、内存控器与 SDRAM 原FLASH 驱动开发实例 原理详解上) 理详解下11、UART 串口详解与通 12、ARM 协处理器 CP15 配 13、从零开始写 Bootloader信开发实例 置原理 开发过程详解C)经典学习案例:1. ARM 模拟器开发 2. Watchdog 控制程序 3. RTC 时钟控制程序4. Uart 控制程序 5. LCD 控制程序 6. 触摸屏控制程序7. DMA 控制程序 8. 音频控制程序 9. 网卡控制程序10. 文件系统制作 11. ARM-Linux 移植嵌入式提升---Linux 内核、驱动 众所周知嵌入式开发包含至少两个级别,一个是嵌入式内核驱动级别,另外一个是嵌入式应用层开发, 而薪酬高的、最具价值的无疑是嵌入式内核驱动级别的开发者。
真正的嵌入式高手或者企业中的核心开发人员,一定是嵌入式底层的内核驱动开发工程师, 这些工程师成长比较缓慢,造成对内核驱动人才的大量需求,所以这些人才是真正企业需要的香饽饽。
掌握驱动开发会让自己的核心能力有极大的飞跃,真正实现嵌入式最有价值的就业。
由于 Linux 内核更新速度很快,书籍和视频不可能及时更新,所以我们再看书和视频后,要自己动手下载内核
源码包,去看内核中的代码,在这里可以充分检验 C 语言、数据结构等基础知识的掌握程度。
而驱动的编写还是要借助外设硬件电路原理图和芯片手册。
内核和驱动的知识是让我们根据不同的硬件,编写对应的驱动、合理剪裁内核、制作文件系统,并移植到硬件开发板上。
如果手里有 ARM11 6410 及以上的开发板,可以试试在裸板上编写驱动并移植 Android系统到开发板上吧。
B)经典学习案例:1. GPIO 驱动 2. RTC 时钟驱动 3. WatchDog 驱动 4. Udev移植 5. 触摸屏输入设备驱动6. LCD 显示设备驱动 7. DMA 驱动 8. 音频设备驱动 9. NandFlash 块设备驱动 10. 网络设备驱动
上一篇:
Javascript数组_Array_操作整理
下一篇:
4种小菜缓解孕妈咪不适