嵌入式linux学习心得(多篇范文)

上传人:tian****1990 文档编号:82038185 上传时间:2019-02-23 格式:DOC 页数:22 大小:70.18KB
返回 下载 相关 举报
嵌入式linux学习心得(多篇范文)_第1页
第1页 / 共22页
嵌入式linux学习心得(多篇范文)_第2页
第2页 / 共22页
嵌入式linux学习心得(多篇范文)_第3页
第3页 / 共22页
嵌入式linux学习心得(多篇范文)_第4页
第4页 / 共22页
嵌入式linux学习心得(多篇范文)_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《嵌入式linux学习心得(多篇范文)》由会员分享,可在线阅读,更多相关《嵌入式linux学习心得(多篇范文)(22页珍藏版)》请在金锄头文库上搜索。

1、嵌入式linux学习心得知识结构1. 嵌入式处理器与裸机程序开发 2. linux系统管理 3. linux应用程序开发 4. linux驱动程序开发 5. linux内核开发与系统移植一、处理器1. arm处理器工作模式 2. arm系统寄存器 3. arm寻址方式 4. arm 汇编指令集 5. arm环境c语言编程 6. arm中断与异常 7. ads集成开发环境8. 裸机程序开发(串口、lcd、时钟、led、按键)二、系统管理1. linux定制安装 2. linux命令详解3. samba、nfs、tftp、wireshark使用4. shell编程三、应用程序开发1. gcc、gd

2、b、makefile 2. 文件、时间编程3. 多进程、多线程程序设计 4. 进程间通讯 5. 网络编程6. qt图形化应用程序开发 7. android图形化应用程序开发四、内核开发1. linux内核配置与裁剪 2. linux内核模块开发 3. 根文件系统制作 4. 进程子系统 5. 内存子系统 6. proc文件系统 7. 系统调用 8. 内核定时器 9. 内核异常分析五、驱动程序开发1. 字符设备驱动程序 2. 总线、设备、驱动模型 3. 硬件访问技术 4. 中断处理 5. input设备驱动 6. platform驱动程序 7. pci、usb驱动程序 8. 网卡驱动程序 9. 触

3、摸屏驱动程序 10. 串口驱动程序学习顺序1. 嵌入式处理器与裸机程序开发 2. linux系统管理 3. linux应用程序开发 4. linux内核开发基础 5. 嵌入式linux环境搭建 6. linux驱动程序开发 7. 深入学习linux内核第二篇:嵌入式linux学习步骤嵌入式linux学习步骤作者:phantom 时间:XX-8-6 文章来源:来自网络1、linux 基础安装linux操作系统 linux文件系统 linux常用命令 linux启动过程详解 熟悉linux服务能够独立安装linux操作系统 能够熟练使用linux系统的基本命令 认识linux系统的常用服务安装li

4、nux操作系统 linux基本命令实践 设置linux环境变量 定制linux的服务 shell 编程基础使用vi编辑文件 使用emacs编辑文件 使用其他编辑器2、shell 编程基础shell简介 认识后台程序bash编程熟悉linux系统下的编辑环境 熟悉linux下的各种shell 熟练进行shell编程熟悉vi基本操作 熟悉emacs的基本操作 比较不同shell的区别 编写一个测试服务器是否连通的shell脚本程序 编写一个查看进程是否存在的shell脚本程序 编写一个带有循环语句的shell脚本程序3、linux 下的 c 编程基础linux c语言环境概述 gcc使用方法 gd

5、b调试技术 autoconf automake makefile 代码优化 熟悉linux系统下的开发环境 熟悉gcc编译器 熟悉makefile规则编写hello,world程序 使用 make命令编译程序 编写带有一个循环的程序 调试一个有问题的程序4、嵌入式系统开发基础嵌入式系统概述 交叉编译 配置tftp服务 配置nfs服务 下载bootloader和内核 嵌入式linux应用软件开发流程熟悉嵌入式系统概念以及开发流程 建立嵌入式系统开发环境制作cross_gcc工具链 编译并下载u-boot 编译并下载linux内核 编译并下载linux应用程序4、嵌入式系统移植linux内核代码

6、平台相关代码分析 arm平台介绍 平台移植的关键技术 移植linux内核到 arm平台 了解移植的概念 能够移植linux内核移植linux2.6内核到 arm9开发板5、嵌入式 linux 下串口通信串行i/o的基本概念 嵌入式linux应用软件开发流程 linux系统的文件和设备 与文件相关的系统调用 配置超级终端和mini 能够熟悉进行串口通信 熟悉文件i/o 编写串口通信程序 编写多串口通信程序6、嵌入式系统中多进程程序设计linux系统进程概述 嵌入式系统的进程特点 进程操作 守护进程 相关的系统调用了解linux系统中进程的概念 能够编写多进程程序编写多进程程序 编写一个守护进程程

7、序 sleep系统调用任务管理、同步与通信 linux任务概述任务调度 管道 信号 共享内存 任务管理 api 了解linux系统任务管理机制 熟悉进程间通信的几种方式 熟悉嵌入式linux中的任务间同步与通信编写一个简单的管道程序实现文件传输 编写一个使用共享内存的程序7、嵌入式系统中多线程程序设计线程的基础知识 多线程编程方法 线程应用中的同步问题了解线程的概念 能够编写简单的多线程程序编写一个多线程程序8、嵌入式 linux 网络编程网络基础知识 嵌入式linux中tcp/ip网络结构 socket 编程 常用 api函数 分析ping命令的实现 基本udp套接口编程 许可证管理 ppp

8、协议 gprs 了解嵌入式linux网络体系结构 能够进行嵌入式linux环境下的socket 编程 熟悉udp协议、ppp协议 熟悉gprs 使用socket 编写代理服务器 使用socket 编写路由器 编写许可证服务器 指出tcp和udp的优缺点 编写一个web服务器 编写一个运行在 arm平台的网络播放器9、gui 程序开发gui基础 嵌入式系统gui类型 编译qt 进行qt开发熟悉嵌入式系统常用的gui 能够进行qt编程使用qt编写“hello,world”程序 调试一个加入信号/槽的实例 通过重载qwidget 类方法处理事件10、linux 字符设备驱动程序设备驱动程序基础知识

9、linux系统的模块 字符设备驱动分析 fs_operation结构 加载驱动程序了解设备驱动程序的概念 了解linux字符设备驱动程序结构 能够编写字符设备驱动程序编写skull驱动 编写键盘驱动 编写i/o驱动 分析一个看门狗驱动程序 对比linux2.6内核与2.4内核中字符设备驱动的不同linux 块设备驱动程序块设备驱动程序工作原理 典型的块设备驱动程序分析 块设备的读写请求队列了解linux块设备驱动程序结构 能够编写简单的块设备驱动程序比较字符设备与块设备的异同 编写mmc卡驱动程序 分析一个文件系统 对比linux2.6内核与2.4内核中块设备驱动的不同11、文件系统虚拟文件系

10、统 文件系统的建立 ramfs内存文件系统 proc文件系统 devfs 文件系统 mtd技术简介 mtd块设备初始化 mtd块设备的读写操作了解linux系统的文件系统 了解嵌入式linux的文件系统 了解mtd技术 能够编写简单的文件系统为 arm9开发板添加 mtd支持 移植jffs2文件系统 通过proc文件系统修改操作系统参数 分析romfs 文件系统源代码 创建一个cramfs 文件系统第三篇:嵌入式linux学习经验谈打印版本,(转载)前面废话省略,进入正题:一、废话(已删)。二、起步:你应该为自己创造一个学习linux的环境-在电脑上装一个linux或unix如何选择版本:北美

11、用redhat,欧洲用suse,桌面mandrake较多,而debian是技术最先进的linux开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。对于初学linux的人来说,我建议是使用redhat,原因如下:1)现在很多书都是以redhat为例讲的,为了与书本协调一致2)周围的人都用redhat,交流比较方便3)redhat应用范围广,有典型性和代表性4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上而应集中精力学习最有用的东西。【注】现在觉得rh很死板,as,es等用在服务器上或

12、许不错,personal desktop用mandrake,debian,suse都不错,笔者现在用mandrake,因为她长得漂亮:)如果你并不打算深入学习linux,而是有诸如适应北京市政府办公平台迁移到linux上这种需要,那么中软,红旗等中文linux是不错的选择我强烈建议:自己亲自动手把linux装到你的硬盘上,你必须学会独立安装linux系统的技能,对于现在的版本来说,其实跟装winxp一样简单从此现在开始,请不要以windows的工作方式来考虑问题,应该尝试挖掘linux身上的“天才unix”的气质。三.进阶掌握至少50个以上的常用命令理解shell管道|,文件流重定向及追加等熟

13、悉gnome/kde等x-windows桌面环境操作掌握.tgz.rpm.biz等软件包的常用安装方法学习添加外设,安装设备驱动程序(比如modem)熟悉grub/lilo引导器及简单的修复操作熟悉系统固有目录的名称及公用学会用mount命令访问其他文件系统了解vi,gcc,gdb等常用编辑器,编译器,调试器学习linux环境下的简单组网建议:买一本不需要太厚的linux教材,大致可以满足要求(现在的书越来越多了,还带很多图,我当时可没这么多书)四.高级应用澄清一些概念:linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识1.英语即使你不学linux,我也强烈建议你学好英文u.s

14、.english。因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装。你必须能无障碍的阅读大量的英文技术文档在搜索引擎找到的英文网站和网页中熟练的检索最好能有用英文直接交流的能力,摆脱了这个障碍,你的学习和理解速度就能快很多,你就有机会拉开和别人的差距。2.shellsed/awkshell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上这也是cs中的一个重要思

15、想。此外,shell可以实现工作自动化,这个概念也比较重要sed,awk用来处理文本,历来很常用。3.perl/php漂亮的脚本, cgi的首选,比asp好,应用面很广4.cc+c、c+是linux/unix的核心语言,系统代码都是c写的5.asm系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要。/走核心路线的话,cc+,asm最重要6.java,python,tcl,xml五、系统管理篇在熟悉linux的基础上还需要掌握至少一种unix。我首推solaris,其次是freebsd比如运营级系统一般是solaris+oracle/db2之类的学习apache、ssh、sendmail/qm

16、ail、proftp/vsftp、samba、squid、mysql/postgresql/oracle、bind等各种应用服务器的构架及电子商务的应用熟悉tcp/ip协议族,学习诸如apache+php+proftp+mysql+a的实现以及大型局域网,分布式集群等各种企业级应用解决方案熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复系统补丁,内核升级,以及在此基础上的防火墙构架等以保障系统安全在内的各种系统管理技能。 我觉得,如果在此基础上再掌握路由/交换设备便是一个不错的系统管理员各种基于linux的解决方案可参考相关书籍和文献,必要时用google或各大li

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号