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

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

嵌入式linux应用开发完全手册学习笔记一的更多相关文章

  1. 嵌入式Linux应用开发完全手册读书笔记——常用的命令

    嵌入式开发中常用的命令 grep命令 用法:grep [option] PATTERN [FILE...] 例如: 在内核目录下查找包含"request_irq"字样的文件 gre ...

  2. 嵌入式Linux应用开发完全手册读书笔记——交叉编译工具选项说明

    交叉编译工具选项说明 arm-linux-gcc 一个c/c++文件要变成可执行文件需要4步:预处理 -> 编译 -> 汇编 -> 链接: 在使用arm-linux-gcc时的常用选 ...

  3. 嵌入式Linux应用开发完全手册之环境搭建

    @ 目录 0.下载源配置 1.电脑BIOS启动虚拟化 2.linux网卡查看与IP设置 3.windows NAT虚拟网络配置 4.修改 Ubuntu 的 mountd 端口 5.vim设置 6.Mo ...

  4. iPhone App开发实战手册学习笔记(9)之设计IOS App的目标

    1 前言 如果我们要做一个属于自己的App需要达到那些目标呢,今天就来介绍一下. 2 详述 2.1 关注用户及其需求 你的主要目标永远都是在设计方案之前先想好用户用例.有些开发人员喜欢编写用户故事来确 ...

  5. 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识

    驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...

  6. 嵌入式Linux驱动开发日记

    嵌入式Linux驱动开发日记 主机硬件环境 开发机:虚拟机Ubuntu12.04 内存: 1G 硬盘:80GB 目标板硬件环境 CPU: SP5V210 (开发板:QT210) SDRAM: 512M ...

  7. 如何使用eclipse进行嵌入式Linux的开发

    如何使用eclipse进行嵌入式Linux的开发 作者:曾宏安,华清远见嵌入式学院高级讲师. 如何使用eclipse进行嵌入式Linux的开发 习惯了在windows环境下开发的程序员在转到Linux ...

  8. linux内核分析第四周学习笔记

    linux内核分析第四周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...

  9. Linux内核分析第二周学习笔记

    linux内核分析第二周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...

随机推荐

  1. Python学习笔记-常用模块

    1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...

  2. 2016年江西理工大学C语言程序设计竞赛(高级组)

    问题 A: jxust 解法:争议的问题(是输入整行还是输入字符串),这里倾向输入字符串,然后判断是否含有jxust就行 #include<bits/stdc++.h> using nam ...

  3. sublime 使用技巧

    使用sublime使遇到的问题: 1.左侧菜单栏隐藏恢复:View ->Side Bar ->Show Side Bar 2.顶部菜单栏隐藏恢复:按住ctrl+shift+p,出现一个框, ...

  4. RCP:如何移除Toolbar中的Quick Access

    问题 自4.x开始,Quick Access搜索框成为Toolbar的"标准装备",一般删除Actionset的方式似乎不起作用,通过Quick Access,用户很容易访问到RC ...

  5. C++开源大全

    程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++ Standard Library:是一系列 ...

  6. [转]MySQL去除重复数据

    亲测可行,看这里就行了 http://www.jb51.net/article/39302.htm

  7. 使用jquery中height()方法获取各种高度大全

    alert($(window).height()); //浏览器当前窗口可视区域高度 alert($(document).height()); //浏览器当前窗口文档的高度 alert($(docum ...

  8. struts入门初步(一)

      struts2.0与struts1.0运用了不同的框架,有一定的不兼容性. struts2.0借鉴了webwork的框架思想. Struts2的基本步骤: 1.拷贝struts的jar到项目中(导 ...

  9. window.location.href 失效的解决办法

    第一种:在window.location.href 后面加上 window.event.returnValue = false; 如: <a href="#" onclick ...

  10. Pycharm使用问题# 快捷键设置

    Pycharm内部设置也已经变得非常复杂,此处说明我改变字体大小的快捷键设置. 在Settings中找到Keymap一项,默认显示会展开Editor Actions一项: 在里面分别找到Decreas ...