自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (4)
  • 收藏
  • 关注

原创 linux USB 转串口

1. 内核配置Device Drivers  --->      [*] USB support  --->            USB Serial Converter support  ---> USB Serial Converter support    USB Prolific 2303 Single Port Serial Driver 2. 编译内核,嵌入式板子加载内核,进入内核后,#ls /dev/ttyUSB0如果没有上述节点,手动创建#mknod /dev/ttyUSB0 c 188

2010-08-31 11:10:00 1228

原创 linux 下批量重命名文件

批量重命名文件有两种方法:以将某目录下所有的.c文件重命名成.cpp文件1。 for i in *.c;do mv "$i" "${i%.c}.cpp" ;done2。 find . -name "*.c" |xargs -i mv {} {}pp

2010-08-25 10:20:00 930

原创 linux 访问windows共享文件夹

<br />首先,在windows下新建共享目录share<br /> <br />其次,在linux端敲入如下命令:<br /> <br />mount   -t   smbfs   -o   username=Administrator,password=****   //IP/share   /mnt/share/<br /> <br />注意:<br />username 是指windows登陆的用户名<br />password 是指windows登陆的密码

2010-08-24 11:16:00 870

转载 bash 内部命令

<br />在调试板子的时候,发现在PATH对应的路径中没有alias这个命令,但是居然可以用,<br /> <br />查阅资料后,终于明白shell是如何执行命令解释了。<br /> <br />首先shell判断用户输入的命令是否是内部命令<br /> <br />*是内部命令,直接执行<br />*不是内部命令,在PATH对应的目录中搜索对应的单独的程序,存在执行,不存在报错<br /> <br />linux的命令可以分为内部命令和外部命令。<br />内部命令在系统启动时就调入内存,是常驻内存的

2010-08-19 15:37:00 6797

原创 microwin中增加控制宏

<br />在实际嵌入式开发过程中,可能需要新增一些自定义的控制宏,microwindows中加入控制宏的步骤如下:<br /> <br />1. src目录下config<br />ST_AUTO_FACTORY_SUPPORT = N <br />或<br />ST_AUTO_FACTORY_SUPPORT = Y<br /> <br />2.   src目录下Makefile.rules<br />ifeq ($(ST_AUTO_FACTORY_SUPPORT),Y)<br />DEFINES +=

2010-07-13 14:28:00 697

原创 unaligned userspace access 错误

<br />在调试ST平台代码的时候,运行程序到最后总是程序崩溃,总是提示:<br />unaligned userspace access 错误<br /> <br />结果修改一下makefile中的编译选项,加入:<br />-g -O2 -Wno-deprecated<br /> <br />再次运行就正常了,估计这种错误与编译优化有关系<br /> 

2010-06-24 12:28:00 2428 2

转载 linux 线程学习之条件变量

互斥锁:用来上锁。条件变量:用来等待,当条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。 函数介绍: 1.名称:pthread_cond_init目标: 条件变量初始化头文件:#include 函数原形:int

2009-08-06 10:33:00 13694 3

转载 kmalloc vmalloc

 kmalloc()   用于申请较小的、连续的物理内存       1. 以字节为单位进行分配,在中       2. void *kmalloc(size_t size, int flags) 分配的内存物理地址上连续,虚拟地址上自然连续       3. gfp_mask标志:什么时候使用哪种标志?如下:              ----------------

2009-07-23 15:29:00 1032

转载 linux OOM 机制

Linux 有一个保护机制,OOM Killer ,用于避免 Linux 在内存不足的时候不至于出太严重的问题,把无关紧要的进程杀掉,有些壮士断腕的意思。 在 32 位CPU 架构下寻址是有限制的。Linux 内核定义了三个区域:# DMA: 0x00000000 - 0x00999999 (0 - 16 <acronym title="Megabyte">MB) # LowMe

2009-07-23 13:41:00 4540

转载 linux 线程学习(二)属性设置

属性分类---------------------------------------------pthread_create函数的第二个参数,是关于线程属性的设置。属性主要包括邦定属性、分离属性、堆栈地址、堆栈大小、优先级。其中系统默认的是非邦定、非分离、缺省1M的堆栈、与父进程同样级别的优先级。在pthread_create中,把第二个参数设置为NULL的话,将采用默认的属性配置。

2009-07-14 10:17:00 722

转载 linux 线程学习(一)

线程与进程的区别-----------------------------------------------------1.节俭:在Linux系统下,启动新的进程,必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段。运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼

2009-07-14 09:40:00 1052

转载 linux 日志编程(总结)

日志主要涉及3个函数,分别是openlog、syslog和closelog函数。表8.4所示为这3个函数的具体信息。 openlog、syslog和closelog函数 头文件函数形式void openlog(const char *ident, int option, int facility);void syslog(in

2009-07-13 11:34:00 4843

原创 linux 进程学习(二)

Linux进程的创建 #include #include pid_t fork(); fork函数在Linux下产生新的进程的系统调用,这个函数名是英文中“分叉”的意思父进程和子进程的关系是管理和被管理的关系,当父进程终止时,子进程也随之而终止。但子进程终止时,父进程并不一定终止--------------------------------------------

2009-07-10 18:55:00 666

原创 linux 进程学习(一)

进程的概念 进程是一个具有独立功能的程序关于某个数据集合的一次可以并发执行的运行活动,是处于活动状态的计算机程序。进程作为构成系统的基本细胞,不仅是系统内部独立运行的实体,而且是独立竞争资源的基本实体。---------------------------------------------------------------------------------------------

2009-07-10 18:47:00 638

转载 网卡如何接收数据包[转]

网线可以看作一个高速公路,物理帧也就是辆汽车,网卡呢?或许是个加油站吧。从这个角度将,汽车和加油站没有绝对的对应关系,所有的汽车都可以进入该加油站。 正常情况:网线上的物理帧首先被网卡芯片获取,网卡芯片会检查物理帧的CRC,保证完整性。其次,网卡芯片将物理帧头去掉,得到MAC包。网卡芯片检查MAC包内的目的MAC地址信息,和本网卡的M

2009-07-10 11:49:00 740

原创 TCP/IP 之数据包发送封装流程

传输层 ------------------------------ TCP  UDP--------------------------该层的数据由应用进程产生,加上TCP包头或者UDP包头,传递给网络层 网络层 -------------------------------IP    ICMP(ping应用)  IGMP-----该层的数据会被加上IP包头(20字节),成为IP数据包,

2009-07-10 11:30:00 2686

转载 linux connect 设置连接超时

原来我们实现connect()超时基本上都使用unix网络编程一书的非阻塞方式(connect_nonb),今天在网上看到一篇文章,觉得很有意思,转载如下:读Linux内核源码的时候偶然发现其connect的超时参数竟然和用SO_SNDTIMO操作的参数一致:  File: net/ipv4/af_inet.c    559       timeo = so

2009-07-07 14:19:00 10293 3

原创 linux 获取ip地址 MAC地址 netMask地址

linux下获取指定网络的ip地址与netmask的接口:int get_ip(char* ipaddr,char *netmask, const char *ethname ){    int ret=-1;    if ( ipaddr && netmask && ethname )    {          int fd, intrface;          struct ifreq

2009-06-30 09:55:00 2663

原创 linux 获取磁盘总空间的简单方法

在嵌入式linux系统中获取磁盘总空间的方法,一般会仿照busybox的做法,使用函数:setmntent 与 getmntent、endmntent下面我向大家介绍一种直接读取/proc/下文件,直接获得磁盘总空间大小的方法:static double get_disk_totoal_size(){ #define DISK_SECTOR_FILE "/proc/ide/hda/ca

2009-06-29 16:42:00 1742

原创 linux 下实现文件与目录删除

在linux下,删除文件或者目录,大家首先想到的一定是命令:rm -rf   ***的确,该命令用起来方便简单,但是在实际情况下,会遇到一些包含有特殊字符的路径这样,rm 命令就会执行失败,所以,自己重新写了两个函数,不足之处,请大家畅所欲言! //判断字符串最后一个字符是否是cTargetbool IsLastChar( const char *pszSour,char cTar

2009-06-26 16:14:00 639 1

原创 嵌入式Mips平台YAMON烧写flash

1.打开tftp:tftpd32.exe(用来传输烧写的文件)2.打开串口3.启动目标板,一直按ESC键或者0,使之进入yamon命令行下YAMON> 4、在yamon命令行下初始化网络配置。YAMON> net init                        (查看网络设置)Ethernet driver for EM86XX (v1.0)(MAC 00:16:e8:ee:d

2009-06-25 11:55:00 2687

sniff 编程原理(附代码)

Visual C++ 网络通信编程 sniff 编程原理

2008-11-03

轻松了解C语言回调函数

让你轻松的了解C语言回调函数!看起来很轻松哦!

2008-10-28

TCP 数据粘连分析及解决文档

TCP协议会存在数据包的粘连,本文有详细介绍哦

2008-06-30

软件概要设计模板

软件概要设计模板,内容比较全哦!

2008-06-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除