自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

寸先生的AI道路

可上九天揽月,可下五洋捉鳖,谈笑凯歌还

  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

转载 Linux内核裁剪

本文转载自http://blog168.chinaunix.net/space.php?uid=233938&do=blog&id=162616内核配置<br />  内核配置的方法很多,make config、make xconfig、make menuconfig、make oldconfig等等,它们的功能都是一样的,区别应该从名字上就能看出来,只有make oldconfig是指用系统当前的设置(./.config)作为缺省值。这里用的是make menuconfig。<br />  需要牢记:不必

2011-04-29 17:11:00 1173

原创 Linux下SPI从设备驱动的编写

 SPI(Serial Peripheral Interface) 是一个同步的四线制串行线,用于连接微控制器和传感器、存储器及外围设备。三条信号线持有时钟信号(SCLK,经常在10MHz左右)和并行数据线带有“主出,从进(MOSI)”或是“主进,从出(MISO)”信号。数据交换的时候有四种时钟模式,模式0和模式3是最经常使用的。每个时钟周期将会传递数据进和出。如果没有数据传递的话,时钟将不会循环。SPI驱动分为两类:控制器驱动:它们通常内嵌于片上系统处理器,通常既支持主设备,又支持从设备。这些驱动涉及硬件

2011-04-28 11:05:00 10279 4

转载 Linux内核设备、驱动和总线的概念

在Linux2.6内核设备模型中有三个重要概念:设备,驱动和总线。其中设备是设备,总线是总线,驱动是驱动,各负其责,严格区分,有各自的内核结构定义。Ø         设备通过struct device结构体定义,但通常将该结构体嵌入到自己定义的设备中,例如,struct platform_device,这是采用platform_bus_type总线的设备定义的结构体形式。include/linux/platform_device.h文件中: struct platform_device { c

2011-04-27 10:40:00 2270

原创 ARM存储管理

<br />本文对ARM存储管理进行简要归纳,不涉及具体映射和寄存器设置。<br /><br />一、MMU<br />内存管理部件使用内存映射技术实现虚拟空间到物理空间的映射。嵌入式系统中通常把异常中断向量表存放在RAM中。当系统加电时,将ROM/FLASH映射为地址0,这样可以进行一些初始化处理;当这些初始化处理完成后将SDRAM映射为地址0,并把系统程序加载到SDRAM中运行,这样很好的解决了嵌入式系统的需求。<br />ARM中,存储系统通常是通过系统控制协处理器CP15完成的。CP15包含16个3

2011-04-26 09:23:00 2106

转载 platform总线、设备与驱动

<br />本文转载自http://blog.csdn.net/xxu0123456789/archive/2011/02/22/6199622.aspx<br />1.1 platform总线、设备与驱动<br />在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。 <br />一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于

2011-04-22 15:02:00 795

转载 Linux内核中的list_for_each_entry

<br />在Linux内核源码中,经常要对链表进行操作,其中一个很重要的宏是list_for_each_entry:<br />意思大体如下:<br />假设只有两个结点,则第一个member代表head,<br />list_for_each_entry的作用就是循环遍历每一个pos中的member子项。<br /><br />宏list_for_each_entry:<br /> /** 401 * list_for_each_entry - iterate over list o

2011-04-22 14:36:00 790

转载 SD卡的控制方法(指令集和控制时序)

<br />1.SD卡的命令格式:<br />SD卡的指令由6字节(Byte)组成,如下:<br />Byte1:0 1 x x x x x x(命令号,由指令标志定义,如CMD39为100111即16进制0x27,那么完整的CMD39第一字节为01100111,即0x27+0x40)<br />Byte2-5:Command Arguments,命令参数,有些命令没有参数<br />Byte6:前7位为CRC(Cyclic Redundacy Check,循环冗余校验)校验位,最后一位为停止位0<br /

2011-04-21 11:03:00 1009

原创 C语言中可变参数函数的使用

<br />由于在C语言中没有函数重载,解决不定数目函数参数问题变得比较麻烦;即使采用C++,如果参数个数不能确定。也很难采用函数重载。对这种情况,有些人采用指针参数来解决问题。本文就C语言中对不定参数函数的使用方法进行小结。<br /> <br />1、函数参数在堆栈中的分布<br />地址从高到低,依次是:函数参数列表,函数返回地址,函数执行代码段。堆栈中,各个函数的分布情况是倒序的,即最后一个参数在列表中地址最高部分,第一个参数在列表地址的最低部分。<br /> <br />2、VA_LIST宏是在C

2011-04-20 10:43:00 1002

转载 解决ads工程转到MDK(keil)可能出现的error

<br />本文转载自http://guliqun1983.blog.163.com/blog/static/5011168520110279584269/<br />解决ads工程转到MDK(keil)可能出现的error <br />最近把ADS1.2工程转到MDK4.03出现一些error,罗列了可能出现的error,并给予相关的办法,让大家在以后的转换中尽快搞定<br />1:error : No section matches selector –no section to be FIRST/LA

2011-04-15 10:16:00 1059

原创 ARM汇编中B跳转指令和LDR跳转的区别

ARM汇编中两种常见跳转指令的区别

2011-04-12 14:33:00 3433

转载 ARM IMPORT |Image$$RO$$Limit| 的含义

<br />IMPORT |Image$$RO$$Base| ; Base of ROM code<br />IMPORT |Image$$RO$$Limit| ; End of ROM code (=start of ROM data)<br />IMPORT |Image$$RW$$Base|   ; Base of RAM to initialise<br />IMPORT |Image$$ZI$$Base|   ; Base and limit of area<br />IMPORT |Image$

2011-04-11 16:58:00 1011

转载 ARM启动代码学习(一)RO和RW还有ZI代表什么?

<br />本文转载自http://blog.chinaunix.net/u3/100239/showart_2000011.html<br />一个程序包括只读的代码段和可读写的数据段。在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly);可读写的全局变量和静态变量被称作RW段(ReadWrite);RW段中要被初始化为零的变量被称为ZI段(ZeroInit)。对于嵌入式系统而言,程序映象都是存储在Flash存储器等一些非易失性器件中的,而在运行时,程序中的RW段必须重新装载到可读

2011-04-11 16:53:00 953

转载 Linux内核中ioremap映射的透彻理解

几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:   (1)I/O映射方式(I/O-mapped)   典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(如X86的IN和OUT指令)来访问这一空间中的地址单元。   (2)内存映射方式(Memory-mapped)

2011-04-07 11:28:00 1213

原创 ARM-Linux下ZLG7290 I2C驱动程序的编写

项目中用到ZLG7260按键数码显示芯片与at91sam9260系列ARM9处理器连接,ZLG7290通过I2C接口与ARM9的TWI I2C(PA23:SDA数据线;PA24:SCL时钟线)接口相连连接,另外还有一个中断信号引脚(INT)与ARM的一个GPIO引脚(PB30)连接,具体连接电路由于公司需要技术保密不贴出来了。本周通过学习Linux I2C体系架构,完成这一驱动程序,下面将一些开发心得贴出来和大家分享。        首先来看什么是I2CI2C (Inter-Integrated Circu

2011-04-02 10:37:00 4985 4

DataSocket技术在网络化测试中的应用

基于Labview的DataSocket编程,快速构建网络化资源,使用基于VC的快速Active控件

2010-08-31

空空如也

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

TA关注的人

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