嵌入式linux应用开发完全手册学习笔记一
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应用开发完全手册学习笔记一的更多相关文章
- 嵌入式Linux应用开发完全手册读书笔记——常用的命令
嵌入式开发中常用的命令 grep命令 用法:grep [option] PATTERN [FILE...] 例如: 在内核目录下查找包含"request_irq"字样的文件 gre ...
- 嵌入式Linux应用开发完全手册读书笔记——交叉编译工具选项说明
交叉编译工具选项说明 arm-linux-gcc 一个c/c++文件要变成可执行文件需要4步:预处理 -> 编译 -> 汇编 -> 链接: 在使用arm-linux-gcc时的常用选 ...
- 嵌入式Linux应用开发完全手册之环境搭建
@ 目录 0.下载源配置 1.电脑BIOS启动虚拟化 2.linux网卡查看与IP设置 3.windows NAT虚拟网络配置 4.修改 Ubuntu 的 mountd 端口 5.vim设置 6.Mo ...
- iPhone App开发实战手册学习笔记(9)之设计IOS App的目标
1 前言 如果我们要做一个属于自己的App需要达到那些目标呢,今天就来介绍一下. 2 详述 2.1 关注用户及其需求 你的主要目标永远都是在设计方案之前先想好用户用例.有些开发人员喜欢编写用户故事来确 ...
- 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识
驱动开发读书笔记. 0.06 嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...
- 嵌入式Linux驱动开发日记
嵌入式Linux驱动开发日记 主机硬件环境 开发机:虚拟机Ubuntu12.04 内存: 1G 硬盘:80GB 目标板硬件环境 CPU: SP5V210 (开发板:QT210) SDRAM: 512M ...
- 如何使用eclipse进行嵌入式Linux的开发
如何使用eclipse进行嵌入式Linux的开发 作者:曾宏安,华清远见嵌入式学院高级讲师. 如何使用eclipse进行嵌入式Linux的开发 习惯了在windows环境下开发的程序员在转到Linux ...
- linux内核分析第四周学习笔记
linux内核分析第四周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...
- Linux内核分析第二周学习笔记
linux内核分析第二周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...
随机推荐
- selenium高亮显示操作步骤方法
package com.allin.pc;import java.util.List;import org.openqa.selenium.WebElement;import org.openqa.s ...
- python 学习笔记十一 SQLALchemy ORM(进阶篇)
SqlAlchemy ORM SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据A ...
- 单元测试:查找list[]中的最大值
原始代码如下: int Largest(int list[], int length) { int i,max; for(i = 0; i < (length – 1); i ++ ) { i ...
- firefox阅读模式
并不是所有的网页都可以转换为阅读模式的,所以遇到一些识别不了的网页时,可以在地址栏输入“about:reader?url=网址”后回车即可.
- 运用EasyUI中datagrid读取数据库数据实现分页
1dao层 package com.hanqi.dao; import java.util.ArrayList; import java.util.List; import org.hibernate ...
- java高薪之路__003_集合
Java集合可分为Collection和Map两大体系 Collection接口 |---- Set: 元素无序.不可重复 |---- List: 元素有序.可重复 (动态数组) |---- Queu ...
- 转!!XML,DTD,XSD,XSL的区别
XML=可扩展标记语言(eXtensible Markup Language).可扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可用 方便的方式建立,虽然XML占 ...
- spring4+mybatis3+maven
简介 在上一篇博文中,我们搭建了maven环境,现在我们就用maven搭个ssm框架,废话不多说,直接开始吧 代码下载地址 链接:http://pan.baidu.com/s/1nvg42EH 密码: ...
- JDK注解替代Hibernate的Entity映射
1.在entity(实体类)模块中使用注解 1_1.注解的位置出现在 [类定义的前面] 和 [属性的get方法前面] [属性的get方法前面] Java代码: package app.entity; ...
- Laravel Container分析
在分析Laravel流程具体细节之前我们先来了解一下它的Container容器,容器的作用简单的说就是用来存储对象(类名称或者实例),包括提供一些生成对象实例的方法. 我们查看Illuminate\C ...