存档

‘嵌入式Linux’ 分类的存档

发个win7 64位的usb转串口的驱动 PL2303

2012年2月11日 没有评论

win7  64位的usb转串口的驱动 PL2303

换了个系统,为了不浪费8G内存,上64位的win7

无奈usb转串口的驱动 不大好找,所以,这里找到一个

下载链接

文章链接

http://www.deepin.org/thread-1736440-1-1.html

深度的文章

贴上一段

下载链接:http://www.prolific.com.tw/suppo … rInstaller_v130.zip
升级公告:PL2303_Prolific_DriverInstaller_v130.zip  2010/7/15  v1.3.0  2315 KB
——————————————————————————–
PL-2303 USB to Serial Bridge (H, HX, X) Installshield Driver Setup Program
Installer version & Build date: 1.3.0 (2010-7-15)
Windows 98/ME Driver: v2.0.0.19
Windows 2000/XP/Server2003 (32 & 64-bit) WDM WHQL Driver: v2.0.13.130
Windows Vista/7/Server2008 (32 & 64-bit) WDF WHQL Driver: v3.3.11.152
Language Support: English (default), Chinese (Traditional), Chinese (Simplified), Japanese
For Prolific USB VID_067B & PID_2303 Only

Contact our worldwide distributors for cable product reference.

分类: 嵌入式Linux 标签:

redhat 系统yum时提示This system is not registered with RHN

2011年12月9日 没有评论

就是未注册不能使用红帽官方提供的yum源服务了

思路就是换一个,用centos的更新源

 

yum 是 Fedora RHEL Centos SUSE等linux 发行版的 软件包管理工具
通过 执行 man yum 查看yum的帮助信息 可以知道
yum makecache 是 将服务器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度
yum 主要的一下命令如下:
yum search 软件包   搜索软件包
yum install 软件包   安装软件包
yum remove 软件包
yum update  更新系统
等等

______________________________________________________

转载自:http://hi.baidu.com/%B7%E3%D3%A1_/blog/item/74a474218b8ecf1f908f9d5d.html

 

使用redhat 系统在线安装时提示This system is not registered with RHN.如下:

[root@localhost ~]# yum install httpd
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
No package httpd available.
Nothing to do
解决方案:

1.卸载redhat自带的yum组件

[root@localhost ~]# rpm -qa|grep yum|xargs rpm -e –nodeps

2.安装centos的yum包

[root@localhost ~]# wget  http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
[root@localhost ~]# wget  http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm
[root@localhost ~]# wget  http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-3.2.22-37.el5.centos.noarch.rpm
[root@localhost ~]# rpm -ivh *.rpm
warning: yum-3.2.22-37.el5.centos.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing…                ########################################### [100%]
1:yum-metadata-parser    ########################################### [ 33%]
2:yum-fastestmirror      ########################################### [ 67%]
3:yum                    ########################################### [100%]

 

3. 下载更新源,并存放在系统目录中
[root@localhost ~]# wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo

[root@localhost ~]#mv CentOS_Base.repo /etc/yum.repos.d/CentOS-Base.repo

 

4.生成缓存并进行安装

[root@localhost ~]# yum makecache
[root@localhost ~]# yum install httpd

分类: 嵌入式Linux 标签:

Linux定时任务系统Cron入门【类似计划任务了】

2011年12月9日 没有评论

着重看的是命令格式以及使用当中的小技巧

很有意思的事情,可以定时备份数据库可以做提醒预警之类的巡回检测

重要的是引入变量之后,就是脚本了,自动化很多日常的操作

需要继续学习的,就是shell编程啦

——————————————————————————————

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

你也可以将这个服务在系统启动的时候自动启动:

在/etc/rc.d/rc.local这个脚本的末尾加上:

/sbin/service crond start

现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:

1.直接用crontab命令编辑

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

crontab -l //列出某个用户cron服务的详细内容

crontab -r //删除没个用户的cron服务

crontab -e //编辑某个用户的cron服务

比如说root查看自己的cron设置:crontab -u root -l

再例如,root想删除fred的cron设置:crontab -u fred -r

在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e

进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt

这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:

分钟 (0-59)

小時 (0-23)

日期 (1-31)

月份 (1-12)

星期 (0-6)//0代表星期天

除了数字还有几个个特殊的符号就是”*”、”/”和”-“、”,”,*代表所有的取值范围内的数字,”/”代表每的意思,”*/5″表示每5个单位,”-“代表从某个数字到某个数字,”,”分开几个离散的数字。以下举几个例子说明问题:

每天早上6点

0 6 * * * echo “Good morning.” >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

每两个小时

0 */2 * * * echo “Have a break now.” >> /tmp/test.txt

晚上11点到早上8点之间每两个小时,早上八点

0 23-7/2,8 * * * echo “Have a good dream:)” >> /tmp/test.txt

每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * 1-3 command line

1月1日早上4点

0 4 1 1 * command line

每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。

2.编辑/etc/crontab 文件配置cron

cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用 cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

HOME=/ //使用者运行的路径,这里是根目录

# run-parts

01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本

02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本

22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本

42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本

大家注意”run-parts”这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。

分类: 嵌入式Linux 标签:

Linux上vi(vim)编辑器使用教程【还不错】

2011年12月9日 没有评论

这片文章还不错,记下来那几个常用的操作命令就可以了,熟悉下

 

vi有3个模式:插入模式、命令模式、低行模式。

插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。
低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。

一、打开文件、保存、关闭文件(vi命令模式下使用)

vi filename       //打开filename文件
:w       //保存文件
:w vpser.net //保存至vpser.net文件
:q          //退出编辑器,如果文件已修改请使用下面的命令
:q!        //退出编辑器,且不保存
:wq         //退出编辑器,且保存文件

二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)

a      //在当前光标位置的右边添加文本
i       //在当前光标位置的左边添加文本
A     //在当前行的末尾位置添加文本
I      //在当前行的开始处添加文本(非空字符的行首)
O     //在当前行的上面新建一行
o     //在当前行的下面新建一行
R    //替换(覆盖)当前光标位置及后面的若干文本
J    //合并光标所在行及下一行为一行(依然在命令模式)

三、移动光标(vi命令模式下使用)

1、使用上下左右方向键

2、命令模式下:h   向左、j   向下 、k   向上、l  向右。
空格键 向右、Backspace  向左、Enter  移动到下一行首、-  移动到上一行首。

四、删除、恢复字符或行(vi命令模式下使用)

x         //删除当前字符
nx         //删除从光标开始的n个字符
dd      //删除当前行
ndd   //向下删除当前行在内的n行
u       //撤销上一步操作
U      //撤销对当前行的所有操作

五、搜索(vi命令模式下使用)

/vpser     //向光标下搜索vpser字符串
?vpser     //向光标上搜索vpser字符串
n           //向下搜索前一个搜素动作
N         //向上搜索前一个搜索动作

六、跳至指定行(vi命令模式下使用)

n+        //向下跳n行
n-         //向上跳n行
nG        //跳到行号为n的行
G           //跳至文件的底部

七、设置行号(vi命令模式下使用)

:set  nu     //显示行号
:set nonu    //取消显示行号

八、复制、粘贴(vi命令模式下使用)

yy    //将当前行复制到缓存区,也可以用 “ayy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
nyy   //将当前行向下n行复制到缓冲区,也可以用 “anyy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
yw    //复制从光标开始到词尾的字符。
nyw   //复制从光标开始的n个单词。
y^      //复制从光标到行首的内容。  VPS侦探
y$      //复制从光标到行尾的内容。
p        //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用”ap 进行粘贴。
P        //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用”aP 进行粘贴。

九、替换(vi命令模式下使用)

:s/old/new      //用new替换行中首次出现的old
:s/old/new/g         //用new替换行中所有的old
:n,m s/old/new/g     //用new替换从n到m行里所有的old
:%s/old/new/g      //用new替换当前文件里所有的old

十、编辑其他文件

:e otherfilename    //编辑文件名为otherfilename的文件。

十一、修改文件格式

:set fileformat=unix   //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。

总结:vi(vim)教程虽然有比较多的命令,但是只要勤加练习,相信你会很快的熟练掌握,同时也会给你的工作或学习带来更高的效率。当如果不知道自己处在什么模式时可以按2次Esc键即可回到命令模式,会有最后提醒一点:注意大小写!!!

如有问题欢迎在本文留言或到VPS论坛交流。

原创文章,转载需作者同意,且必须以链接形式注明出处。

>>转载请注明出处:VPS侦探 本文链接地址:http://www.vpser.net/manage/vi.html

分类: 嵌入式Linux 标签:

FreeRadius服务器安装以及radiusd: error while loading shared libraries

2010年12月12日 没有评论

FreeRadius服务器安装以及radiusd: error while loading shared libraries

服务器安装过程:

1. Down from www.freeradius.org

我下载的版本是freeradius-1.1.8.tar.gz

2. tar zxvf freeradius-1.1.8.tar.gz 解压

3. ./configure 检查程序编译时所依赖的环境以及对程序编译安装进行配置,简单的说就是生成makefile

4. make 很重要的编译命令,可使用man make命令查看详情

5. make install 安装

安装完成后,输入radiusd –x进入调试配置,可以进入则说明安装成功。

我的安装在这一步出现问题,

radiusd: error while loading shared libraries: libradius-1.1.8.so: cannot open shared object file: No such file or directory

言下之意就是缺少一个叫做libradius-1.1.8.so的库文件,经查找发现这个库存在于/usr/local/lib目录下

采取的解决方式是将/usr/local/lib添加到/etc/ld.so.conf中
如果里面有就直接运行/sbin/ldconfig就可以解决问题了

ld.so.conf文件内容如下:

include /etc/ld.so.conf.d/*.conf

添加一行 /usr/local/lib

完成后输入/sbin/ldconfig。

Ldconfig命令是将/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache以供使

分类: 嵌入式Linux 标签:

bash: mysql: command not found

2010年12月12日 16 条评论

【转】 bash: mysql: command not found
2010年10月06日 星期三 下午 02:38
转载自 feilala_fly
最终编辑 feilala_fly
Q:>mysql -uroot -p
bash: mysql: command not found
A:因为你的mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时,系统在/usr/bin下面查此命令,所以找不到了,
解决办法是 ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接即可
【山里人测试通过】
解决mysql 无法任意目录执行命令,大约这么说

分类: 嵌入式Linux 标签:

linux解压命令集

2010年12月12日 没有评论

linux解压命令集
2008年09月17日 星期三 22:17
.tar

解包:tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(注:tar是打包,不是压缩!)

———————————————

.gz

解压1:gunzip FileName.gz

解压2:gzip -d FileName.gz

压缩:gzip FileName

.tar.gz 和 .tgz

解压:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

———————————————

.bz2

解压1:bzip2 -d FileName.bz2

解压2:bunzip2 FileName.bz2

压缩: bzip2 -z FileName

.tar.bz2

解压:tar jxvf FileName.tar.bz2 或tar –bzip xvf FileName.tar.bz2

压缩:tar jcvf FileName.tar.bz2 DirName

———————————————

.bz

解压1:bzip2 -d FileName.bz

解压2:bunzip2 FileName.bz

压缩:未知

.tar.bz

解压:tar jxvf FileName.tar.bz

压缩:未知

———————————————

.Z

解压:uncompress FileName.Z

压缩:compress FileName

.tar.Z

解压:tar Zxvf FileName.tar.Z

压缩:tar Zcvf FileName.tar.Z DirName

———————————————

.zip

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

压缩一个目录使用 -r 参数,-r 递归。例: $ zip -r FileName.zip DirName

———————————————

.rar

解压:rar x FileName.rar

压缩:rar a FileName.rar DirName

rar请到:http://www.rarsoft.com/download.htm 下载!

解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以)

[root@www2 tmp]# cp rar_static /usr/bin/rar

———————————————

.lha

解压:lha -e FileName.lha

压缩:lha -a FileName.lha FileName

lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!

>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):

[root@www2 tmp]# cp lha /usr/bin/

———————————————

.rpm

解包:rpm2cpio FileName.rpm | cpio -div

———————————————

.deb

解包:ar p FileName.deb data.tar.gz | tar zxf –

———————————————

.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip

.cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs

.arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea

解压:sEx x FileName.*

压缩:sEx a FileName.* FileName

sEx只是调用相关程序,本身并无压缩、解压功能,请注意!

sEx请到: http://sourceforge.net/projects/sex下载!

解压后请将sEx拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):

[root@www2 tmp]# cp sEx /usr/bin/

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

Linux下常见文件解压方法及命令

系统·System

1.以.a为扩展名的文件:

#tar xv file.a

2.以.z为扩展名的文件:

#uncompress file.Z

3.以.gz为扩展名的文件:

#gunzip file.gz

4.以.bz2为扩展名的文件:

#bunzip2 file.bz2

5.以.tar.Z为扩展名的文件:

#tar xvZf file.tar.Z

或 #compress -dc file.tar.Z | tar xvf

6.以.tar.gz/.tgz为扩展名的文件:

#tar xvzf file.tar.gz

或 gzip -dc file.tar.gz | tar xvf –

7.以.tar.bz2为扩展名的文件:

#tar xvIf file.tar.bz2

或 bzip2 -dc file.tar.bz2 | xvf –

8.以.cpio.gz/.cgz为扩展名的文件:

#gzip -dc file.cgz | cpio -div

9.以.cpio/cpio为扩展名的文件:

#cpio -div file.cpio

或cpio -divc file.cpio

10.以.rpm为扩展名的文件安装:

#rpm -i file.rpm

11.以.rpm为扩展名的文件解压缩:

#rpm2cpio file.rpm | cpio -div

12.以.deb为扩展名的文件安装:

#dpkg -i file.deb

13.以.deb为扩展名的文件解压缩:

#dpkg-deb -fsys-tarfile file.deb | tar xvf – ar p

file.deb data.tar.gz | tar xvzf –

14.以.zip为扩展名的文件:

#unzip file.zip

在linux下解压Winzip格式的文件

  要是装了jdk的话,可以用jar命令;还可以使用unzip命令。

直接解压.tar.gz文件

  xxxx.tar.gz文件使用tar带zxvf参数,可以一次解压开。XXXX为文件名。 例如:

$tar zxvf xxxx.tar.gz 各种压缩文件的解压(安装方法)

文件扩展名 解压(安装方法)

.a ar xv file.a

.Z uncompress file.Z

.gz gunzip file.gz

.bz2 bunzip2 file.bz2

.tar.Z tar xvZf file.tar.Z

compress -dc file.tar.Z | tar xvf –

.tar.gz/.tgz tar xvzf file.tar.gz

gzip -dc file.tar.gz | tar xvf –

.tar.bz2 tar xvIf file.tar.bz2

bzip2 -dc file.tar.bz2 | xvf –

.cpio.gz/.cgz gzip -dc file.cgz | cpio -div

.cpio/cpio cpio -div file.cpio

cpio -divc file.cpio

.rpm/install rpm -i file.rpm

.rpm/extract rpm2cpio file.rpm | cpio -div

.deb/install dpkg -i file.deb

.deb/exrtact dpkg-deb -fsys-tarfile file.deb | tar xvf –

ar p file.deb data.tar.gz | tar xvzf –

.zip unzip file.zip

bzip2 -d myfile.tar.bz2 | tar xvf

tar xvfz myfile.tar.bz2

x 是解压

v 是复杂输出

f 是指定文件

z gz格式

gzip

gzip[选项]要压缩(或解压缩)的文件名

-c将输出写到标准输出上,并保留原有文件。

-d将压缩文件压缩。

-l对每个压缩文件,显示下列字段:压缩文件的大小,未压缩文件的大小、压缩比、未
压缩文件的名字

-r递归式地查找指定目录并压缩或压缩其中的所有文件。

-t测试压缩文件是正完整。

-v对每一个压缩和解压缩的文件,显示其文件名和压缩比。

-num-用指定的数字调整压缩的速度。

举例:

把/usr目录并包括它的子目录在内的全部文件做一备份,备份文件名为usr.tar

tar cvf usr.tar /home

把/usr 目录并包括它的子目录在内的全部文件做一备份并进行压缩,备份文件名是usr
.tar.gz

tar czvf usr.tar.gz /usr

压缩一组文件,文件的后缀为tar.gz

#tar cvf back.tar /back/

#gzip -q back.tar

or

#tar cvfz back.tar.gz /back/

释放一个后缀为tar.gz的文件。

#tar zxvf back.tar.gz

#gzip back.tar.gz

#tar xvf back.tar

无语呀!无语!一个打解压缩的命令有这么长吗?

关于压缩文件和归档文件

归档文件是一个文件和目录的集合,大小不变.

压缩文件也是文件的集合,常常会压缩,使其占用的磁盘空间比所有文件大小之和小.

所以归档文件不是压缩文件,而压缩文件可以是归档文件.

常用的打包(归档)和压缩命令.

命令 功能

tar 文件目录打(解)包

gzip 压缩(解压),后缀名是”gz”

compress 同上,后缀名是”Z”

bzip2 同上后缀为”bz2″

在linux下常用tar命令调用各个压缩软件实现打包和解压缩

tar 常用

-cvf 打包,-xvf解包,-tf查看包中的内容,这是三个基本的用法,可以加其它的参数来
调用其它的软件来实现打包和解压缩,如调用gzip工具

-zcvf,-zxvf,-ztf 举个例了:tar -zcvf myball.tar.gz mydir 把mydir目录用gzip工
具打包,所以我们的后缀名用gz,这样一看就知是用什么工具打包的了,我们也用相应
的解包,tar -zxvf myball.tar.gz 解压在当前的目录了 查看也是一样

tar -ztf myball.tar.gz

如调用compress,它的后缀名是Z,如果我们看到这样一个压缩包 myball.tar.Z ,那么我
们可以这样来解压缩tar -Zxvf myball.tar.Z 查看和打包和上面的类似,

如调用bzip2工具,它的后缀是bz2,如果我们要打包一个文件那么这样

tar -jcvf myball.tar.bz2 myfile

看了上面的你应有个大体的把握:记住

-cvf 是打包

-xvf 是解包

-tf 是查看包中内容

调用相关的工具,只要在前面加上个参数就是了

gzip 加 z 后缀名是gz

compress 加 Z 后缀名 Z

bzip2 加 j 后缀名是 bz2

LINUX的文件和后缀名没有关系

分类: 嵌入式Linux 标签:

谷歌街景车,【很喜欢,因为很强大,很好玩】

2010年12月8日 没有评论

http://hi.baidu.com/ahong1288/blog/item/1875c9ef1f5ea13fadafd55d.html

谷歌的街景车

就是到处拍照的那个
我也很喜欢
不过我更喜欢全程联网控制的……

分类: 嵌入式Linux 标签:

嵌入式开发入门【大约是先把linux玩转了,各种的原理性的东西】

2010年12月8日 没有评论

参考学习步骤如下:

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 编程基础

linux C语言环境概述
Gcc使用方法
Gdb调试技术
Autoconf
Automake
Makefile
代码优化 熟悉Linux系统下的开发环境
熟悉Gcc编译器
熟悉Makefile规则编写Hello,World程序
使用 make命令编译程序
编写带有一个循环的程序
调试一个有问题的程序
4、嵌入式系统开发基础

嵌入式系统概述
交叉编译
配置TFTP服务
配置NFS服务
下载Bootloader和内核
嵌入式Linux应用软件开发流程
熟悉嵌入式系统概念以及开发流程
建立嵌入式系统开发环境制作cross_gcc工具链
编译并下载U-boot
编译并下载Linux内核
编译并下载Linux应用程序
5、嵌入式系统移植

Linux内核代码
平台相关代码分析
ARM平台介绍
平台移植的关键技术
移植Linux内核到 ARM平台 了解移植的概念
能够移植Linux内核移植Linux2.6内核到 ARM9开发板
6、嵌入式 Linux 下串口通信

串行I/O的基本概念
嵌入式Linux应用软件开发流程
Linux系统的文件和设备
与文件相关的系统调用
配置超级终端和MiniCOM 能够熟悉进行串口通信
熟悉文件I/O 编写串口通信程序
编写多串口通信程序
7、嵌入式系统中多进程程序设计

Linux系统进程概述
嵌入式系统的进程特点
进程操作
守护进程
相关的系统调用了解Linux系统中进程的概念
能够编写多进程程序编写多进程程序
编写一个守护进程程序
sleep系统调用任务管理、同步与通信 Linux任务概述
任务调度
管道
信号
共享内存
任务管理 API 了解Linux系统任务管理机制
熟悉进程间通信的几种方式
熟悉嵌入式Linux中的任务间同步与通信
编写一个简单的管道程序实现文件传输
编写一个使用共享内存的程序
8、嵌入式系统中多线程程序设计

线程的基础知识
多线程编程方法
线程应用中的同步问题了解线程的概念
能够编写简单的多线程程序编写一个多线程程序
9、嵌入式 Linux 网络编程

网络基础知识
嵌入式Linux中TCP/IP网络结构
socket 编程
常用 API函数
分析Ping命令的实现
基本UDP套接口编程
许可证管理
PPP协议
GPRS 了解嵌入式Linux网络体系结构
能够进行嵌入式Linux环境下的socket 编程
熟悉UDP协议、PPP协议
熟悉GPRS 使用socket 编写代理服务器
使用socket 编写路由器
编写许可证服务器
指出TCP和UDP的优缺点
编写一个web服务器
编写一个运行在 ARM平台的网络播放器
10、GUI 程序开发

GUI基础
嵌入式系统GUI类型
编译QT
进行QT开发熟悉嵌入式系统常用的GUI
能够进行QT编程使用QT编写“Hello,World”程序
调试一个加入信号/槽的实例
通过重载QWidget 类方法处理事件
11、Linux 字符设备驱动程序

设备驱动程序基础知识
Linux系统的模块
字符设备驱动分析
fs_operation结构
加载驱动程序了解设备驱动程序的概念
了解Linux字符设备驱动程序结构
能够编写字符设备驱动程序编写Skull驱动
编写键盘驱动
编写I/O驱动
分析一个看门狗驱动程序
对比Linux2.6内核与2.4内核中字符设备驱动的不同
Linux 块设备驱动程序块设备驱动程序工作原理
典型的块设备驱动程序分析
块设备的读写请求队列了解Linux块设备驱动程序结构
能够编写简单的块设备驱动程序比较字符设备与块设备的异同
编写MMC卡驱动程序
分析一个文件系统
对比Linux2.6内核与2.4内核中块设备驱动的不同
12、文件系统

虚拟文件系统
文件系统的建立
ramfs内存文件系统
proc文件系统
devfs 文件系统
MTD技术简介
MTD块设备初始化
MTD块设备的读写操作了解Linux系统的文件系统
了解嵌入式Linux的文件系统
了解MTD技术
能够编写简单的文件系统为 ARM9开发板添加 MTD支持
移植JFFS2文件系统
通过proc文件系统修改操作系统参数
分析romfs 文件系统源代码
创建一个cramfs 文件系统

分类: 嵌入式Linux 标签:

别人初学嵌入式的一点新的,看一下吧【嵌入式很复杂,主要是牵涉的东西多了,编程相关的,还得对硬件了解】

2010年12月8日 没有评论

来自:http://www.demo-board.com

如果非常多人都想做Linux,那么就要对Linux要 比较熟悉。这个熟悉不是说对内核,对代码有多了解,而是至少要会基本的操作,非常难想象让一个连编译程式,编辑文本文件都非常困难的人去弄嵌入式的软件 吧。总之在进入嵌入式这个领域之前要对自己评估一下,看看自己是不是准备好了去学习嵌入式相关的东西。


要舍得花 钱买研发板。公欲善其技,必先利其器。也就是说,理论上可能掌控了非常多,不过不去实践,那只能是纸上谈兵,这样是无法学好嵌入式的。弄个研 发板自己摆弄摆弄,即使什么都不懂,也能按照说明书把厂家给的程式下载到研发板上运行运行,先知其然,然后再通过具体的学习知其所以然,这样能避免学习中 的枯燥。目前市场上研发板的种类繁多,相同CPU的板子价格却相差非常多,令非常多人都不知道怎么选择购买。我的看法是,尽量买大厂的产品。因为在初学阶 段学习资料少是个非常头疼的事,非常多时候都是无从下手,不知道怎么去做,那么随研发板附送的资料就非常重要了。大厂技术比较强,附带的程式都是能在板子 上运行的,例如我买的优龙ST2410这个板子(不是广告啊),光盘上带了一个bootloader,个2.4.18的内核,更有一个cramfs,这些 程式的原始码都是厂家事先做好或修改好的,完全适用于初学者使用。而有些实力不行的小厂家的资料不齐全,我们学习的时候需要自己弄bootloader什 么的,那入门就非常难了。不过大厂的板子都非常贵,大家能根据预算来选择适合自己的研发板,不过无论怎样,在学习上投资都是值得的。


不 要事无巨细的学习,要有明确的目标。我最开始给自己制定的学习计划是:学习arm体系结构 -> 学习arm汇编 -> 自己移植bootloader -> 自己移植kernel -> 做应用,不过不久就被我否决了,因为这个过程实在是太枯燥太痛苦了,在学习资料少,没人指导的情况下根本无法进展。于是我决定使用厂家的代码来“玩”研发 板,自己弄些应用上去。先是完全使用厂家给的bootloader,kernel,cramfs。之后发现cramfs中的一些控制Linux初始化的文 件不符合我的需求,于是修改cramfs,删除了QT,修改了网卡初始的IP地址,安装到板子上能运行了之后就开始尝试做一些应用,比如hello world这样的程式。最后移植了一个mpg123到板子上。完万能在不知道原理的情况下来使用板子的一些功能,等熟悉板子了再回头学习其中的道理,这样 就容易一些。学习嵌入式就是这样,根据问题来选择学习的内容,否则会非常盲目,最后就失去信心了。


要有耐心。 不能否认,在学习一门自己完全不了解的技术是非常烦人的。嵌入式的复杂在于他的交叉性。也就是说为了研究某一个嵌入式的问题,你有可能得学 习非常多其他的知识,比如操作系统,编译,体系结构等等,那么对于这种情况需要我们有足够的耐心。我在交叉编译mpg123的时候前几次无论怎么修改 makefile都无法编译成功,最后我发现我用的arm-linux-gcc是2.9版本的,比较老,于是我换成新的3.4.1版本,就ok了。

分类: 嵌入式Linux 标签: