自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lianyq的嵌入式系统开发学习之旅

实践出真知!--疾风行动

  • 博客(26)
  • 资源 (12)
  • 收藏
  • 关注

原创 tcpdump使用说明

tcpdump -t -e  -i eth0            -a    将网络地址和广播地址转变成名字;   -d    将匹配信息包的代码以人们能够理解的汇编格式给出;   -dd    将匹配信息包的代码以c语言程序段的格式给出;   -ddd    将匹配信息包的代码以十进制的形式给出;   -e    在输出行打印出数据链路层的头部信息;   -f

2011-12-27 09:32:05 512

原创 linux系统读写u-boot环境变量

u-boot将环境变量保存到flash分区中,linux也可以读取设置该flash中的环境变量,可以使用u-boot源码目录下的tool/env中的fw_printenv 、fw_setenv及fw_env.config。此做法要考虑安全性。(考虑env分区是否显示可以被其他命令调用) 部分环境变量被限制修改,可通过更改fw_printenv 的实现代码即可。

2011-12-27 09:11:27 1479

转载 linux内核pktgen用法

pktgen是内核的一个模块,用来发送大量的报文,由于pktgen工作在内核状态下,因此,pktgen可以具有很高的发报效率。在开发测试底层网卡性能时,通常需要使用smartbits等专业测试工具来测试,但smartbits通常都非常昂贵,不是一般小公司或个人可以负担,这时,你可以使用pktgen来做近似的测试。 使用pktgen,首先需要加载pktgen模块,如果你的内核没有把pkt

2011-12-26 14:11:59 8729

原创 u-boot增加对jffs2分区的识别与加载

lyq 2011-10-16记录   mail: [email protected] u-boot源码中的相应开发板配置头文件中增加以下内容 //jffs2 partitions support#define CONFIG_CMD_JFFS2   //增加JFF

2011-10-16 16:58:17 4630

原创 SMP系统linux下的进程绑定指定cpu

小注:SMP系统linux下的进程绑定指定cpu #include#include#include#include#include#define __USE_GNU#include#include#includeint main(int a

2011-09-27 19:43:01 878

转载 文摘

摘自某个论坛,具体的忘记了(以后再补上吧) 到了今天这个环境下,其实无论使用什么样的芯片都可以达到目的。但是为什么至今没有出现所谓的集大成的片子来供所有人使用呢。我想,至少有这样几个原因:一个是需求的多样性;一个是性价比;甚至还应该有技术上的原因。譬如说功耗,

2011-08-08 09:40:43 435

转载 C语言里面的内联函数(inline)与宏定义(#define)探讨

C语言里面的内联函数(inline)与宏定义(#define)探讨 先简明扼要,说下关键:1、内联函数在可读性方面与函数是相同的,而在编译时是将函数直接嵌入调用程序的主体,省去了调用/返回指令,这样在运行时速度更快。2、内联函数可以调试,而宏定义是不可以调试的。

2011-08-08 08:55:23 855

原创 u-boot编译方法

u-boot默认的编译方式将编译过程中产生的文件与源码混合存放,这样看起来比较混乱。可以通过以下两种方式来编译以解决这个问题。 By default the build is performed locally and the objects are savedi

2011-08-06 11:42:15 468

转载 嵌入式Linux下常用的交叉编译方法

嵌入式Linux下常用的交叉编译方法关键字: embedded linux 要在嵌入式Linux下使用动态语言,首先要解决的是语言解释器或执行引擎的交叉编译问题。 交叉编译通常有以下几种途径: 1. 直接通过交叉编译工具,手工配置交叉编译。交叉编译工具可以

2011-08-05 11:02:47 595

原创 diff与patch使用

diff命令常用来比较文件,目录,也可以用来制作补丁文件。所谓“补丁文件”就是“修改后的文件”与“原始文件”的差别。 常用的选项如下:1 “-u” 表示在比较结果中输出上下文中一些相同的行,这有利于人工定位。2 “-r”  表示递归比较各个子目录下的文件。3

2011-08-05 10:59:18 536

原创 buildroot制作交叉编译工具链

buildroot制作powerpc交叉编译工具链   buildroot主页http://buildroot.uclibc.org/链接http://buildroot.uclibc.org/downloads/buildroot-2011.05.tar.gz

2011-08-05 10:54:55 1348

原创 linux的I2C驱动架构分析记录

Lianyiquan2011-7-25I2C驱动框架:总线驱动和设备驱动总线驱动的两个数据结构:i2c_adapter、i2c_algorithm设备驱动的两个数据结构:i2c_driver、i2c_client以上四个数据结构的定义在linux内核根目录下i

2011-08-05 10:42:26 739

原创 linux系统free命令

free是显示的当前内存的使用,-m的意思是M字节来显示内容.[root@localhost ~]# free -hfree: invalid option -- husage: free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay]

2011-08-05 09:59:40 616

原创 crosstool-ng制作交叉编译工具链(powerpc-linux)

2011-08-01lianyiquancrosstool-ng主页http://crosstool-ng.org/crosstool-ng是新的用来建立交叉工具链的工具,它是crosstool的替换者。使用crosstool最多只能编译gcc 4.1.1 g

2011-08-01 17:15:01 7008

原创 shell命令笔记

shell 编程之2>&1作者:NinGoo http://www.ningoo.net/html/2007/shell_scripts_stderr_stdout.html1. 标准输入的控制语法:命令 说明:将文件做为命令的输入。例如:mail -s “mail test” [email protected] 2. 标准输出的控制语法:命令 > 文件说明:将命令的执行结果送至指定的文件中。例如:ls -l > list 将执行“ls -l” 命令的结果写入文件list 中。语法:命令 >! 文件说明:将命令的执行

2011-05-20 16:46:00 576

原创 volatile的作用

<br />例:<br />#define A    (* (volatile unsigned long *)   0x48000000 )<br /><br />    对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的。如果系统结构支持独立的IO地址空间,并且是端口映射,就必须使用汇编语言完成实际对设备的控制,因为C语言并没有提供真正的“端口”的概念。如果是内存映射,那就方便的多了。<br />    举个例子,比如像寄存器A(地址假定为0x48000000)写入数据0x01,那么就可以

2011-04-26 14:25:00 590 1

原创 串口设备驱动层次结构

<br />串口设备驱动层次结构<br /> <br />终端设备层:向上提供统一的接口,使用户不必关心具体的终端类型。<br />行规程    :指数据交换的“规矩”,比如流量控制,对输入的数据进行变换处理等。<br />串口抽象层:将各个串口的共性概括出来,是低层串口驱动的核心部分,比如设置串口类型,串口波特率等。<br />串口芯片层:向串口抽象层提供串口芯片所用的资源,比如访问地址,串口中断号等。对于标准串口,主要移植内容在芯片层。

2011-04-21 11:55:00 704

原创 字符设备驱动程序

<br />字符设备驱动程序<br />1.linux操作系统将所要的设备都看成文件,以操作文件的方式访问设备。应用程序只能通过系统调用函数来调用硬件驱动程序,而不能直接操作硬件。<br />2.系统调用函数在glibc库函数中定义。对于字符设备驱动程序,与系统调用函数对应的函数集合定义在file_operations类型的数据结构中。该结构在linux内核的inlclude/linux/fs.h中定义。<br />3.从某个角度说,编写字符设备驱动程序,就是为具体硬件的file_operations结构编

2011-04-21 10:27:00 431

原创 linux设备驱动的大致流程

linux设备驱动的大致流程:1.查看原理图,数据手册,了解设备的操作方法2.在内核中找到相近的驱动程序,以他为模板进行开发,有时需从零开始3.实现驱动程序的初始化及退出,如向内核注册和注销这个这个驱动程序(module_init(),module_exit())4.设计所要实现的操作,如open,close,read,write等函数5.实现中断服务,并不是每个驱动程序所必须的6.编译该驱动程序到内核,或动态加载到内核(如insmod,modprobe)7.编写代码测试驱动程序

2011-04-21 10:26:00 677

原创 linux进程间通信方式

<br />linux进程间通信方式<br />一、管道<br />无名管道:只能建立具有亲缘关系的进程之间<br />1.用pipe创建的管道两端处于一个进程中,由于管道主要应用于不同进程间通信的,因此在实际应用中没有多大意义。实际上,通常先创建一个管道,然后通过fork函数创建一个子进程,该子进程继承父进程所创建的管道,这样才能通过pipe管道进行通信。<br /> <br />2.用popen建立基于文件流的管道。<br /><br />有名管道:突破亲缘关系进程,可以使两个不相关的进程实现彼此通信。

2011-04-13 11:43:00 1857 1

原创 JFFS

JFFS  Journalling Flash File System(闪存设备日志型文件系统,JFFS)最初是由瑞典的 Axis Communication AB 开发,其目的是作为嵌入式系统免受宕(dang)机和断电危害的文件系统。然而用于NAND设备上JFFS已被JFFS2大量取代。jffs2  JFFS2是JFFS的后继者,由Red Hat重新改写而成。JFFS2的全名为Journalling Flash File System Version 2(闪存日志型文件系统第2版),其功能

2011-04-12 14:18:00 751

原创 YAFFS文件系统简介

YAFFS文件系统简介YAFFS(Yet Another Flash Filing System)是第一个专门为NAND Flash存储器设计的嵌入式文件系统,适用于大容量的存储设备;并且是在GPL(General Public License)协议下发布的,可在其网站免费获得源代码。 YAFFS 是基于日志的文件系统,提供磨损平衡和掉电恢复的健壮性。它还为大容量的Flash 芯片做了很好的调整,针对启动时间和RAM 的使用做了优化。它适用于大容量的存储设备,已经在Linux 和WinCE 商业产品中使用。

2011-04-12 14:13:00 498

原创 cramfs文件系统的特性

cramfs文件系统的特性1 .cramfs的特点CRAMFS文件系统是专门针对闪存设计的只读压缩的文件系统,其容量上限为256M,采用zlib压缩,文件系统类型可以是EXT2或EXT3.在嵌入式的环境之下,内存和外存资源都需要节约使用。如果使用RAMDISK方式来使用文件系统,那么在系统运行之后,首先要把外存(Flash)上的映像文件解压缩到内存中,构造起RAMDISK环境,才可以开始运行程序。但是它也有很致命的弱点。在正常情况下,同样的代码不仅在外存中占据了空间(以压缩后的形式存在),而且还在内存中占用

2011-04-12 13:44:00 677

原创 ubuntu环境下基本开发工具

apt-get install tftp xinetd vsftpd          vim /etc/vsftpd.conf   #write_enable  -->   write_enableapt-get install sambaapt-get install openssh-serverapt-get install nfs-kernel-server portmap

2011-04-12 13:09:00 609

原创 samba服务配置

ubuntu10.04环境下的samba配置:1.apt-get install samba 为系统安装samba2.cp /etc/samba/smb.conf /etc/samba/smb.conf_bak  备份配置文件3.vim /etc/samba/smb.conf 修改配置文件      102    security = user  用户访问      267

2011-03-16 17:49:00 395

转载 堆、栈和静态区

<br />堆(heap):由malloc系列函数分配的内存,其生命周期由free决定。在没有释放之前一直存在,直到程序结束。其特点是使用灵活,空间比较大,但容易出错。<br /> <br />栈(stack):保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。<br /> <br />静态区:保存自动全局变量和static变量(包括static全局和局部变量)。静态区的内容在整个程序的生命周期内都存在,由编译器在编译的时候分配。

2011-03-07 14:52:00 661 2

关于linux移植LCD十分钟关屏的处理方法.rar

linux系统移植,开机十分钟左右,LCD屏幕自动关的处理方法

2011-04-27

windows与linux环境下的代码查看编辑工具.rar

SourceInsight -- Windows kscope -- Linux

2011-03-14

嵌入式Linux应用程序开发详解.rar

嵌入式Linux应用程序开发详解 ------华清远见 第1章 Linux快速入门 第2章 Linux基础命令 第3章 Linux下C编程基础 第4章 嵌入式系统基础 第5章 嵌入式Linux开发环境的搭建 第6章 文件IO编程 第7章 进程控制开发 第8章 进程间通信 第9章 多线程编程 第10章 嵌入式Linux网络编程 第11章 嵌入式Linux设备驱动开发 第12章 Qt图形编程基础

2011-03-09

Linux常用命令-常用函数-核心手册-C一站式学习.rar

Linux常用命令-常用函数-核心手册-C一站式学习

2011-03-08

UNIX环境高级编程

本书全面介绍了UNIX系统的程序设计界面—系统调用界面和标准C库提供的许多函数。 本书的前15章着重于理论知识的阐述,主要内容包括UNIX文件和目录、进程环境、进程控制、进程间通信以及各种I/O。在此基础上,分别按章介绍了多个应用实例,包括如何创建数据库函数库,PostScript 打印机驱动程序,调制解调器拨号器及在伪终端上运行其他程序的程序等。 本书内容丰富权威,概念清晰精辟,一直以来被誉为UNIX编程的“圣经”,对于所有UNIX程序员—无论是初学者还是专家级人士—都是一本无价的参考书籍。

2011-03-08

嵌入式Linux应用开发完全手册第五章-第二十四章.part5.rar

由于上传文件大小限制,压缩为五个包。(硬件编程,Uboot,系统移植,设备驱动开发)

2011-03-07

嵌入式Linux应用开发完全手册第五章-第二十四章.part4.rar

由于上传文件大小限制,压缩为五个包。(硬件编程,Uboot,系统移植,设备驱动开发)

2011-03-07

嵌入式Linux应用开发完全手册第五章-第二十四章.part3.rar

由于上传文件大小限制,压缩为五个包。(硬件编程,Uboot,系统移植,设备驱动开发)

2011-03-07

嵌入式Linux应用开发完全手册第五章-第二十四章.part2.rar

由于上传文件大小限制,压缩为五个包。(硬件编程,Uboot,系统移植,设备驱动开发)

2011-03-07

嵌入式Linux应用开发完全手册第五章-第二十四章.part1.rar

由于上传文件大小限制,压缩为五个包。(硬件编程,Uboot,系统移植,设备驱动开发)

2011-03-07

《嵌入式Linux应用开发完全手册》韦东山第25-27章

嵌入式Linux系统应用开发篇 (GUI及调试相关)

2011-03-07

空空如也

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

TA关注的人

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