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表示忽略第一个/之前的目录)
***************************************************************************************************************************************************************
***************************************************************************************************************************************************************
***************************************************************************************************************************************************************
***************************************************************************************************************************************************************