很多朋友对Linux嵌入式编程很感兴趣,但学习起来却又不得要领。这里我总结了一下Linux嵌入式编程的学习步骤,希望对大家有所帮助。
1、Linux 基础学习安装Linux操作系统,了解Linux文件系统和熟悉Linux常用命令以及Linux启动过程详解,对Linux有个基本的认识。2、shell 编程基础认识Shell,学习后台程序Bash编程。借此熟悉Linux系统下的编辑环境,熟悉Linux下的各种Shell,可以利用Shell编写脚本程序。比如,编写一个测试服务器是否连通的shell脚本程序, 编写一个查看进程是否存在的shell脚本程序,编写一个带有循环语句的shell脚本程序等。3、Linux 下的 C 编程基础熟悉linux下的C语言环境,以及Gcc使用方法和Gdb调试技术。学习Autoconf、Automake、Makefile等相关文件及其配置方法。使用 make命令编译程序,可以编写带有一个循环的程序 ,再调试一个有问题的程序等等。4、嵌入式系统开发基础建立嵌入式系统开发环境制作cross_gcc工具链,编译并下载U-boot、Linux内核、Linux应用程序。5、嵌入式系统移植了解Linux内核代码,分析平台相关代码。学习ARM平台,掌握平台移植的关键技术。移植Linux内核到ARM平台,了解移植的概念,能够移Linux2.6内核到 ARM9开发板。6、嵌入式 Linux 下串口通信了解串行I/O的基本概念。学习嵌入式Linux应用软件开发流程,认识Linux系统的文件和设备概念和关系, 以及与文件相关的系统调用。配置超级终端,能够进行串口通信。熟悉文件I/O,编写串口通信程序和多串口通信程序。7、嵌入式系统中多进程和多线程程序设计熟悉Linux任务调度,学习管道、信号、共享内存和任务管理等概念和相关API函数。了解Linux系统任务管理机制,熟悉进程间通信的几种方式,熟悉嵌入式Linux中的任务间同步与通信能编写一个简单的管道程序实现文件传输和一个使用共享内存的程序。了解什么是线程,以及它和进程间的区别,掌握多线程的编程方法。8、嵌入式 Linux 网络编程熟悉嵌入式Linux中TCP/IP网络结构,学习socket编程和常用 API函数,分析Ping命令的实现。可以尝试编写一个web服务器,还可以编写一个运行在 ARM平台的网络播放器。9、GUI 程序开发编译QT,进行QT开发,熟悉嵌入式系统常用的GUI,能够进行QT编程。10、Linux 字符设备驱动程序了解Linux字符设备驱动程序结构,能够编写字符设备驱动程序。比如编写我前面介绍过的LED驱动,或者编写键盘驱动等类似IO口控制。
总的说来,Linux嵌入式编程还是一个比较复杂和长期的过程,需要不断的学习和项目经验的积累。
,