本帖最后由 群龙舞十方 于 2010-5-11 15:26 编辑
我:你好,我买了一块FL2440的板子,想学嵌入式,有几个问题想问一下。
飞凌:您好,请讲。
我:我按照用户手册上写的,把几个基本操作做完了,不知道下面该做什么了。
飞凌:您是对关键感兴趣还是对硬件感兴趣呢?
我:都感兴趣。具体我也没仔细想过。你觉得做哪个好?
飞凌:是这样的,嵌入式软件和硬件没有好与坏之分,要看兴趣和基础知识了。
我:我学过单片机、数电,模电和C语言。现在比较迷惘,不知道对哪个感兴趣。学校开什么课就学什么。
飞凌:嗯,建议您先对嵌入式软件和硬件都做一些了解,然后看看自己对哪方面更感兴趣吧。
我:怎么了解?需要做些什么?是你们光盘上的实验吗?
飞凌:建议您不要盲目的做实验。先思考一下自己对哪方面的知识理解的更深。
我:软件吧。数点模电都是计算的,头疼。
飞凌:好的,那我先为您介绍一下嵌入式软件工程师中应用工程师和系统工程师需要具备的条件吧。
应用工程师(以linux为例)需要掌握的主要知识点有:
1.C和C++
2.Linux下应用程序开发
3.嵌入式系统中Linux应用程序的开发流程
4.busybox
5.Uclibc
6.图形界面的开发
系统工程师的基本要求:
1.深入了解一种以上的处理器架构
2.bootloader的理解及移植
3.Linux内核的理解和移植
4.驱动程序开发
5.嵌入式环境下应用程序开发
我:听了你的介绍,我对系统工程师更感兴趣。这个好像更厉害一些吧,呵呵。
飞凌:就现在的情况看,系统工程师的要求确实是要高一些。
我:那你能给我说一下快速入门嵌入式需要什么样的学习步骤吗?有什么好的学习方法吗?
飞凌:我们建议您在没有深入了解嵌入式行业之前,不要盲目的什么都去学。先用一段时间上网看看资料,给自己一个明确的定位,是要做应用工程师还是系统工程师。这样就可 以有目标的去学习相应的知识点了。
我:那这个学习有没有什么先后顺序?
飞凌:就以您感兴趣的系统工程师为例吧,我们建议的学习顺序是:
1.先了解一种嵌入式处理器(S3C2440最好,资料多且很容易得到)
2.bootloader的理解和移植。这个是很关键的问题。
3.学习驱动程序的开发
4.逐渐去理解Linux内核
我:你刚才说的需要理解内核,是不是要去读内核的源代码?
飞凌:理解内核不是去单纯的看内核源码,按照上面的步骤来做的话,在开发驱动程序过程中会产生很多对内核的疑问。带着这些问题来有针对性的看内核源代码,就会有一种恍 然大悟、一日千里的感觉。如果时间和精力允许的情况下,我们建议您可以先读一下UCcos的源码。麻雀虽小五脏俱全,里面的很多知识都可以作为分析linux内核的先导。
我:嗯,听了你的介绍,我明白了不少。多谢了。
本文转引自 飞凌技术讨论区 www.witech.com.cn |