大家在初学的时候,还是要按照这个实验的顺序来走一遍,这里强调两个方面,来帮助大家理解:
一、第一个实验也就是第0个,是制作linux的最小系统,那么什么是最小系统呢,就是Linux运行的时候能跑的起来的最小系统,也就是说我们在文件系统当中把图形系统的内容从这个文件系统里面砍掉了;在很多设备里面,比如说路由器,或者一些通讯类或者控制类的产品中是不需要图形界面的,这样我们就可以做一个简化的Linux文件系统,这时候最小系统的设计就排上用场了。
二、这些实验都是通过烧写文件系统的方式来测试的,其实有一种比较简单和实用的方法,那就是通过网络文件系统来进行(NFS),至于什么是NFS,以及如何搭建,大家一定要学习一下,具体可以参考第12个试验,就是‘实验12’,因为将来我们调试应用程序或者驱动都是要通过这个手段来进行的,它是公认的比较好用的调试办法。也就是说我们这些实验回过头来,都是可以通过NFS来进行调试的,这时候就不用每次烧写,整个调试工作变得更容易,在实际的Linux调试中,多数是通过这种方式来进行的。
所以说大家一定要学会NFS的调试方法。
学完Linux的应用程序设计,接着应该学习一下Linux驱动方面的编程了。Linux驱动程序全部掌握是非常困难的,但是要明确我们的目标是能利用Linux这个操作系统来开发产品。大家都知道,Linux的驱动分为网络设备驱动、块设备驱动以及字符类设备驱动,如前面所述,我们只需要把字符类设备的驱动掌握好就可以了。
因为在开发产品的时候,网络设备以及块设备驱动在开发套件里都是做好的,直接用就可以了,几乎没有人从头去做,就算开发不同的网络接口驱动,也是直接把现成写好的驱动拿来直接调试一下。所以说块设备和网络设备不需要我们去太多关注,但是对于字符类设备驱动就需要我们仔细研究并且完全掌握了,那么最基本的字符类驱动就是针对GPIO的驱动设计,这个是一定要掌握的。比如我们的产品增加一个步进电机,驱动几个开关、继电器、采集电流电压模拟量、扩展并对外部RAM内存数据的读取等等,都是基本的字符类的驱动,至于RFID、GPS模块、GPRS模块、CAN总线等等实际都是利用Linux本身已经做好的驱动,归根到底是使用串口、I2C以及SPI等来实现的,很多开发并不需要我们做什么。对于网络设备,只需要在上层做个应用程序,用SOCKET来实现数据通讯就可以了。
那么在学习这部分内容之前呢,建议大家读一下另一个聊天记录:‘Linux驱动初探_精英版QQ群聊天记录.doc’,这个文档会对大家理解驱动的架构很有好处。
那么我们前面说到了,应用程序的调试要通过NFS来进行,驱动也是这样的,而且要学会用模块的方法来调试驱动。
我们在Android的视频中比较详细的介绍了Linux的底层如何构建LED的驱动程序。除此之外呢,我们会在补充文档里面跟大家说明如何使用模块,也就是module的方法来调试驱动程序。掌握这些方法是很重要的。也就是说大家一定要掌握通过module的方法动态加载和卸载驱动来调试驱动程序。
当大家熟练学会了以上强调的Linux系统的开发技术,我想大家对Linux的体系有了基本的了解,这个时候其实已经算是入门了,也就是说可以尝试去做一些产品,并不是说我们对Linux的源码分析一遍才能真正做事情,不是那样的,我们的目标是做产品,学会利用Linux这个操作系统,开发出目标产品!
大家在初学的时候,还是要按照这个实验的顺序来走一遍,这里强调两个方面,来帮助大家理解:
一、第一个实验也就是第0个,是制作linux的最小系统,那么什么是最小系统呢,就是Linux运行的时候能跑的起来的最小系统,也就是说我们在文件系统当中把图形系统的内容从这个文件系统里面砍掉了;在很多设备里面,比如说路由器,或者一些通讯类或者控制类的产品中是不需要图形界面的,这样我们就可以做一个简化的Linux文件系统,这时候最小系统的设计就排上用场了。
二、这些实验都是通过烧写文件系统的方式来测试的,其实有一种比较简单和实用的方法,那就是通过网络文件系统来进行(NFS),至于什么是NFS,以及如何搭建,大家一定要学习一下,具体可以参考第12个试验,就是‘实验12’,因为将来我们调试应用程序或者驱动都是要通过这个手段来进行的,它是公认的比较好用的调试办法。也就是说我们这些实验回过头来,都是可以通过NFS来进行调试的,这时候就不用每次烧写,整个调试工作变得更容易,在实际的Linux调试中,多数是通过这种方式来进行的。
所以说大家一定要学会NFS的调试方法。
学完Linux的应用程序设计,接着应该学习一下Linux驱动方面的编程了。Linux驱动程序全部掌握是非常困难的,但是要明确我们的目标是能利用Linux这个操作系统来开发产品。大家都知道,Linux的驱动分为网络设备驱动、块设备驱动以及字符类设备驱动,如前面所述,我们只需要把字符类设备的驱动掌握好就可以了。
因为在开发产品的时候,网络设备以及块设备驱动在开发套件里都是做好的,直接用就可以了,几乎没有人从头去做,就算开发不同的网络接口驱动,也是直接把现成写好的驱动拿来直接调试一下。所以说块设备和网络设备不需要我们去太多关注,但是对于字符类设备驱动就需要我们仔细研究并且完全掌握了,那么最基本的字符类驱动就是针对GPIO的驱动设计,这个是一定要掌握的。比如我们的产品增加一个步进电机,驱动几个开关、继电器、采集电流电压模拟量、扩展并对外部RAM内存数据的读取等等,都是基本的字符类的驱动,至于RFID、GPS模块、GPRS模块、CAN总线等等实际都是利用Linux本身已经做好的驱动,归根到底是使用串口、I2C以及SPI等来实现的,很多开发并不需要我们做什么。对于网络设备,只需要在上层做个应用程序,用SOCKET来实现数据通讯就可以了。
那么在学习这部分内容之前呢,建议大家读一下另一个聊天记录:‘Linux驱动初探_精英版QQ群聊天记录.doc’,这个文档会对大家理解驱动的架构很有好处。
那么我们前面说到了,应用程序的调试要通过NFS来进行,驱动也是这样的,而且要学会用模块的方法来调试驱动。
我们在Android的视频中比较详细的介绍了Linux的底层如何构建LED的驱动程序。除此之外呢,我们会在补充文档里面跟大家说明如何使用模块,也就是module的方法来调试驱动程序。掌握这些方法是很重要的。也就是说大家一定要掌握通过module的方法动态加载和卸载驱动来调试驱动程序。
当大家熟练学会了以上强调的Linux系统的开发技术,我想大家对Linux的体系有了基本的了解,这个时候其实已经算是入门了,也就是说可以尝试去做一些产品,并不是说我们对Linux的源码分析一遍才能真正做事情,不是那样的,我们的目标是做产品,学会利用Linux这个操作系统,开发出目标产品!
举报