如何学习嵌入式2008年8月21日 22:59:13 发布:shadowofsnow 学习嵌入式首先要明确这么几点:(1)首先学嵌入不是为了跟风,而是为了逐浪。不是要看大家都去做 这一行才去做。是真的喜欢,这样才能精,才能做到“逐浪”! (2)成功的历程是漫长、艰辛的,要有一颗艰韧不拔的心。 (3)文章中说的学习过程和资料大致差不多。但可惜的是在我花了很 长时间入门后才发现这篇文章,要不那短时间会缩减不少。
个人觉得需要注意的一点是:文中提到的步骤不是按步就班的,根据 个人的情况补全即可。
近来嵌入式挺火,于是大家都往这里挤。我想提醒大家的是,嵌入式马上也会成为如今的软件业。在你进来之前请先考虑清楚。但只要我们真的学精了一样东西,不管它将来变成什么样,哪怕最后只剩下一个人,那个人也一定就是你自己。 很多人以为搞嵌入式就是随便找本书看看,在电脑上编几个程序就完事。非也,其实嵌入式的门槛是比较高的。具体如下:
1、您得有一定数量的Money。
(1)、开发板贵
(2)、培训费更贵
(3)、开发平台是贵得不能再贵。(除非您只是想玩玩而已)
2、需要学习的东西多。(1)、window环境编程;(2)、Linux环境编程;(3)、单片机
3、最后也是最重要的一点,你得有坚韧不拔之志和一颗平常之心。
(1)、自信 坚强 积极 勤快 (注:好的自信是自觉的!)
(2)、成功其实就是成为最好的您自己
嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们用心去对待,东雪终将化去,春风定会吹来。具体步骤如下:
1、《C语言》第二版 谭浩强 ; 《C程序设计语言》第二版 徐宝文译机戒工业出版社
你能区分开指针数组和数组指针吗?你知道函数指针吗?
你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗?
2、《数据结构》C语言版 黄国愉、叶乃青编 清华大学出版社
你能合上书本,用C语言实现书中的单链表、双链表数据结构吗?
3、《实用C++程序设计》第二板 中国电力出版社 Steve_Oualline著
此阶段主要是学习其面向对象的编程思想,加深对C语言和数据结构的理解。
4、学习单片机,最好能找个前辈带一带。
你能用51单片机做出一样实际的东西吗?即使它再简单!
要注意加深对中断的理解。
5、学习ARM单片机。
(1)、细读《ARM微控制器基础与实战》周立工编写 (注:即使你不用书中的开发板)
(2)、细读相关芯片的原版英文文档。如:arm920TE.pdf S3C2410_1.2.pdf
6、学习uCOS!!操作系统。
(1)、细读《嵌入式实时操作系统uC/OS-!!》第二版 召贝贝译
你能把uCOS!!移植到自己的平台上吗?
(2)、能编写在uCOS!!操作系统环境下运行的针对具体硬件的驱动程序
7、熟悉Linux环境,学习Linux环境编程,学习交叉编程
(1)、细读《linux命令大全.pdf》
(2)、细读《GNU Make 使用手册(中译版).pdf》
(3)、学习创建交叉编程环境.
8、学习Linux操作系统。
(1)、《UNIX环境高级编程》
(2)、细读“joyfire 笔记”,可在“qianrushi.com”网站的好书下载栏目获取
(3)、细读《linux内核完全注释》
(4)、细读《understanding the linux kernel 2》
(5)、利用源代码阅读利器工具"Source Insight"进行真正的linux内核原码刨析
(6)、最后进行内核移植,并能编写在linux操作系统环境下运行的针对具体硬件的驱动程序
9、学习Linux设备驱动编写。可参考《Linux设备驱动程序》
10、复习C++,学习用QT进行图形界面编程
(1)、细读《QT编程宝典》
(2)、学会通过查看QT电子文档进行QT GUI实地编程
(3)、学习交叉编程.(其实就是把命令qmake变为tmake)
11、当然,你也可学习一下PCB的制作和设计一个自己的CPU(即软壳)
至此,你已学完嵌入式的整流程!但谨记:一个有思想的人才真是一个力量无边的人;有容乃大,能予方强!
个人觉得需要注意的一点是:文中提到的步骤不是按步就班的,根据 个人的情况补全即可。
近来嵌入式挺火,于是大家都往这里挤。我想提醒大家的是,嵌入式马上也会成为如今的软件业。在你进来之前请先考虑清楚。但只要我们真的学精了一样东西,不管它将来变成什么样,哪怕最后只剩下一个人,那个人也一定就是你自己。 很多人以为搞嵌入式就是随便找本书看看,在电脑上编几个程序就完事。非也,其实嵌入式的门槛是比较高的。具体如下:
1、您得有一定数量的Money。
(1)、开发板贵
(2)、培训费更贵
(3)、开发平台是贵得不能再贵。(除非您只是想玩玩而已)
2、需要学习的东西多。(1)、window环境编程;(2)、Linux环境编程;(3)、单片机
3、最后也是最重要的一点,你得有坚韧不拔之志和一颗平常之心。
(1)、自信 坚强 积极 勤快 (注:好的自信是自觉的!)
(2)、成功其实就是成为最好的您自己
嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们用心去对待,东雪终将化去,春风定会吹来。具体步骤如下:
1、《C语言》第二版 谭浩强 ; 《C程序设计语言》第二版 徐宝文译机戒工业出版社
你能区分开指针数组和数组指针吗?你知道函数指针吗?
你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗?
2、《数据结构》C语言版 黄国愉、叶乃青编 清华大学出版社
你能合上书本,用C语言实现书中的单链表、双链表数据结构吗?
3、《实用C++程序设计》第二板 中国电力出版社 Steve_Oualline著
此阶段主要是学习其面向对象的编程思想,加深对C语言和数据结构的理解。
4、学习单片机,最好能找个前辈带一带。
你能用51单片机做出一样实际的东西吗?即使它再简单!
要注意加深对中断的理解。
5、学习ARM单片机。
(1)、细读《ARM微控制器基础与实战》周立工编写 (注:即使你不用书中的开发板)
(2)、细读相关芯片的原版英文文档。如:arm920TE.pdf S3C2410_1.2.pdf
6、学习uCOS!!操作系统。
(1)、细读《嵌入式实时操作系统uC/OS-!!》第二版 召贝贝译
你能把uCOS!!移植到自己的平台上吗?
(2)、能编写在uCOS!!操作系统环境下运行的针对具体硬件的驱动程序
7、熟悉Linux环境,学习Linux环境编程,学习交叉编程
(1)、细读《linux命令大全.pdf》
(2)、细读《GNU Make 使用手册(中译版).pdf》
(3)、学习创建交叉编程环境.
8、学习Linux操作系统。
(1)、《UNIX环境高级编程》
(2)、细读“joyfire 笔记”,可在“qianrushi.com”网站的好书下载栏目获取
(3)、细读《linux内核完全注释》
(4)、细读《understanding the linux kernel 2》
(5)、利用源代码阅读利器工具"Source Insight"进行真正的linux内核原码刨析
(6)、最后进行内核移植,并能编写在linux操作系统环境下运行的针对具体硬件的驱动程序
9、学习Linux设备驱动编写。可参考《Linux设备驱动程序》
10、复习C++,学习用QT进行图形界面编程
(1)、细读《QT编程宝典》
(2)、学会通过查看QT电子文档进行QT GUI实地编程
(3)、学习交叉编程.(其实就是把命令qmake变为tmake)
11、当然,你也可学习一下PCB的制作和设计一个自己的CPU(即软壳)
至此,你已学完嵌入式的整流程!但谨记:一个有思想的人才真是一个力量无边的人;有容乃大,能予方强!
一、学习嵌入式,你可以做什么?
学习嵌入式你可以做:
手机、PDA、MP3、MP4、遥控玩具、psp、相机、家电控制(洗衣机、电饭煲等)、汽车导航仪,只要跟电子控制相关的,
另外,这个行业也利于个人创业。
学习嵌入式你可以做:
手机、PDA、MP3、MP4、遥控玩具、psp、相机、家电控制(洗衣机、电饭煲等)、汽车导航仪,只要跟电子控制相关的,
另外,这个行业也利于个人创业。
二、你需要学习那些课程?
下面的课程是嵌入式学习必须的:后面是推荐书籍
1、C语言-------------《C语言程序设计》谭浩强
2、C++---------------《》谭浩强
3、操作系统----------《自己动手写操作系统》
4、计算机组成原理----《计算机组成原理》
5、linux编程---------《unix/linux编程实践教程》杨宗源翻译
6、51单片机----------《单片机应用程序设计技术》周立功
7、arm---------------《深入浅出arm7 lpc323X》周立功《ARM嵌入式应用开发技术白金手册.pdf》
8、硬件编程语言(FPGA)《深入浅出FPGA》周立功
9、模拟电路&数字电路------《》
2、C++---------------《》谭浩强
3、操作系统----------《自己动手写操作系统》
4、计算机组成原理----《计算机组成原理》
5、linux编程---------《unix/linux编程实践教程》杨宗源翻译
6、51单片机----------《单片机应用程序设计技术》周立功
7、arm---------------《深入浅出arm7 lpc323X》周立功《ARM嵌入式应用开发技术白金手册.pdf》
8、硬件编程语言(FPGA)《深入浅出FPGA》周立功
9、模拟电路&数字电路------《》
三、如何学习这些课程?
计算机这行都是偏向于实践的课程,所以要注重动手能力。
1&2、c\c++语言,这是计算机行业的必修课,必须找扎实实学好。可以安装 turbo c编译器为开发环境,联系C语言编程;
安装vc++6.0学习C++编程。
在这至于,你可以学习一点汇编语言,知道可执行文件到底是怎么执行的。学习一点MFC编程,可以做相应的窗口界面编程。
当你在使用beep()函数控制电脑发出电子琴声音时,你肯定会兴奋的不得了。
1&2、c\c++语言,这是计算机行业的必修课,必须找扎实实学好。可以安装 turbo c编译器为开发环境,联系C语言编程;
安装vc++6.0学习C++编程。
在这至于,你可以学习一点汇编语言,知道可执行文件到底是怎么执行的。学习一点MFC编程,可以做相应的窗口界面编程。
当你在使用beep()函数控制电脑发出电子琴声音时,你肯定会兴奋的不得了。
3、操作系统,先在电脑上安装一个vmware work station,然后在vmware work station里安装一个linux(redhat 企业版)虚拟机。这就是电脑
里面的电脑。学习一下操作系统的基本原理,熟悉linux环境下的开发环境,然后你就可以照着 《自己动手写操作系统》写个操作系统试试
那是多么酷的一件事情,O(∩_∩)O哈哈~,说不定哪天你就能成为像比尔盖茨一样的人物。
4、熟悉计算机的基本原理,看看一个计算机的基本组成及软件在里面是如何跑的。
里面的电脑。学习一下操作系统的基本原理,熟悉linux环境下的开发环境,然后你就可以照着 《自己动手写操作系统》写个操作系统试试
那是多么酷的一件事情,O(∩_∩)O哈哈~,说不定哪天你就能成为像比尔盖茨一样的人物。
4、熟悉计算机的基本原理,看看一个计算机的基本组成及软件在里面是如何跑的。
5、这是linux编程的必修课,这本书是我自己用的,非常不错,利用它,你可以写出一个自己的qq程序。
6、其实单片机就是一台电脑,像现在的汽车控制、led控制、屏幕亮光程度控制,他都可以实现,自己买块开发板弄一下,你能学到很多的别人学不到的。
7、arm是现在最流行的微机,它说白了就是32位的单片机,还可以跑操作系统哦,自己想办法移植一个操作系统上去吧
8、芯片到底是怎么做成的,学习这门课,你就知道了
9、硬件的基础-------如果可以的话,学习下protel ,自己做个硬件pcb板试试。
6、其实单片机就是一台电脑,像现在的汽车控制、led控制、屏幕亮光程度控制,他都可以实现,自己买块开发板弄一下,你能学到很多的别人学不到的。
7、arm是现在最流行的微机,它说白了就是32位的单片机,还可以跑操作系统哦,自己想办法移植一个操作系统上去吧
8、芯片到底是怎么做成的,学习这门课,你就知道了
9、硬件的基础-------如果可以的话,学习下protel ,自己做个硬件pcb板试试。
四、学习这些课程的步骤
第一步:C语言、计算机组成原理、模拟电路&数字电路
第二步:汇编语言、单片机、操作系统、C++
第三步:硬件编程语言、arm
五、嵌入式方向分类
嵌入式开发大抵分四个方向:
1、硬件
2、驱动
3、内核
4、应用
1、硬件
2、驱动
3、内核
4、应用
总结:
循序渐进,一步步扎实做好。在完成了你学习的科目后,就可以对自己的就业方向分类了。可以买两块开发板:单片机的、arm9的,东西不在
先进,而在容易学习。
循序渐进,一步步扎实做好。在完成了你学习的科目后,就可以对自己的就业方向分类了。可以买两块开发板:单片机的、arm9的,东西不在
先进,而在容易学习。