嵌入式linux技能深化

1:c语言强化:10天

2:数据结构算法:7天

3:c++ stl模板:3天

4:linux系统程序设计:7天

5:linux网络程序设计:3天

6:arm板级资源,裸板程序设计:15天

7:系统编译移植

8:linux驱动程序设计

这是从尚观的内核驱动程序课程的提取出来的。其它的培训机构的课程设置基本上一样。从上面的课程来看作为嵌入式linux应该在以下几个技能中有很强的功底。

1:c语言功底

  这个包括c语言基础,一些细节知识,还有就是数据结构和算法。这个在后面的linux系统程序设计以及驱动设计中有比较重要的角色,在那两个过程当中我们接触到的一些结构体以及一些指针的用法都比较复杂,而不是像我们在c语言课本上讲的那些很简单易懂,我觉得这个功底一定要去过两到三遍,但也不要太纠缠,在后面的程序设计中要时刻注意强化。

2:arm裸板程序设计

  我觉得这个阶段非常的重要,其主要目的:(1)熟悉arm板级资源,还有在其周围的一些器件。(2):看电路图的能力;(3)看芯片手册的能力。只有把这些器件资源熟悉了,我想才能够很好的在上面编程。

3:linux系统程序设计。

  系统调用作为应用程序与内核和驱动程序的桥梁,是相当重要的。虽然都是C语言,但是这个过程开始会比较陌生,因为都是用一些以前很少用的函数,同时还涉及一些内核知识。这个阶段的主要目的:(1)熟练掌握重要的系统调用函数。(2)理解内核的一些原理。

4:嵌入式linux环境的搭建:

  我觉得这个环节是最麻烦的。包括系统移植,bootloader这些。只有把这些搭建好的才能在板子上运行测试程序。

5:linux驱动程序设计。

  这个阶段和系统调用有点像,虽然都是C语言,但是那些个函数,数据结构真是很陌生。数据结构成员庞大,函数差不多就只知道其功能,如果想看其实现就得去看linux源码,一个函数又用到其它很多函数,这个看起来有时候是没完没了,作为初学还是先知道其用法就行了。这几天看了些驱动程序,发现每种驱动程序其实现步骤差不多是固定的,也就是视频中那个老师讲的驱动程序的设计,规范占50%。这个阶段的任务就是:(1)精通各种驱动程序的设计规范,和相关数据结构,调用函数以及驱动程序对应的具体芯片设备。

先将上面这几个功底都练扎实了。

你可能感兴趣的:(linux)