Linux
MEIC51
FPGA,mcu,arm7/9开发狂热者,同时愿意与所有爱好电子的朋友一起分析技术难点的快乐。本人擅长多种标准总线通信协议及其各种编解码算法,FPGA内部电路架构设计,windows 下文本文件数据处理,能够熟练运用多种单片机...
人生的愿望是希望不久的将来有属于自己的嵌入式操作系统。
展开
-
Linux shell 处理文件路径文件名和后缀截取(basename和dirname无法满足的操作)
1. 获取文件名(带后缀):basenameFile=/dir1/dir2/dir3/a.b.c.txtbasename $File结果为:a.b.c.txt2. 获取文件名(不带后缀):basenameFile=/dir1/dir2/dir3/a.b.c.txtecho $(basename $File .txt)结果为:a.b.c3. 获取路径(不包含文件名):dirnameFile=/dir1/dir2/dir3/a.b.c.txtdirname $File结果为:/dir1/dir2/dir34.原创 2022-07-06 10:33:40 · 2229 阅读 · 1 评论 -
"Waiting for sound system to respond" problem, Ubuntu 10.04
When you have Ubuntu 10.04, and you login as root, you cannot change the sound volume or settings with the sound applet in the gnome-panel.The solution:Go to System->Preferences -> Startup App原创 2013-08-30 20:58:36 · 1394 阅读 · 0 评论 -
linux XXX.tar.xz file
Using command line like following: $xz -d ***.tar.xz $tar -xvf ***.tar Thanks!原创 2013-08-30 00:56:47 · 761 阅读 · 0 评论 -
C语言中定义变量“#X”,"X##", "##X" 和“##X##”用意
关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏:1. #使用#define WARN_IF(EXP) / do{ if (EXP) / fprintf(stderr, "Warning: " #EXP "/n"); } / wh原创 2013-08-29 20:49:59 · 1824 阅读 · 0 评论 -
Linux常用的几种文件压缩解压方法
.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)---------------------------------------------.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName原创 2013-05-15 15:26:15 · 864 阅读 · 0 评论 -
How to create svn database on the ubuntu
1. install softwareapt-gat install subversionapt-get install libapache2-svn 2. start subversion servicesvnserve -d 3. check serviceps aux | grep svnserveshow following message:wkr原创 2013-05-20 16:53:14 · 845 阅读 · 0 评论 -
update linux user or root password
1.using command $passwd root$Enter new UNIX password:$Retype new UNIX password:passwd: pasword updated successfully原创 2013-05-21 16:22:35 · 1100 阅读 · 0 评论 -
Delete '.svn' directory on the linux
Linux Solution 1:find . -type d -name ".svn"|xargs rm -rf Linux Solution 2:find . -type d -iname ".svn" -exec rm -rf {} \; Windows Solution 1:for /r . %%a in (.) do @if exist "%%a\.svn"原创 2013-05-21 11:07:30 · 860 阅读 · 0 评论 -
how to read directory name using std c in the linux
#include #include #include #include #include #define err_quit printf#define err_sys printf#define TRUE 1#define FALSE 0#define EXIT_FAILE 0#define EXIT_SUCESS 1#define原创 2013-05-20 15:50:11 · 872 阅读 · 0 评论 -
tar:Exiting with failure status due to previous errors
linux tar.bz2文件的解压时遇到的错误。网上搜了一下基本上按照以下几步解决就应该没问题了。1.检查是否在当前目录下,如果不是,切换为当前目录。2.第一项,没问题的话,切换为root权限(sudo)。3.root权限还是不行的话,ls -ld . 若出现以下内容drwxr-xr-x 3 root root 4096则修改文件夹的权限:chmod 777 .原创 2013-04-27 16:50:40 · 1632 阅读 · 0 评论 -
Ubuntu 当前系统资源查看命令TOP详解
linux真是太强大了。查看ubuntu的资源占用的命令为$: toptop命令就可以查看内存,cpu和进程了,很方便top:主要参数d:指定更新的间隔,以秒计算。q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。c:显示进程完整的路径与名称。S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。s:安全模式。i原创 2013-08-31 15:11:44 · 3303 阅读 · 0 评论 -
ubuntu install ffmpeg to make and not found 'ffplay' exe issue
ffmpeg 是很强大的编解码库,可以编解码视频和音频。通俗的说是可以做播放器。我的是Ubuntu Linux 11.04(我觉得Linux版本没有什么关系,只不过是SDL库对ffplay的生成很重要)下面是安装步骤:我们从官方下载 FFmpeg 0.8.7 "Love"版本: http://ffmpeg.org/releases/ffmpeg-0.8.7.tar.gz(其他低于这原创 2013-08-30 16:27:56 · 1163 阅读 · 0 评论 -
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存参考:《linux编程从入门到精通》,《Linux C程序设计大全》,《unix环境高级编程》说明:本文非常的长,也是为了便于查找和比较,所以放在一起了Linux 传统的进程间通信有很多,如各类管道、消息队列、内存共享、信号量等等。但它们都无法介于内核态与用户态使用,原因如表原创 2013-09-18 21:14:37 · 1714 阅读 · 0 评论 -
SD/MMC CSD寄存器 V1.0和V2.0详解(如何读写SD/MMC卡)
1.如何计算V1.0 SD卡容量计算C_SIZE:C_SIZE = (csd[8] >> 6) + ((uint16_t)csd[7] 计算 C_SIZE_MULT:C_SIZE_MULT = ((csd[10] & 128) >> 7) + ((csd[9] & 3) 计算READ_BL_LEN:READ_BL_LEN = csd[5] & 15;原创 2016-01-15 10:50:39 · 6614 阅读 · 0 评论 -
视频参数(流媒体系统,封装格式,视频编码,音频编码,播放器)对比
发现了几个视频参数对比的资源,是Wikipedia上的,总结的非常好:流媒体系统对比:http://en.wikipedia.org/wiki/Comparison_of_streaming_media_systems封装格式对比:http://en.wikipedia.org/wiki/Comparison_of_container_formats视频编码器对比:转载 2014-03-07 21:31:17 · 825 阅读 · 0 评论 -
解决Ubuntu设置静态IP地址后重启不能上网的问题
在搭建Hadoop环境的时候,发现在ubuntu设置静态IP地址后,上不了网;直到看了这篇文章(参照文章出处,请点击)才解决该问题。文章中也提到,如果是在/etc/resolv.conf添加DNS,由于Ubuntu 有一个 resolvconf 服务,如果重启它,那么 /etc/resolv.conf 的内容会被修改成默认的样子,文件里也有提示文字:“DO NOT EDIT THIS FI原创 2013-12-14 17:03:57 · 17896 阅读 · 0 评论 -
VMWare克隆后Ubuntu的"No such device eth0"错误
环境:VMWare 6.5,Ubuntu 8.10 Server 在本地为Ubuntu创建VMWare的虚拟机后,复制,创建一个新的克隆镜像,启动,网卡无效,显示错误”eth0: ERROR while getting interface flags: No such device”。原因 新克隆的虚拟机镜像的网卡mac地址已经变更。打开虚拟机的.vmx文件,ethernet0.g转载 2013-12-14 20:26:04 · 987 阅读 · 0 评论 -
SVN如何管理多项目
SVN独立运行时的权限配置 完成SVN的快速配置后,版本库之间的权限变成了一个重要的问题!如果没有定义版本库的权 限,每个有权限的人都可以修改版本库,很容易造成混乱。 假设: A项目: A1 实际在用的版本库 A2 开发使用的版本库 B项目: B1 实际在用的版本库 B2 开发使用的版本库转载 2013-12-12 16:24:01 · 7105 阅读 · 0 评论 -
Ubuntu 12.04 64bit /sbin/insserv: No such file or directory
# chkconfig -s ssh on/sbin/insserv: No such file or directoryFix is simple, just to add symlink:# ln -s /usr/lib/insserv/insserv /sbin/insserv原创 2013-12-12 20:11:50 · 1511 阅读 · 0 评论 -
install openwrt system on the ubuntu
Please do not use root to build this system.Step 1: mkdir openwrtStep 2: cd openwrtStep 3: svn co svn://svn.openwrt.org/openwrt/trunkStep 4: run script to update all the latest pakage on syste原创 2013-11-06 11:30:18 · 1219 阅读 · 0 评论 -
SVN Showlog no any logs issues
此问题主要出现在svnserve.conf文件中的anon-access访问权限的设置问题上。使用SVN客户端SHOW LOG时,会出现如下界面解决办法:1.找到你SVN版本库下conf文件夹下的svnserve.conf文件2.打开svnserve.conf文件,将其中名为anon-access的一项设置为 anon-access = none。这样的话,日志文件即可显示正常原创 2013-09-22 16:14:16 · 981 阅读 · 0 评论 -
C语言获取系统时间的几种方式
核心提示:C语言中如何获取时间?精度如何?1使用time_ttime(time_t*timer)精确到秒2使用clock_tclock()得到的是CPU时间精确到1/CLOCKS_PER_SEC秒3计算时间差使用doubledifftime(...C语言中如何获取时间?精度如何?1 使用time_t time( time_t * timer ) 精确到秒2 使用clock_t cloc原创 2013-04-22 17:11:35 · 1065 阅读 · 0 评论 -
install Android development environment in the Ubuntu
1. install JDK(jdk-7u17-linux-i586.tar.gz)(http://www.oracle.com/technetwork/java/javase/downloads/index.html) mkdir /usr/lib/jdk cd /usr/lib/jdk tar -xzvf ~/Downloads/an原创 2013-03-22 11:52:41 · 796 阅读 · 0 评论 -
Example : Linux kernal file read and write
// For Example : using filp_open save a log file to linux file system(or vm file system)/* "O_APPEND" : auto add information to the file last pos. "get_fs()" : Get the old file permiss原创 2012-08-16 14:42:42 · 1114 阅读 · 0 评论 -
how to install gcc for linux(copy gcc website)
Installing GCCThis page is intended to offer guidance to avoid some common problems when installing GCC, the official installation docs are in theInstalling GCC section of the main GCC documentati原创 2012-07-15 23:50:56 · 2119 阅读 · 0 评论 -
Linux 批量字符串替换命令(sed, perl )与vi文本下字符替换命令
1. perl 命令例1 执行命令:perl -p -i -e "s/China/Sumly/g" /www/*.htm /www/*.txt上面的意思是说将www文件夹下所有的htm和txt文件中的“China”都替换为“Sumly”例2 执行命令:perl -p -i -e "s/mry_production/mry_production2/g" ./*.sql原创 2012-08-10 09:26:47 · 2919 阅读 · 0 评论 -
fedora install rar and unrar(install free and non-free stable)
Refer the following information:1. you must install the rpmfusion free/not-free stable #rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm#rpm -Uvh ht原创 2012-07-18 03:14:02 · 832 阅读 · 0 评论 -
如何搭建ARM Cortex gcc环境 for Fredora 系统
参考Ubuntu搭建ARM Cortex gcc环境。link as following wbsite:http://fun-tech.se/stm32/gcc/index.php以下是详细说明:1. go to root [jason@localhost]$su -password: " enter you pass word here"[root@loc原创 2012-07-15 20:34:16 · 1195 阅读 · 0 评论 -
Linux-Makefile(how to convert .out file to make .bin .elf, .hex file format)
1. convert to bin file:CP = arm-none-eabi-objcopyCPFLAGS = -Obinary$(CP) $(CPFLAGS) main.out main.bin2. convert to elf and hex file:CP = arm-none-eabi-objcopyCPFLAGS原创 2012-07-16 15:27:35 · 1495 阅读 · 0 评论 -
Aria2 下载工具安装和使用(ubuntu,fredora)
1. 安装 aria2aria2 目前已被包含到许多 Linux 发行版中,因此你可以通过所用的系统直接加以安装。例如,在 Debian/Ubuntu 中,你可以在终端执行如下指令来安装 aria2:Ubuntu install :sudo apt-get install aria2Fredora install command:yum install aria2原创 2012-07-16 00:20:19 · 18049 阅读 · 0 评论 -
arm-linux-gcc 和 arm-elf-gcc 区别
arm-linux-gcc是针对arm + linux的开发环境的,kernel使用的是linux,不是uclinux,arm是有硬件MMU的。arm-elf-gcc是针对no MMU arm + uclinux的开发环境,kernel使用的是uclinux,硬件是廉价的无MMU的arm芯片。原创 2012-07-15 14:05:13 · 820 阅读 · 0 评论 -
Linux-Makefile(makefile 中的 wildcard 与 patsubst 函数)
makefile 里的函数跟它的变量很相似——使用的时候,你用一个 $ 符号跟开括号,函数名,空格后跟一列由逗号分隔的参数,最后用关括号结束。例如,在 GNU Make 里有一个叫 'wildcard' 的函 数,它有一个参数,功能是展开成一列所有符合由其参数描述的文件名,文件间以空格间隔。你可以像下面所示使用这个命令: SOURCES = $(wildcard原创 2012-06-28 16:59:23 · 3467 阅读 · 0 评论 -
shell进程前后台转换
进程前台与后台转换需要用到以下几个命令:转自:http://blog.sina.com.cn/s/blog_5208a7520100qchm.html1. &我们最常用到的就是这个命令了. 用法就是放在一个命令的最后, 可以把这个命令放到后台去执行. 大概用法如下:$ tail -f log/* &[1] 21867# 这里 [1] 代表它是后台运行的一个 job转载 2012-08-22 15:56:29 · 626 阅读 · 0 评论 -
how to config the tftpd-hpa server in the ubuntu using for remote tftp client '-p' and '-r' command
1. sudo apt-get install tftpd-hpa2. vim etc/default/tftpd-hpaTFTP_USERNAME="tftp"#TFTP_DIRECTORY="/var/lib/tftpboot"#TFTP_DIRECTORY="/root/rt5350/RT288x_SDK/source/images"TFTP_DIRECTORY="/ro原创 2013-04-03 17:05:04 · 1401 阅读 · 0 评论 -
Ubuntu应用程序创建桌面快捷方式
一、第一种方式1. 安装必要软件 gnome-panel sudo apt-get install --no-install-recommends gnome-panel sudo apt-get install --no-install-recommends gnome-panel2. 开始创建桌面快捷方式在terminal 中输入如下命令:gno原创 2013-03-15 13:54:08 · 757 阅读 · 0 评论 -
如何在Ubuntu下搭建android开发环境
1、安装JDK 首先到oracle的官网上下载linux版本的JDK(网址为:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html),这里选择 Linux x86 - Self Extracting Installer。直接运行安装,先把这个文件cp到你的安装目原创 2013-03-13 11:44:38 · 1002 阅读 · 0 评论 -
Ubuntu 安装 JDK
首先,从http://java.sun.com中下载jdk,我的版本是jdk1.6.0_12,我下载的是bin文件,我将下载的jdk1.6.0_12.bin文件置于/usr/lib/jvm/java中然后,在shell中执行:代码:sudo chmod u+x /usr/lib/jvm/java/jdk1.6.0_12.bin修改bin文件权限,使其可执行然后,执行原创 2013-03-13 13:27:47 · 515 阅读 · 0 评论 -
Linux MTD 介绍
1. /dev/mtdN 是Linux 中的MTD架构中,系统自己实现的mtd分区所对应的字符设备,其里面添加了一些ioctl,支持很多命令,如MEMGETINFO,MEMERASE等。而mtd-util中的flash_eraseall等工具,就是以这些ioctl为基础而实现的工具,实现一些关于Flash的操作。比如,mtd 工具中的 flash_eraseall中的:其中,MEMGETI原创 2012-11-02 14:03:50 · 2066 阅读 · 0 评论 -
linux stdio 关闭回显
#include #include #include #include #include #include int getPasswd(char *passwd) { struct termio tbuf_old,tbuf; ioctl(0, TCGETA,原创 2012-09-21 10:27:49 · 2072 阅读 · 0 评论 -
GCC 参数介绍
============================大多数程序和库在编译时默认的优化级别是"2"(使用gcc选项:"-O2")并且在Intel/AMD平台上默认按照i386处理器来编译。如果你只想让编译出来的程序运行在特定的平台上,就需要执行更高级的编译器优化选项,以产生只能运行于特定平台的代码。一种方法是修改每个源码包中的Makefile文件,在其中寻找CFLAGS和CXXF原创 2012-09-11 09:18:48 · 962 阅读 · 0 评论