嵌入式linux应用开发完全手册学习笔记一

时间:2021-03-22 18:48:25

2015.3.25
星期三 晴

有两个星期没写学习日记了,找个时间把这段时间做的电子词典和ARM小项目总结一下。

下面的知识点总结,U-BOOT:参考PDF文档:嵌入式linux应用开发完全手册

当虚拟机和linux系统安装好之后,我们需要安装,配置,启动FTP,SSH,NFS服务,具体操作如下:

第一次使用apt-get来安装程序之前,先要完成两件事:
1.修改/etc/apt/sources.list,将其中注释掉的网址打开(需要root权限才能操作)
2.更新可用的程序列表 : sudo apt-get update

一,安装,配置,启动FTP服务:
1.命令:sudo apt-get install vaftpd
2.修改vsftpd的配置文件/etc/vsftpd.conf,将下面几行前的#去掉
#local_enable=YES 允许本地用户登录
#write_enable=YES 允许上传文件
3.重启FTP服务:
sudo /etc/init.d/vsftpe restart

二,安装,配置,启动ssh服务:
1.命令:sudo apt-get install openssh-server(使用默认的配置文件:/etc/ssh/sshd_config)

三,安装,配置,启动nfs服务:
1.命令:sudo agt-get install nfs-kernel-server portmap
2.他的配置文件为/etc/exports,在里面增加以下内容,以后将通过网络文件系统访问/work/nfs_root目录。
/work/nfs_root *(rw,syns,no_root_squash)
3.修改完成后重启NFS服务
sudo /etc/init.d/nfs-kernel-server restart

上面三个服务安装好之后系统每次会自动启动,如果要取消摸个服务,可以在linux的启动菜单栏
执行 System -> 系统管理 -> 网络 命令,在对话框中取消。

用下面的命令安装基本的开发环境:

sudo apt-get install build-essential

还要安装工具bison,flex,他们分别是语法,词法解析器:

sudo apt-get install bison flex

安装c函数库的man手册:

sudo apt-get install manpages-dev


安装光盘:
安装光盘前可以使用以下的命令改变/work目录的拥有者及其所属组名
sudo chown book:book /work -R

使用制作好的工具链:
刚开始学习时,用一些已经制作好的工具链,使用以下命令解压到gcc-3.4.5-glibc-2.3.6目录

cd /work/tools
tar xjf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2

然后在环境变量PATH中增加路径,入下所示:

export PATH=$PATH:/work/tools/gcc-3.4.5-glibc-2.3.6/bin

为了不要每次使用时都手动设置PATH,可以在/etc/environment中修改PATH的值,如下操作:

PATH="/usr/local/sbin:/nsr/local/bin:/usr/shin:/usr/bin:/sbin:/bin:/usr/games:/work/tools/gcc-3.4.5-glibc-2.3.6/bin


安装ncurses,ncurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形功能的动态库,如果没有他,在执行“make menuconfig”
命令的时候会出错,下面是安装命令:

cd /work/tools/
tar xzf ncurses.tar.gz
cd ncurses-5.6
./configure --with-shared --prefix=/usr
make
make install

Makefile相关描述:参考PDF文档:嵌入式linux应用开发完全手册60页,说的相当好

Windows环境下的工具:

代码阅读,编译工具Source Lnsight(创建工程,同步源文件,快捷键使用等),相关操作如下:
设置工程,指定工程数据的存放位置,设置支持的文件类型,指定源码的位置,添加,移除源文件,建立数据库等

文件传输工具:Cuteftp, 是一款FTP客户端软件,只要在Linux上安装,启动了FTP服务,就可以使用Cuteftp在Windows与Linux之间进行文件传输
嵌入式linux应用开发完全手册78页

远程登录工具:SecureCRT
TFTP服务器软件:Tftpd32

Linux环境下的工具,命令:
代码于都,编辑工具:KScope(类似:Source Lnsight)

远程登录工具:C-kermit

查找命令:grep,find

cd --------
prep “hello” kernel -R 在当前目录下的kernel目录下递归查找hello,(-R表示递归查找子目录)
fine kernel -name "*hello*"

其他命令:tar,diff,patch 嵌入式linux应用开发完全手册88页

压缩:
tar czf dirA.tar.gz dirA
tar cjf dirA.tar.bz2 dirA

解压:

tar xzf dirA.tar.gz -C <dir> 解压到<dir>目录,不加-C表示解压到当前目录

制作补丁:linux-2.6.22.6_ok.diff(比较两个文件,将修改过的内容输出)
diff -urNwB linux-2.6.22.6 linux-2.6.22.6_ok > linux-2.6.22.6_ok.diff

打补丁:
patch -p1 < ../linux-2.6.22.6_ok.diff (-p1表示忽略第一个/之前的目录)


***************************************************************************************************************************************************************
***************************************************************************************************************************************************************
***************************************************************************************************************************************************************
***************************************************************************************************************************************************************