自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (5)
  • 收藏
  • 关注

原创 YUYV转换为jpg

将YUYV格式转换为jpeg(jpg)的过程中使用libjpeg库,自己安装了两个版本的库 v62 和 v80  路径不同   (参考 http://webhostingneeds.com/wrong_jpeg_library_version:_library_is_62,_caller_expects_80)62在/usr/lib  80在/usr/local/lib

2015-03-25 10:44:17 3141

转载 boa cgi html CGIC

转载自:http://blog.csdn.net/jemofh159/article/details/7919740随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和

2015-03-24 08:45:42 2298

转载 mini2440移植sqlite

转载自:http://www.arm9home.net/read.php?tid=127411.解压数据库源文件并进入解压后的目录,如下:tar -zxvf sqlite-3.6.22.tar.gz cd sqlite-3.6.222.创建一个目录build并进入该目录,用于在这个目录中进行交叉编译,如下:mkdir buildcd build3

2015-03-23 17:36:35 631

转载 在mini2440上移植Boa服务器

转载自:http://blog.chinaunix.net/uid-24155734-id-2625077.htmlBoa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全。

2015-03-23 16:56:30 809

转载 nfs:server is not responding,still trying的解决方法(nfs挂载处理大文件)

转载自:http://blog.chinaunix.net/uid-20551291-id-1926970.html方法1 :我在arm上通过NFS共享文件时出现下面的错误提示nfs:server is not responding,still trying原因分析:NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象。解

2015-03-20 15:37:27 4877

转载 解决/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found问题

转载自:http://blog.csdn.net/xiaolong2w/article/details/23915171我遇到这个问题的时候是在连接库的时候出现的问题,而且不是在编译的时候出现的,实在运行的时候才 报错,出现这种问题就是因为编译库的编译器和编译当前程序的编译器版本是不一样的,在具体一点就是因为,当前程序的编译器的版本是比较低的,只要升级一下就可以了。可以用如下命令查看一下当

2015-03-19 08:48:57 700

转载 A Linux serial port test program

转载自:http://www.cnblogs.com/b2tang/archive/2008/12/05/1348687.htmlBelow is a Linux serial test program which requires the command parameters to be entered on the command line when the program is st

2015-03-16 14:26:12 1840

转载 Linux软中断原理浅析

http://www.2cto.com/os/201207/140706.htmlLinux软中断原理浅析 Linux中的软中断机制用于系统中对时间要求最严格以及最重要的中断下半部进行使用。在系统设计过 程中,大家都清楚中断上下文不能处理太多的事情,需要快速的返回,否则很容易导致中断事件的丢失,所以这就产生了一个问题:中断发生之后的事务处理由谁来 完成?在前后台程序中,由于只有中断

2015-03-12 14:12:54 789

转载 Linux串口读写

转载自:http://blog.sina.com.cn/s/blog_640531380100wiv8.html串口简介串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIARS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的

2015-03-12 09:54:21 1519

原创 PCI驱动程序(国嵌笔记)

PCI驱动程序1.使用struct pci_driver结构来描述成员id_table //驱动支持的设备列表(*probe) //函数指针(*remove)//函数指针2.PCI驱动注册pci_register_driver(struct pci_driver *drv)3.在PCI驱动使用PCI设备的任何资源(I/

2015-03-11 09:37:41 886 1

原创 串口(国嵌笔记)

在Linux中,TTY(终端)是一类字符设备的统称,包括了3种类型: 控制台,串口和伪终端。供内核使用的终端为控制台。控制台 在Linux启动时,通过命令console=…指定,如果没有指定控制台 , 系统把第一个注册的终端(tty)作为控制台 。1.控制台是一个虚拟的终端,它必须映射到真正的终端上。2.控制台可以简单的理解为printk输出的地方。

2015-03-11 09:37:14 1854

原创 PCI总线(国嵌笔记)

PCI驱动程序 总线是一种传输信号的信道; 总线是连接一个或多个导体的电气连线。总线由电气接口和编程接口组成,我们重点关注编程接口。PCI是Peripheral Component Interconnect(外围设备互联) 的简称, 是在桌面及更大型的计算机上普遍使用的外设总线。PCI总线具有三个非常显著的优点:1在计算机和外设间传输数据时具有更好的

2015-03-11 09:36:59 1090

转载 CS8900A 驱动程序分析(国嵌)

CS8900A 驱动程序分析(国嵌) 1.   寄存器 ·LINECTL(0112H)LINECTL决定CS8900的基本配置和物理接口。例如:设置初始值为00d3H,选择物理接口为10BASE-T,并使能设备的发送和接收控制位。·RXCTL(0104H)RXCTL控制CS8900接收特定数据报。设置RXTCL的初始值为0d05H,表示接收网络上的广

2015-03-11 09:29:29 806

原创 触摸屏(国嵌笔记)

触摸屏分为电阻式、电容式、声表面波式和红外线扫描式等类型,使用得最多的是4线电阻式触摸屏。s3c2440触摸屏是由横向电阻比和纵向电阻线组成 控制器X/Y分别转换模式X/Y自动转换模式工作流程1.选择转换模式2.设置触摸屏为等待中断模式3.如果中断发生,开始转换(模数转换)4.转换完成后,回到等待中断模式

2015-03-11 09:27:27 579

原创 网卡驱动程序(国嵌笔记)

驱动程序的方法:1.了解在LINUX内核中怎么描述这个设备或者驱动。用什么结构,里面有什么成员、指针(函数,主要是什么功能,什么时间调用)2.怎么注册驱动程序网络驱动程序1.使用struct net_device来描述使用alloc_netdev或alloc_etherdev来动态分配关键成员:char name[IFNAMSIZ] 设备名e

2015-03-11 09:24:28 747

原创 Linux网络体系结构 (国嵌笔记)

1.linux的协议栈层次丰富而稳定的网络协议栈(服务器要求稳定和高效)LINUX中协议栈是四层的internet模型2.linux的网络子系统系统调用接口协议无关接口网络协议接口设备无关接口(向下屏蔽硬件的区别使用同一的接口,向上直接将数据包传递到上方,不管是什么类型的协议)设备驱动

2015-03-11 09:23:13 1008

原创 输入子系统(国嵌笔记)

输入子系统(input subsystem)按键、触摸屏、鼠标等都可以利用input接口来实现设备驱动体系1.驱动程序input corehandlers 设备描述在linux内核中,input设备用input_dev结构体描述,使用input子系统实现输入设备驱动的时候,驱动的核心工作是向系统报告按键、触摸屏、键盘、鼠标等输入事件(event,通过inpu

2015-03-11 09:22:02 666

原创 中断处理(国嵌笔记)

硬件相关 1.向内核注册中断函数 2.实现中断处理函数1.注册requst_irqFLAGS2.6->IRQF_DISABLED (2.4->SA_INTERRUPT)IRQF_SHARED(SA_SHIRQ)快速/慢速中断快速中断保证中断处理的原子性(不被打断),而慢速中断则不保证。共享中断:将不同的设备挂到同一个中

2015-03-11 09:21:10 662

原创 平台驱动程序platform(国嵌笔记)

在2.6的内核中很多驱动程序都采用platform形式的驱动程序platform是一种虚拟总线。platform机制的本身实现并不复杂,由两部分组成:platform_device和platform_driverplatform_bus内核已经实现好了,只需要基于这条总线进行操作就可以了1.工作流程1.定义platform_device2.注册platform_de

2015-03-11 09:19:48 1075

原创 总线+设备+驱动 (国嵌笔记)

设备模型1.设备模型元素总线、驱动、设备总线是处理器和设备之间的通道,在设备模型中,所有的设备都通过总线相连,设置是内部的虚拟“platform”总线。在LINUX设备模型中,总线由bus_type结构表示,定义在中总线也是一个设备,也要对应一个struct device注册注销总线属性创建属性删除属性init函数{ 注册

2015-03-10 20:54:35 665

原创 硬件访问+混杂设备驱动(国嵌笔记)

硬件访问1.寄存器与内存的区别在那里呢??寄存器和RAM的主要不同在于:寄存器操作有副作用(side effect或边际效果),读取某个地址时可能导致该地址内容发生变化,比如很多设备的中断状态寄存器只要一读取,便自动清零。2.内存与I/O在X86处理器中存在I/O空间的概念,I/O空间是相对内存空间而言的,他们是彼此独立的地址空间,在32位的X86系统中,I/O空间

2015-03-10 20:49:52 581

原创 mmap设备操作-内存映射,把文件映射到内存中(国嵌笔记)

1.mmap功能:内存映射,负责把文件内容映射到进程的虚拟地址空间,通过对这段内存的读取和修改,来实现对文件的读取和修改,而不需要再调用read,write等操作。返回:起始地址2.参数addr:指定映射的起始地址,通常设为NULL,由系统指定length:映射到内存的文件长度。prot:映射区的保护方式:PROT_EXEC:映射区可被执行PROT_READ:映射区

2015-03-10 20:47:53 1755

原创 自动创建设备文件 (国嵌笔记)

自动创建设备文件1.内核2.4中有设备文件系统使用devfs_register(dir,name,flags,major,minor,mode,ops,info)dir:目录名,为空表示在/dev/下创建name:文件名;flags:创建标志;major,minor:主次设备号;mode:创建模式,字符和块等通过他来标识;ops:操作函数集;info:通常为空2.内核2.6开始

2015-03-10 20:46:03 624

原创 内核等待队列(国嵌笔记)

内核等待队列可以使用等待队列来实现继承的阻塞,等待队列可以看作保存进程的容器,在阻塞进程时,将进程放入等待队列,当唤醒进程时,从等待队列中取出操作等待队列1.定义等待队列wait_queue_head_t my_queue2初始化等待队列init_waitqueue_head(&my_queue)3.定义并初始化等待队列DECLARE_WAIT_QUEUE_HE

2015-03-10 20:46:00 540

原创 Poll设备操作(国嵌笔记)

Poll设备操作用户空间中的select对应内核中的Poll1.select系统调用用于多路监控,当没有一个文件满足要求时,select将阻塞调用进程。int select(int maxfd,fd_set *readfds,fd_set *writefds,fe_set *exceptfds,const struct timeval *timeout)maxfd:文件描述符的

2015-03-10 20:45:14 711

原创 IOCTL 高级字符设备驱动程序(国嵌笔记)

高级字符设备驱动程序1.ioctl设备控制 大部分驱动程序除了需要具备读写设备的能力外,还需具备对硬件控制的能力。例如:要求设备报告错误信息,改变波特率等,通常通过ioctl来实现2.用户使用方法int ioctl(int fd,unsigned long cmd,···)函数中的省略部分代表这是一个可选参数,存在与否依赖于控制命令(第二个参数)是否涉及到与设备的数据交互。

2015-03-10 20:43:01 953

原创 字符驱动程序 (国嵌笔记)

linux驱动程序概述1.学习方法驱动程序设计模式40%+内核相关知识30%+硬件相关知识30%2.早期设计模式1.每一个应用程序都要写一遍驱动程序。复用性差2.将驱动程序提取出来,多个应用程序调用一个驱动程序。前期设计问题导致的驱动程序改变,全部应用程序都需要变动3.分类字符设备驱动、网络设备驱动、块设备驱动字符设备:以字节为最小单位来访问的设备块设备:访问数

2015-03-10 20:42:35 666

原创 内核驱动开发第四天linux内核链表

基本概念1.链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。2.链表的开销主要是访问的顺序性和组织链的空间损失通常链表数据结构至少包含两个域:数据域和指针域,数据域用于存储数据,指针

2015-03-10 20:39:30 996

原创 内核驱动开发第五天linux系统调用

1.系统调用一般情况下,用户进程是不能访问内核的。它既不能访问内核中的数据,也不能调用内核中的函数。但系统调用是一个例外。还有一个是中断Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用。用户可以通过系统调用命令在自己的应用程序中调用它们。2.区别系统调用和普通的函数调用非常相似,区别仅仅在于,系统调用由操作系统内核实现,运行于内核态;

2015-03-10 20:37:05 608

原创 linux kernel Oops调试信息分析 异常调试

1.看异常类型(错误原因提示)在内核中访问地址必须是c开头以上的,其他的肯定是非法的内核访问地址范围从0xc0000000开始  2.调用栈backtrace(对照反汇编代码)反汇编查找相应的出错点3. 寄存器 PC和LR   根据位置和反汇编代码找到相应的出错位置,进行修改即可

2015-03-10 20:33:12 1322

原创 进程管理(Linux内核设计与实现 整理)

一、进程线程相关概念1.进程就是处于执行期的程序。但进程不仅仅局限于程序代码。还要包括其他资源,像打开的文件,挂起的信号,内核内部数据,处理器状态等进程是处于执行期的程序以及相关资源的总称。2.线程是进程中活动的对象。每个线程都拥有独立的程序计数器、进程栈和一组进程寄存器。(查看进程和线程共享的部分???线程->fork->共享代码段,其他部分复制一份。类似的东西。要查询确认)

2015-03-10 20:29:44 651

原创 应用程序开发第七天网络编程(国嵌笔记)

1.网络概述1.提供了强大完善的网络功能1.完善的内置网络,和内核紧密的结合在一起2.Linux提供大量免费internet软件3.通过Linux命令完成内部或文件的传输4.远程访问5.安全可靠2.LINUX网络模型见图     二层协议:数据链路层三层协议:网络层Linux网络层主要包含协议:第一部分网络层协议:IP,ICMP,ARP

2015-03-10 20:24:13 963

原创 应用程序开发第六天多线程(国嵌)

多线程1.线程基础有了进程为什么还要引入线程多线程属于同一个进程遵循POSIX。使用pthread.h,连接时需要使用libpthread.a库2.线程1.创建线程#includeint pthread_create(tidp,attr,start_rtn,arg);tidp:线程id(用于返回的)。attr:线程属性(通常为空)。start_rtn:线程要

2015-03-10 20:20:28 770

原创 应用程序开发第四天进程间通信(国嵌笔记)

1.进程间通信概述为什么进程间需要通信?1.数据传输(一个进程需要将它的数据发送给另一个进程)2.资源共享(多个进程间共享同样的资源)3.通知事件(一个进程需要向另一个或一组进程发送消息,通知他们发生了某种事件)4.进程控制(有些进程希望完全控制另一个进程的执行,如Debug进程,此时控制进程希望能够拦截另一个进程的所有操作,并能够及时通知它的状态改变)现在Linux使用的

2015-03-10 20:19:41 658

原创 应用程序开发第五天进程通信(国嵌笔记)

进程间通信1.消息队列unix早期通信机制之一的信号能够传送的信息量有限,管道则只能传送无格式的字节流,这无疑会给应用程序开发带来不便。消息队列(报文队列)则克服了这些缺点消息队列就是一个消息的链表。可以把消息看作一个记录,具有特定的格式。进程可以向中按照一定的规则添加新消息;另一些进程则可以从消息队列中读走消息。读之后此数据就不存在了POSIX消息队列和系统V消息队列,系统V

2015-03-10 20:19:11 625

原创 应用开发第三天进程控制(国嵌笔记)

1.进程控制理论基础1.进程是一个具有一定独立功能的程序的一次运行活动进程和程序的区别:程序在运行时就是进程了。程序是静态的(在磁盘上存储着), 特点:动态性,并发性,独立性,异步性状态转换图:三态就绪,阻塞,执行进程ID:PID,PPID,UID(启动进程的用户ID)进程互斥:当有若干进程都需要使用某一共享资源时,任何时刻最多允许一个进程使用,其他要使用该

2015-03-10 20:17:38 559

原创 应用开发第二天文件编程(国嵌笔记)

1.文件编程可以使用两种方法:Linux系统调用,C语言库函数系统调用方式1.create(filename,mode)创建的文件名(可包含路径,默认为当前目录)和创建模式(读写执行,也可以使用数字进行表示)2.每一个打开的文件都有一个---->文件描述符.文件描述符的本质是一个非负整数。打开文件时,该整数由系统来分配。3.打开。open(pathname,flags).如果使

2015-03-10 20:13:42 593

原创 应用开发第一天编程基础(国嵌笔记)

1.gcc1.预处理、编译、汇编、连接2.gcc常用的参数 o,I,L,l,D,w,Wall,O,O2,static,c2.gdb1.gdb 文件名 或 gdb 然后使用file命令2.l/list显示程序 3.断点b/break 指定函数、行号、文件名:行号、行号if条件4.info break 查看全部断点5.delete 断点编号 。删除断点6.r/run

2015-03-10 20:11:43 728

转载 VS2010 安装部署中的卸载

在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,这个文件在c:/windows/system32文件夹下,添加进去以后,为了让他更像个卸载程序,把他的名字改成"Uninstall.exe",当然这个关系不大,改不改都行的.然后给他创建一个快捷方式,放到桌面或者"开始-程序"中,我选择放在了开始菜单中,然后下面我们要的做的就是查找这个部署项目的Produc

2015-03-10 15:49:27 2655 1

转载 linux 命令行配置无线网卡

下面介绍使用iwconfig和ifconfig等命令在命令行状态下配置无线网络。前题是无线网卡驱动已经正确安装,并被系统正确识别。大体思路工作的大体思路如下:用iwconfig开启无线网卡的电源,并查找区域内的无线网络连接到相应的无线网络通过ifconfig启用无线网卡,并获取IP(如果使用DHCP的话)注意:假设无线被识别为wlan0,如果您的网卡没有被识别为wlan

2015-03-09 20:43:26 4644

Head First设计模式

Head First 设计模式,影印版,带目录

2016-05-22

Qt_Creator_绝对入门.pdf

Qt 是一个跨平台的 C++ 图形用户界面库 此教程简单易懂

2012-08-21

at89c51英文数据手册

at89c51单片机用户数据手册,原版英文,单片机

2012-05-20

at89c51数据手册

at89c51中文数据手册,参考更易于学习51单片机

2012-05-20

空空如也

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

TA关注的人

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