自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (13)
  • 收藏
  • 关注

转载 "\r" 和 "\n"

'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。下面转一篇文章。 回车和换行 今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一

2014-03-27 16:11:04 1016

转载 对I2C总线时序的一点理解以及ACK和NACK(NAK)

关于i2c的响应问题:对于每一个接收设备(从设备,slaver),当它被寻址后,都要求在接收到每一个字节后产生一个响应。因此,the master device 必须产生一个额外的时钟脉冲(第九个脉冲)用以和这个响应位相关联。在这个脉冲期间,发出响应的从设备必须将SDA拉低并在时钟脉冲的高电平期间保持住。这表示该设备给出了一个ACK。如果它不拉低SDA线,就表示不响应(NACK)。

2013-12-10 13:59:16 988

转载 开漏(open drain)和开集(open collector)

基础知识:开漏(open drain)和开集(open collector)发布时间:2011-05-05 15:22:52技术类别:模拟技术  在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。 所谓开漏电路概念中提到的“漏”就是指MOS FET的漏极。同理,开集电路中

2013-12-07 15:50:49 931

转载 UBIFS 烧写方法

正题,关于UBIFS的介绍在此就不多说,详见:http://www.linux-mtd.infradead.org/faq/ubifs.htmlhttp://www.linux-mtd.infradead.org/faq/ubi.html1. UBIFS文件系统镜像的制作过程1.1 所需的工具制作UBIFS镜像所需的工具有mkfs.ubifs和ubinize,可以通过以下方式获

2013-12-06 10:45:02 801

转载 shell 去掉^M

shell调试 去掉^Mshell脚本在Windows中打开过,拷到Linux下执行老是出错。bash$ ./startqftest.sh bash: ./startqftest.sh: /bin/bash^M: bad interpreter: No such file or directorybash$ bash startqftest.sh : command not

2013-11-15 11:28:29 9552

转载 内核抢占和低延迟

2.8.3 内核抢占和低延迟相关工作(2)如果可以抢占,则需要执行下列步骤:kernel/sched.c   do {          add_preempt_count(PREEMPT_ACTIVE);           schedule();            sub_preempt_count(PREEMPT_ACTIVE);          /*          * 再

2013-11-12 11:29:58 2689 1

内核抢占和低

2.8.3 内核抢占和低延迟相关工作(2)如果可以抢占,则需要执行下列步骤:kernel/sched.c   do {          add_preempt_count(PREEMPT_ACTIVE);           schedule();            sub_preempt_count(PREEMPT_ACTIVE);          /*          * 再

2013-11-12 11:28:58 293

原创 datasheet 中 assert 和 deassertion 含义

assert: set a signal to its “active” statedeassertion: set a signal to its “inactive” stateIf a signal is active-low, “asserting” it means setting it low and “deasserting” it means setting it high

2013-11-12 10:37:22 4125

转载 Curl errno

curl_errno错误码说明错误代码列表CURLE_UNSUPPORTED_PROTOCOL (1) – 您传送给 libcurl 的网址使用了此 libcurl 不支持的协议。 可能是您没有使用的编译时选项造成了这种情况(可能是协议字符串拼写有误,或没有指定协议 libcurl 代码)。CURLE_FAILED_INIT (2) – 非常早期的初始化代码失败。 可能是内部错误或

2013-10-25 14:04:22 1627

转载 jffs2 启动的常见的问题

Q:在启动过程中出现at91sam user.warn kernel: Empty flash at 0x00f0fffc ends at 0x00f10000问题A:在mkfs.jffs2的时候,加上-e 0x20000指定擦除块的大小。-e是指定擦除块的大小,我们使用的nandflash的块大小为128K字节,因此-e后的参数为(128*1024)10=(20000)16。 Q:启

2013-09-18 16:39:05 5142

转载 I cannot mount JFFS2 and see "Magic bitmask 0x1985 not found" messages

http://www.linux-mtd.infradead.org/faq/jffs2.htmlI cannot mount JFFS2 and see "Magic bitmask 0x1985 not found" messagesIf you cannot mount your JFFS2 file system and you see many messages like

2013-09-18 10:19:26 1678

转载 linux nand bbt 坏块管理部分

闲来无事,追踪了下linux内核中对nand的坏块管理代码。大致记录一下。内核中对nand的坏块管理是在nand的驱动中实现的,一般情况下,我们在实现nand控制器的驱动时不用考虑坏块的管理,这些机制已经在nand驱动的通用框架中实现了,我们要做的就是在nand驱动的框架上对接上nand控制器私有的操作与参数就可以了,例如读写函数以及nand控制器支持的ecc布局等。当然,这里主要是分析坏块管

2013-09-17 11:47:48 2356 1

转载 platfrom的probe的详解

probe()函数是什么时候被调用,设备和驱动是怎么联系起来的平台设备的注册platform_add_devices(ldd6410_devices, ARRAY_SIZE(ldd6410_devices));  //这是bsp中添加所有的设备--> platform_device_register(devs[i]);//注册平台设备--->platform_device_

2013-08-28 15:34:48 630

原创 从可执行命令 确定 RPM软件包

rpm -qf /sbin/ifconfig net-tools-1.60-110.el6_2.i686确定出ifconfig 来自net-tools-1.60 软件包中。

2013-07-11 14:37:25 470

原创 ttyS 和 ttyO 的区别

UBoot 的内核启动参数一般是 noinitrd root=/dev/mtdblock4 rootfstype=jffs2 rw console=ttySAC0,115200 init=/linuxrc mem=64M关键是在console=ttySAC0,115200上,如果ttySAC0弄错了,或者波特率不对就会出问题。不同的CPU的console有可能不一样,比如:有的可能

2013-06-26 11:57:53 4085

原创 操作串口时,出现Input/output error

"Input/output error" from setserial, stty, pppd, etc.This means that communication with the serial port isn't working right. 1. It could mean that there isn't any serial port at the IO address tha

2013-06-25 21:26:56 13871

转载 C++前置说明的理解

刚开始学习c++的人都会遇到这样的问题:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样:一编译,就出现了一个互包含的问题了,这时就有人跳出来说,这个问题的解决办法可以这样,在a.h文件中声明类B,然后使用B的指针。然后,问题就解决了。但是,有人知道问题是为什么就被解决的吗,也就是说,

2013-06-20 11:18:33 754

转载 驱动之module_init/module_exit

在前面helloworld的编写里面,我们使用了两个宏分别是module_init和module_exit,这里分析下为什么使用这两个宏。在写模块的时候有两个特殊的函数,分别是init_module和cleanup_module,这两个函数分别在insmod的时候和rmmod的时候调用,并且insmod和rmmod只识别这两个特殊的函数,可是我们前面的例子里面并没有这两个函数。怎么会这样呢,那

2013-06-17 09:50:02 3638

转载 GPIO 模拟 i2c

原来新的kernel中已经提供了一种通过两个gpio口调用i2c-core的机制,而且还能在这两个gpio口挂载多个设备,用起来就像真的i2c总线一样。所以以后我们都应该用kernel中的这种机制!毕竟自己写的模拟代码不是很可靠的,而且不方便挂载多个设备(当然,你可以通过复杂的逻辑和方法去实现,但是这不值得,除非你是本着学习的目的)不过这个自己写的gpio模拟i2c的代码通过对gpio的不停的

2013-06-14 10:30:48 729

转载 GPIO 模拟 I2C

nmi_gpio_i2c.h int nmi_i2c_init(void); void nmi_i2c_deinit(void); int nmi_i2c_read(unsigned char, unsigned char *, unsigned long); int nmi_i2c_write(uns

2013-06-14 10:22:30 1469

转载 简单的I2C协议理解

一. 技术性能:    工作速率有100K和400K两种;    支持多机通讯;    支持多主控模块,但同一时刻只允许有一个主控;          由数据线SDA和时钟SCL构成的串行总线;    每个电路和模块都有唯一的地址;                        每个器件可以使用独立电源二. 基本工作原理:    以启动信号START来掌管总线,

2013-06-14 09:59:25 857

转载 简单的I2C协议理解

简单的I2C协议理解一. 技术性能:    工作速率有100K和400K两种;    支持多机通讯;    支持多主控模块,但同一时刻只允许有一个主控;          由数据线SDA和时钟SCL构成的串行总线;    每个电路和模块都有唯一的地址;                        每个器件可以使用独立电源二. 基本工作原理:

2013-06-14 09:56:25 83

转载 /dev/mem

/dev/mem是物理内存的全映像,可以用来访问物理内存,一般用法是open("/dev/mem",O_RDWR|O_SYNC),然后mmap,接着就可以用mmap的地址来访问物理内存,这实际上就是实现用户空间驱动的一种方法。有几个论据倾向于用户空间编程,有时编写一个所谓的用户空间设备驱动对比钻研内核是一个明智的选择,用户空间驱动的好处在于:[html] view plainc

2013-03-29 17:26:22 14877

转载 函数fopen

函数fopen函数简介函数功能:打开一个文件函数原型:FILE * fopen(const char * path,const char * mode);相关函数:open,fclose,fopen_s[1],_wfopen所需库:stdio.h>返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。一

2013-03-21 15:44:07 647

转载 解开 JFFS2 文件系统镜像

解开 JFFS2 文件系统镜像在 mtd-utils 里边有 mkfs.jffs2 和 jffs2dump. 那个 mkfs.jffs2 用来把一堆输入文件打成一个 JFFS2 文件系统的镜像文件, jffs2dump 可以显示一个镜像文件里边各个文件的各个 inode 的信息. --- 但是没有一个程序可以直接把镜像文件解开, 把里边的文件提取出来.可以先把镜像文件挂载到一个目录上,

2013-02-04 10:13:01 2018

转载 Linux下动态共享库加载时的搜索路径详解

对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似“error while loading shared libraries”这样的错误,这是典型的因为需要的动态库不在动态链接器ld.so的搜索路径设置当中导致的。具体说来,动态链接器ld.so按照下面的顺序来搜索需要的动态共享库: 1.ELF可执行文件中动态段中DT_RPATH所指定的路径。这实际上是通过一种不算很常用,却比较实用的

2013-01-29 15:37:12 553

转载 函数指针的强制转换用法

现单列复位部分如下: main() { unsigned char code rst[]={0xe4,0xc0,0xe0,0xc0,0xe0,0x32}; // 复位代码 (*((void (*)())(rst)))(); // 执行上一行代码,将rst数组当函数调用 } 本来我告诉他嵌入如下代码: clr a push acc

2012-11-20 10:05:09 775

转载 U-boot 启动内核过程

U-Boot的命令为用户提供了交互功能,并且已经实现了几十个常用的命令。如果开发板需要很特殊的操作,可以添加新的U-Boot命令。U-Boot的每一个命令都是通过U_Boot_CMD宏定义的。这个宏在头文件中定义#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \cmd_tbl_t __u_boot_cmd_##name Struct_

2012-09-10 15:44:35 1413

转载 Linux 信号机制分析

信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。一、信号的基本概念 本节先介绍信号的一些基本概念,然后给

2012-09-05 12:13:03 512

转载 tcpdump for udp

tcpdump udp and src net 192.168.0.0/24 and dst host 192.168.0.1 -w log.cap此指令用来抓取从192.168.0.0网段到192.168.0.1主机的所有udp包,然后存入log.cap文件中,此包可以用wireshark打开,在windows系统下可以用notepadd++ 或者UltraEdit打开

2012-08-29 09:24:02 570

转载 cp 直接覆盖 的方法

Linux cp时总询问是否覆盖,怎样让它不询问直接覆盖?有两个方法可以解决此问题:1、.bashrc里面注释掉 Alias cp='cp -i'2、使用 \cp 命令(在cp前加一个'\')

2012-08-22 14:53:32 556

转载 put_user和get_user的使用

1. put_userNameput_user --    Write a simple value into user space. Synopsisput_user ( x, ptr);Argumentsx Value to copy to user space. ptr Destination address,

2012-08-15 10:57:06 6116

转载 Davinci VFPE的框架分析

dm6446是基于Davinci架构设计的多媒体处理器。在这里我们分析的Linux源码是montavista的2.6.10的版本,该源码中使用的视频驱动架构为V4L2的框架。对这个框架而言,网上已经存在大量的分析,但涉及的内容主要都是框架层的封装以及相关应用层的解析,底层核心的内容很少会涉及。在这里,我将结合DM6446的视频处理前端VPFE中的CCDC模块,完成视频采集的驱动核心内容的解析,核心

2012-08-15 09:38:08 1634

转载 dma_alloc_coherent() 的实现

2007-08-21 12:29 dma_alloc_coherent() -- 给DMA池分配物理页poop_alloc_page() --> dma_alloc_coherent()dma_alloc_coherent() -- 获取物理页,并将该物理页的总线地址保存于dma_handle,返回该物理页的虚拟地址void *dma_alloc_coherent(st

2012-08-14 21:24:35 1964

转载 内核中completion的实现

内核编程中常见的一种模式是,在当前线程之外初始化某个活动,然后等待该活动的结束。这个活动可能是,创建一个新的内核线程或者新的用户空间进程、对一个已有进程的某个请求,或者某种类型的硬件动作,等等。在这种情况下,我们可以使用信号量来同步这两个任务。然而,内核中提供了另外一种机制——completion接口。Completion是一种轻量级的机制,他允许一个线程告诉另一个线程某个工作已经完成。

2012-08-14 21:21:54 645

转载 Alignment trap 解决方法

前几天交叉编译crtmpserver到arm9下。编译通过,但是运行的时候,总是提示Alignment trap,但是并不影响程序的运行。这依然很令人不爽,因为不知道是什么原因引起的,这就像一颗定时炸弹一样,一定要解决。    修改makefile,加入-ggdb,去掉编译优化,重新编译。编译完毕,在gdb下运行,依然提示Alignment trap,并且gdb没有任何反应。按照设想,操作

2012-07-19 18:20:16 6060

转载 C++编程命名规范

转自:http://blog.csdn.net/huayehanshan/archive/2009/02/03/3860363.aspx在软件开发过程中,代码的命名规范是一项很突出的内容。一套定义完整、结构清晰明了的命名规范将大大提升源代码的可读性和软件的可维护性。据考证,没有一种命名规则可以让所有的程序员都满意,程序设计教科书一般也不会指定命名规则。但是制定一套令开发组成员基本满意的命名

2012-04-04 10:54:32 2565

原创 linux 动态库 _dso_handler 的问题

解决方法:    (CROSSCOMPILE)ld --> (CROSSCOMPILE) g++ (gcc)    -shared -fPIC 即可

2012-03-07 10:59:46 636

转载 可视化 调用过程

可以将以图形形式查看应用程序的调用过程看作是一个学习经历。这样做可以帮助您理解应用程序的内部行为,并获得有关程序优化方面的信息。例如,通过对那些经常调用的函数进行优化,您就可以用最少的努力来获得最佳的性能。另外,调用跟踪还可以判断用户函数的最大调用深度,这可以用来对调用栈使用的内存进行有效限制(在嵌入式系统中,这是非常重要的一个考虑因素)。为了捕获并显示调用图,您需要 4 个元素:GNU 编译

2012-02-23 09:46:09 805

转载 linux 静态库的链接 undefined reference

最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func'     关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1.  链接时缺失了相关目标文件(.o)

2012-02-22 22:35:17 7921 3

深入理解编解码技术-基于H.264标准以及参考-ITU参考文档.7z

深入理解视频编解码技术 基于H.264标准及参考模型和ITU H.264 标准文档合集, 之前下载该文档很麻烦,为了方便大家学习,之前哪些高分才能下很可恶

2020-08-21

学习OpenCV Leaning OpenCV (英文版v1 + 英文v2 + code)

LearningOpenCV英文版+学习OpenCV中文版+书中例程 + Leaning OpenCV3 完整版 图像处理学习入门资料,英文原LearningOpenCV,中文版学习opencv,以及书中涉及到的例程。对图像处理入门很大的帮助。

2018-01-12

MATLAB图像与视频处理实用案例详解-源代码

MATLAB图像与视频处理实用案例详解的配套源代码,测试图片

2017-12-04

DirectFB-examples-1.2.2.tar.gz

DirectFB-examples-1.2.2.tar.gz 学习DirectDB 最好的code

2016-12-22

USB IF 测试工具 最新

该工具是来着微软的USBIF测试工具,x86,x64 两个版本都有的

2016-10-26

arm dmaollc

arm dmalloc C C++ mem

2011-10-23

程序员面试宝典 面试的技巧

程序员面试宝典C++ 关于面试的技巧、简历书写、和一些经典的面试题

2011-05-08

Learning_GNU_Emacs_Third_Edition

Learning_GNU_Emacs_Third_Edition

2011-05-08

Gnu_Linux_Application_Programming

Gnu_Linux_Application_Programming

2011-05-08

UNIX环境高级编程].(美国)W.Richard.Stevens.清晰版

UNIX环境高级编程].(美国)W.Richard.Stevens.清晰版

2011-05-08

Computer Systems A Programmer's Perspective - Randal E. Bryant

Computer Systems A Programmer's Perspective - Randal E. Bryant 深入理解计算机系统

2011-05-08

空空如也

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

TA关注的人

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