自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(64)
  • 资源 (9)
  • 收藏
  • 关注

原创 采用AT88SC系列芯片进行系统加密的原理

简述:机顶盒系统中存在个性化的加密芯片,该加密芯片与CPU进行交互认证,从而控制机顶盒的软件流程,实现系统的防拷贝。该加密芯片内部配置数据基本无法获取,与CPU间通信采用密文方式。安全性较好。机顶盒主程序在启动或运行过程中可以随时唤醒加密认证任务。完成机顶盒产品中芯片(ID)的确认。加密认证任务通过发送一个认证指令,查找加密芯片的存在。下面将利用本加密芯片进行产品加密的最安全模式的原理

2010-05-14 09:15:00 4070 4

转载 重装Windows后,修复Ubuntu引导菜单

必备工具Windows + Ubuntu 双系统的计算机 Ubuntu Live CD从Live CD引导计算机,进入终端,使用超级用户sudo -i查看磁盘分区状态Ubuntu通常会挂在常用的磁盘设备,这时用df命令可以看到剩余容量,从而帮助鉴别到底是哪个设备:Filesystem 1K-blocks Used Availab

2012-05-30 13:26:30 374

原创 嵌入式linux系统与主机通过串口传输文件 和lrzsz移植

嵌入式linux系统与主机通过串口传输文件     我想如果要从PC机下载东西到开发板的嵌入式linux系统里面,很多人首先会想到用tftp sftp等网络工具从网口下载。但如果网络用不了,只能通过串口下载怎么办呢?这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。个人觉得zmrx/zmtx没有lsz/lrz稳定,建议还是用后者。下面介绍一下lsz/lrz的使

2012-01-13 17:39:48 1136

原创 嵌入式linux系统与主机通过串口传输文件 和lrzsz移植

嵌入式linux系统与主机通过串口传输文件     我想如果要从PC机下载东西到开发板的嵌入式linux系统里面,很多人首先会想到用tftp sftp等网络工具从网口下载。但如果网络用不了,只能通过串口下载怎么办呢?这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。个人觉得zmrx/zmtx没有lsz/lrz稳定,建议还是用后者。下面介绍一下lsz/lrz的使

2012-01-13 17:24:02 303

转载 PCI、PCI-X、PCI-E区别

PCI、PCI-X、PCI-E区别一、PCI总线PCI总线标准是由PCISIG于1992年开发的,已经有超过8年的历史。 PCI的总带宽=33MHz×32BIT/8=133MB/S。二、PCI-X总线PCI-X是在增加了电源管理功能和热插拔技术的PCI V2.2版本的基础上,将PCI的总带宽由133MB/S增至1.066GB/s。同时它还采用了分离实务即多任务的设计,允许一个正在向

2012-01-11 13:29:22 457

原创 专家详解:内存工作原理及发展历程

<br />  RAM(Random Access Memory)随机存取存储器对于系统性能的影响是每个PC用户都非常清楚的,所以很多朋友趁着现在的内存价格很低纷纷扩容了内存,希望借此来得到更高的性能。不过现在市场是多种内存类型并存的,SDRAM、DDR SDRAM、RDRAM等等,如果你使用的还是非常古老的系统,可能还需要EDO DRAM、FP DRAM(块页)等现在不是很常见的内存。<br /> <br />  虽然RAM的类型非常的多,但是这些内存在实现的机理方面还是具有很多相同的地方,所以本文的将会

2011-04-12 17:34:00 801 1

转载 专家详解:内存工作原理及发展历程

<br />  RAM(Random Access Memory)随机存取存储器对于系统性能的影响是每个PC用户都非常清楚的,所以很多朋友趁着现在的内存价格很低纷纷扩容了内存,希望借此来得到更高的性能。不过现在市场是多种内存类型并存的,SDRAM、DDR SDRAM、RDRAM等等,如果你使用的还是非常古老的系统,可能还需要EDO DRAM、FP DRAM(块页)等现在不是很常见的内存。<br /> <br />  虽然RAM的类型非常的多,但是这些内存在实现的机理方面还是具有很多相同的地方,所以本文的将会

2011-04-12 17:34:00 362

转载 EM310,GTM900-C 模块FAQ

EM310,GTM900-C 模块FAQ 1:EM310,GTM900C模块 USB口的作用是什么?答:一是通过 USB口升级模块程序,一是抓取模块底层数据接口,设计时,建议把模块的 USB口引出来,其中 D+和 D-不用接上下拉,模块内部已经有该部分电路。2:EM310,GM900C和 GTM900B指令是否完全兼容?答:EM310,GTM900C和 GTM900B指令理论上是向下兼容的。EM310某些指令上会与 GTM900B有细微差别。例如 EM310,G

2011-04-06 14:36:00 904

转载 经过整理的Modbus通讯协议详解

<br />Modbus通讯协议简介<br /><br />Modbus协议 <br /><br />Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中

2011-04-06 10:55:00 3023 1

转载 Modbus工具函数

工具Detailed Description详细描述This module contains some utility functions which can be used by the application. It includes some special functions for working with bitfields backed by a character array buffer. 这个模块包括应用中使用的一些功能函数。这些功能函数包括一些特殊的通过字符数组缓冲方式对位域进行处理的

2011-04-06 10:51:00 955

转载 Modbus 协议配置

Modbus ConfigurationModbus配置 Detailed Description详细描述Most modules in the protocol stack are completly optional and can be excluded. This is specially important if target resources are very small and program memory space should be saved.All of these setting

2011-04-06 10:50:00 800

转载 Modbus协议寄存器操作

Modbus协议寄存器操作Modbus RegistersModbus的寄存器Detailed Description详细描述 #include "mb.h" The protocol stack does not internally allocate any memory for the registers. This makes the protocol stack very small and also usable on low end targets. In

2011-04-06 10:47:00 1686

转载 模块-modbus模块

模块-modbus模块Detailed Description详细描述 #include "mb.h" This module defines the interface for the application. It contains the basic functions and types required to use the Modbus protocol stack. A typical application will want to call eMBInit() first.

2011-04-06 10:46:00 1444

转载 实现FreeModbus协议所需要的软/硬件需求

<br />实现FreeModbus协议所需要的软/硬件需求<br /><br />The hardware requirements are minimal - Any reasonable microcontroller with a serial interface, at least some RAM to hold the modbus frames should suffice. <br />A UART which support and interrupts and has at least

2011-04-06 10:45:00 1696

转载 FreeMODUS简介

<br />介绍一个Modbus协议的实现<br />中英文介绍一下FreeMODUS。<br />About<br /><br />关于<br /><br />FreeMODBUS是一个针对嵌入式应用的一个免费(自由)的通用MODBUS协议的实现(移植)。Modbus是一个工业制造环境中应用的一个通用协议。一个Modbus通信协议栈包括两层:Modbus应用层协议,该层定义了数据模式和功能;另外一层是网络层。在当前版本中,FreeMODBUS 提供了一个针对Modbus 应用层协议V1.1以及支持在Mod

2011-04-06 10:44:00 1158

转载 sqlite 执行标准sql语法

<br />1. 执行sql语句<br /><br />int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callback, void *,  char **errmsg );<br />这就是执行一条 sql 语句的函数。<br />第1个参数不再说了,是前面open函数得到的指针。说了是关键数据结构。<br />第2个参数const char *sql 是一条 sql 语句,以/0结尾。<br />第3个参数sqlite3_cal

2011-02-23 11:46:00 507

转载 S3C2410下嵌入式数据库SQLite的移植

对SQLite-3.3.8(或者SQLite3.3.12)进行交叉编译,并移植到ARMS3C2410的过程:    要将SQLite3.3.8(或者SQLite-3.3.12)移植到ARM2410开发板上,除了要有底层操作系统的支持外,还必须要有相应的交叉编译工具链。由于ARM2410开发板采用的是ARM-Linux作为底层操作系统,因此需要首先安装ARM-Linux工具链。<br />   1.交叉编译环境建立:<br />       安装cross-2.95.3.tar.bz2交叉编译

2011-02-23 08:41:00 625

转载 解读QT信号与槽机制里 QMetaObject::connectSlotsByName(QObject *o)的源码

<br />介绍<br />connectSlotsByName 是一个QMetaObject类里的static函数,其定义如下: <br />static void connectSlotsByName(QObject *o);<br />其作用是如其名称一样,用来将QObject *o里的子孙QObject的某些信号按照其objectName连接到o的槽上。起因<br />为啥会对这个函数产生一探究竟的想法呢?——<br />既然是根据objectName来连接信号和槽,那么就有了几个问题:能不能对多个

2010-10-19 14:14:00 637

转载 QObject ——QT所有类的基类

QObject ——QT所有类的基类QObject是QT所有类的基类,QObject是Qt Object Model的核心<br /><br />CODE:<br /><br />/*<br />什么是Qt Object Model,主要包括如下的东西<br />1.信号和槽<br />2.良好的对象属性,如可查询和很好看,,,~~<br />  3.有力的事件和事件过滤器<br />4.国际化字符设计<br />5.定时器为GUI的事件提供毫秒级的支持<br />6.很优秀的对象树结构<br />7.当对

2010-10-19 10:14:00 1847

原创 S3C2440上MMC/SD卡驱动实例开发讲解(二)

<br />上接:S3C2440上MMC/SD卡驱动实例开发讲解(一)<br />6. s3cmci_ops SDI主机控制器操作接口函数功能分析:<br />staticstruct mmc_host_ops s3cmci_ops =<br />{<br />    .request = s3cmci_request,//实现host的请求处理(即:命令和数据的发送和接收)<br />    .set_ios = s3cmci_set_ios,//通过核心层

2010-07-17 00:13:00 1309 1

转载 S3C2440上 MMC/SD卡驱动实例开发讲解(一)

一、开发环境主  机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2二、MMC/SD介绍及SDI主机控制器  首先我们来理清几个概念:MMC:(Multi Media Card)由西门子公司和首推CF的SanDisk于1997年推出的多媒体记忆卡标准。SD:(Secure Digital Memory Card)由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制的新一

2010-07-16 23:50:00 1006

原创 移植U-Boot.1.3.2到S3C2440

 首先,U-Boot1.3.1还没有支持s3c2440,移植仍是用2410的文件稍作修改而成的。对于1.3.2和1.2.0的差别,我初看了一下,(对于ARM920T内核)应该是增加了对ATMEL公司的AT91RM9200系列处理器的支持。至于S3C24X0系列的芯片,原理上并没有什么大的变化。 一、在U-Boot中建立自己的开发板类型,并测试编译。我为开发板取名叫: dumu 0 先下载u-boot-1.3.2.tar.bz2,源码在ftp://ftp.denx.de/pub/u-b

2010-07-11 15:26:00 780

原创 linux-2.6.26下开发marvell 88w8686 wifi驱动

   最近在做基于2440+linux下,开发marvell 88w8686驱动 ,因为三月、硬件设计是spi接口,所以我从marvell 官方网站下载SPI 接口的驱动程序src_gspi8686.tar.bz2, 此驱动程序是基于PXA270的,所以需要自己移植到2440平台上,主要有如下工作要做:1.将src_gspi8686 下的 io 文件夹下的gspi.c和gspi.h 这两个文件修改,针对各个具体函数,按照2440 SPI 的时序来编写SPI 驱动2.修改Makefile编译修改过的代码,编译

2010-07-06 14:57:00 4884 15

原创 linux下 s3c2440 lcd驱动移植详解

1. LCD工作的硬件需求:   要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,如S3C2410/2440等。通过LCD控制器就可以产生LCD驱动器所需要的控制信号来控制STN/TFT屏了。 2. S3C2440内部LCD控制器结构图:我们根据数据手册来描述一下这个集成在S3C2440内部的LCD控制

2010-06-30 18:50:00 4170 1

原创 S3C2440 LCD驱动(FrameBuffer)实例开发讲解

1. LCD工作的硬件需求:  要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,如S3C2410/2440等。通过LCD控制器就可以产生LCD驱动器所需要的控制信号来控制STN/TFT屏了。 2. S3C2440内部LCD控制器结构图:我们根据数据手册来描述一下这个集成在S3C2440内部的

2010-06-30 18:06:00 165

转载 SM501显卡驱动的移植(linux.2.6.18)

<br />本文从三个方面说明一下SM501显卡驱动在2440+2.6.18环境下的移植:<br />1 硬件情况。<br />2 移植过程<br />3 驱动测试<br />一、硬件情况:<br />第一次接触到显卡编程,有点不太适应。SM501的Datasheet写的太简略,个人觉得有用的基本上就是两个方面:<br />1 内存映射模式。<br />2440与SM501连接模式为2440作为HOST有独立的SDRAM,SM501除了可以访问HOSTSDRAM外,还拥有8MB的本地内存

2010-06-23 18:00:00 565

原创 高手博客

 chenzhufly.cublog.cn 打开链接 2007-12-19 09:18 刘洋打开链接 2008-09-13 23:19  章鱼的窝打开链接 2007-09-16 14:29 ly44770的博客打开链接 2007-09-13 21:12 NOR Flash - FLASH

2010-05-15 14:59:00 560

转载 加密存储芯片AT88SC1616的原理和应用技术

摘要:从加密存储芯片AT88SC1616内部结构出发,详细介绍该芯片的功能、特点和基本工作原理;给出通用的硬件接口电路和软件编程实现;讨论AT88SC1616在单处机与嵌入式系统中的应用。 关键词:加密存储芯片 AT88SC1616 I2C总线 嵌入式系统随着嵌入式产品性能的日益提高,嵌入式系统在消费类电子、汽车、工业控制和通信等行业迅速普及;但由于嵌入式系统开发成本高、研发周期长,使得关

2010-05-14 18:39:00 1193 1

原创 S3C2440 平台的spi ad7888驱动程序

 首先定义一个struct ad7888 {struct cdev cdev;struct spi_device *spi;struct semaphore lock;};来描述我的设备附加信息先理下逻辑:[1]module_init(spi_ad7888_init); [2]static int __init spi_ad7888_init(void) {}(在这个函数里应实现 初始化主设备

2010-05-07 17:05:00 861

转载 Framebuffer, 原理

上一篇文章居然加精了。现在继续将自己收集的一些资料和工作中的心得总结贴出来,我很多工作可能和大家没多大的通用性,所以只能挑有限的一些文章。如果有同学是做音视频编解码或图像处理的,可以交流下,我现在业余做这个。上年做过fb的驱动,收集了不少这方面的文章,不过建议大家还是要多看内核驱动代码,read the fucking code是真理。代码为主,其他为辅。首先第一篇是《Framebuffer原理、

2010-05-05 15:47:00 1242

原创 IS_ERR()宏是什么意思

 IS_ERR()有一些妙处。内核中的函数常常返回指针,问题是如果出错,也希望能够通过返回的指针体现出来。所幸的是,内核返回的指针一般是指向页面的边界(4K边界),即ptr & 0xfff == 0这样ptr的值不可能落在(0xfffff000,0xffffffff)之间,而一般内核的出错代码也是一个小负数,在-1000到0之间,转变成unsigned long,正好在(0xfffff000,

2010-04-16 12:38:00 804

转载 Linux驱动开发必看:详解神秘内核

Linux驱动开发必看:详解神秘内核       在开始步入Linux设备驱动程序的神秘世界之前,让我们从驱动程序开发人员的角度看几个内核构成要素,熟悉一些基本的内核概念。我们将学习内核定时器、同步机制以及内存分配方法。不过,我们还是得从头开始这次探索之旅。因此,本章要先浏览一下内核发出的启动信息,然后再逐个讲解一些有意思的点。  2.1 启动过

2010-04-04 10:27:00 1449

原创 linux 设备驱动注册 register_chrdev_region 和 register_chrdev

内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下: ­­   static struct char_device_struct { ­       struct char_device_struct *next;    // 指向散列冲突链表中的下一个元素的指针 ­ 

2010-04-01 14:02:00 1945

原创 GNU 长选项命令解析--getopt_long()

 Linux系统下,需要大量的命令行选项,如果自己手动解析他们的话实在是有违软件复用的思想,不过还好,GNU C library留给我们一个解析命令行的接口(X/Open规范),好好使用它可以使你的程序改观不少。使用getopt_long()需要引入头文件#include    现在我们使用一个例子来说明它的使用。一个应用程序需要如下的短选项和长选项。      短选项    

2010-03-28 11:21:00 389

原创 在linux下用rsh实现两个节点的无密码互通

     由于要做并行计算,现在要把机器配置成两台无密码可以互相访问。现在来说说具体配置rsh的流程。机器配置:64位机,4核,X86服务器主机,装centos 4.8 64位操作系统。网络互通采用infiniband网卡通信。 1、检查有无安装rsh-server包[root@node1 ~]# rpm -qa rsh-server若没有安装,则可以通过下面的命令来安装。2、 安

2010-03-23 20:32:00 1633

原创 8250 driver

一:前言 前一段时间自己实践了一下8250 芯片串口驱动的编写。今天就在此基础上分析一下 linux kernel  自带的串口驱动。毕竟只有对比专业的驱动代码才能更好的进步 , 同以往一样,基于 linux kernel2.6.25. 相应驱动代码位于: linux- 2.6.25/drivers/serial/8250.c 。  二:8250 串口驱动初始化  相应的初始化函数为 se

2010-03-23 18:23:00 940

转载 在单机上安装、配置MPI 并行环境(Linux版)

在单机上安装、配置MPI 并行环境1 Linux 的安装可以安装任何Linux 发布版, 推荐RedHat-9一些必须安装的包(关于如何用RedHat 的rpm 命令安装软件包可参看Maximum RPM)gcc 包GNU C, 用于C 程序的编译gcc-g77 包GNU Fortran 77, 用于Fortran 程序的编译rsh 包和rsh-server 包用于启动MPI 进程配置rsh-

2010-03-20 15:43:00 2009 1

转载 mpi 简介

摘要: 什么是MPI,如何用?什么样的人应该使用MPI?怎样从MPI的开源实现中来学习MPI的一些基本的东西。消息传递接口(Message Passing Interface)“MPI”这个词经常在和高性能计算相关的讨论中出现。有时候人们是喜爱的,有时候是蔑视的,而跟多的时候这是一个让疑惑的词。这篇文章会为经理和开发者提供一些关于MPI的基本的信息。什么是MPI?常常有人要我快速简要的说明

2010-03-20 15:36:00 1323 1

原创 台式机上安装双系统(winXP+CentOS),从硬盘安装

安装操作系统,由于笔记本上的DVD光驱坏了,u盘作启动盘也启动不了。决定用一下从硬盘安装一下操作系统。          开始: 1 下载CentOS的安装盘,下载了CentOS-4.5.iso 2 进入windows,将CentOS的映像文件放入D盘(FAT32分区)根目录,并解压出两个文件(isolinux目录下的vmlinuz和 initrd.img),放在上述分区的根目录中备用(因

2010-03-12 01:30:00 1234

转载 wav文件格式分析详解

wav文件格式分析详解 网上有一篇曹京写的《wav文件格式分析详解》已经介绍过wav文件格式,有兴趣的读者可以查阅。wav文件通常包含4段:RIFF、格式段、FACT段和数据段。 PCM数据就放在数据段。只要格式段设置的格式与数据段的数据一致,播放程序就可以正确解析。下面这个数组的数据其实就是一个最小的wav文件。static const unsigned char wav_templat

2010-03-05 17:22:00 512

s3c6410 datasheet 和6410的原理图

s3c6410手册和6410的原理图 s3c6410手册和6410的原理图

2010-07-15

2440 linux marvell 8686 wifi驱动

linux marvell 8686 wifi驱动 硬件平台:arm2440 +marvell 8686 软件平台:linux2.6.26 驱动接口:spi高速总线 测试已OK,请放心使用。

2010-07-05

KTV 点歌系统源码

KTV 点歌系统 源码,不容错过啊。 做KTV项目的,值得下载

2010-03-09

PXA27x Developer's Manual

pxa270 英文手册 1242页全。不是126页的。发给需要的人。

2009-12-14

CAN controller driver.c

1、基于linux下的can总线驱动。 2、使用的是平台驱动。 3、单路spi总线驱动。

2009-12-08

bluetooth application development guide.pdf

包括蓝牙协议栈,应用场景,在linux 下的开发,palm OS下的开发等。 数据和audio的通信方法。 不可错过。

2009-11-26

minigui 学习资料

包括minigui 技术白皮书和minigui交叉编译工具教程。

2009-10-08

空空如也

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

TA关注的人

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