嵌入式linux学习心得多篇范文.docx
- 文档编号:258176
- 上传时间:2022-10-07
- 格式:DOCX
- 页数:12
- 大小:27.62KB
嵌入式linux学习心得多篇范文.docx
《嵌入式linux学习心得多篇范文.docx》由会员分享,可在线阅读,更多相关《嵌入式linux学习心得多篇范文.docx(12页珍藏版)》请在冰豆网上搜索。
嵌入式linux学习心得多篇范文
嵌入式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、gdb、makefile2.文件、时间编程
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.触摸屏驱动程序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系统的常用服务安装linux操作系统linux基本命令实践设置linux环境变量定制linux的服务shell编程基础使用vi编辑文件使用emacs编辑文件使用其他编辑器
2、shell编程基础
shell简介认识后台程序bash编程熟悉linux系统下的编辑环境熟悉linux下的各种shell熟练进行shell编程熟悉vi基本操作熟悉emacs的基本操作比较不同shell的区别编写一个测试服务器是否连通的shell脚本程序编写一个查看进程是否存在的shell脚本程序编写一个带有循环语句的shell脚本程序
3、linux下的c编程基础
linuxc语言环境概述gcc使用方法gdb调试技术autoconfautomakemakefile代码优化熟悉linux系统下的开发环境熟悉gcc编译器熟悉makefile规则编写hello,world程序使用make命令编译程序编写带有一个循环的程序调试一个有问题的程序
4、嵌入式系统开发基础
嵌入式系统概述交叉编译配置tftp服务配置nfs服务下载bootloader和内核嵌入式linux应用软件开发流程熟悉嵌入式系统概念以及开发流程建立嵌入式系统开发环境制作cross_gcc工具链编译并下载u-boot编译并下载linux内核编译并下载linux应用程序
4、嵌入式系统移植
linux内核代码平台相关代码分析arm平台介绍平台移植的关键技术移植linux内核到arm平台了解移植的概念能够移植linux内核移植linux2.6内核到arm9开发板
5、嵌入式linux下串口通信
串行i/o的基本概念嵌入式linux应用软件开发流程linux系统的文件和设备与文件相关的系统调用配
置超级终端和mini能够熟悉进行串口通信熟悉文件i/o编写串口通信程序编写多串口通信程序
6、嵌入式系统中多进程程序设计
linux系统进程概述嵌入式系统的进程特点进程操作守护进程相关的系统调用了解linux系统中进程的概念能够编写多进程程序编写多进程程序编写一个守护进程程序sleep系统调用任务管理、同步与通信linux任务概述任务调度管道信号共享内存任务管理api了解linux系统任务管理机制熟悉进程间通信的几种方式熟悉嵌入式linux中的任务间同步与通信编写一个简单的管道程序实现文件传输编写一个使用共享内存的程序
7、嵌入式系统中多线程程序设计
线程的基础知识多线程编程方法线程应用中的同步问题了解线程的概念能够编写简单的多线程程序编写一个多线程程序
8、嵌入式linux网络编程
网络基础知识嵌入式linux中tcp/ip网络结构socket编程常用api函数分析ping命令的实现基本udp套接口编程许可证管理ppp协议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字符设备驱动程序
设备驱动程序基础知识linux系统的模块字符设备驱动分析fs_operation结构加载驱动程序了解设备驱动程序的概念了解linux字符设备驱动程序结构能够编写字符设备驱动程序编写skull驱动编写键盘驱动编写i/o驱动分析一个看门狗驱动程序对比linux2.6内核与2.4内核中字符设备驱动的不同linux块设备驱动程序块设备驱动程序工作原理典型的块设备驱动程序分析块设备的读写请求队列了解linux块设备驱动程序结构能够编写简单的块设备驱动程序比较字符设备与块设备的异同编写mmc卡驱动程序分析一个文件系统对比linux2.6内核与2.4内核中块设备驱动的不同
11、文件系统
虚拟文件系统文件系统的建立ramfs内存文件系统proc文件系统devfs文件系统mtd技术简介mtd块设备初始化mtd块设备的读写操作了解linux系统的文件系统了解嵌入式linux的文件系统了解mtd技术能够编写简单的文件系统为arm9开发板添加mtd支持移植jffs2文件系统通过proc文件系统修改操作系统参数分析romfs文件系统源代码创建一个cramfs文件系统
第三篇:
嵌入式linux学习经验谈
打印版本,(转载)前面废话省略,进入正题:
一、废话(已删)。
二、起步:
你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix
如何选择版本:
北美用redhat,欧洲用suse,桌面mandrake较多,而debian是技术最先进的linux开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。
对于初学linux的人来说,我建议是使用redhat,原因如下:
1)现在很多书都是以redhat为例讲的,为了与书本协调一致
2)周围的人都用redhat,交流比较方便
3)redhat应用范围广,有典型性和代表性
4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上而应集中精力学习最有用的东西。
【注】现在觉得rh很死板,as,es等用在服务器上或许不错,personaldesktop用mandrake,debian,suse都不错,笔者现在用mandrake,因为她长得漂亮:
)
如果你并不打算深入学习linux,而是有诸如适应北京市政府办公平台迁移到linux上这种需要,那么中软,红旗等中文linux是不错的选择
我强烈建议:
自己亲自动手把linux装到你的硬盘上,你必须学会独立安装linux系统的技能,对于现在的版本来说,其实跟装winxp一样简单
从此现在开始,请不要以windows的工作方式来考虑问题,应该尝试挖掘linux身上的“天才unix”的气质。
三.进阶
掌握至少50个以上的常用命令
理解shell管道"|",文件流重定向">"及追加">>"等
熟悉gnome/kde等x-windows桌面环境操作
掌握.tgz.rpm.biz等软件包的常用安装方法
学习添加外设,安装设备驱动程序(比如modem)
熟悉grub/lilo引导器及简单的修复操作
熟悉系统固有目录的名称及公用
学会用mount命令访问其他文件系统
了解vi,gcc,gdb等常用编辑器,编译器,调试器
学习linux环境下的简单组网
建议:
买一本不需要太厚的linux教材,大致可以满足要求(现在的书越来越多了,还带很多图,我当时可没这么多书)
四.高级应用
澄清一些概念:
linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识
1.英语
即使你不学linux,我也强烈建议你学好英文[u.s.english]。
因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装。
你必须能无障碍的阅读大量的英文技术文档在搜索引擎找到的英文网站和网页中熟练的检索最好能有用英文直接交流的能力,摆脱了这个障碍,你的学习和理解速度就能快很多,你就有机会拉开和别人的差距。
2.shell[sed/awk]
shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上
这也是cs中的一个重要思想。
此外,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/qmail、proftp/vsftp、samba、squid、mysql/postgresql/oracle、bind等各种应用服务器的构架及电子商务的应用熟悉tcp/ip协议族,学习诸如apache+php+proftp+mysql+a的实现以及大型局域网,分布式集群等各种企业级应用解决方案熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复系统补丁,内核升级,以及在此基础上的防火墙构架等以保障系统安全在内的各种系统管理技能。
我觉得,如果在此基础上再掌握路由/交换设备便是一个不错的系统管理员
各种基于linux的解决方案可参考相关书籍和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 linux 学习心得 范文