`
dazhilao
  • 浏览: 246407 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

【转】micro2440-linux-spi驱动

阅读更多
在arch/arm/mach-s3c2440/mach-mini2440.c中:
1:加入头文件:
#include <linux/spi/spi.h>
#include <linux/spi/spidev.h>
 
 
2:----------------------------------------

static struct spi_board_info s3c2410_spi0_board[] = {
        [0] = {
                 .modalias = "spidev",
                .bus_num        = 0,  
                .chip_select        = 0,
                .irq = IRQ_EINT9,
                .max_speed_hz         = 500*1000,
        },
};

static struct s3c2410_spi_info s3c2410_spi0_platdata = {
        .pin_cs = S3C2410_GPB1,//此处根据内核不同略有不同,在2.6.32                  
        .num_cs = 1,           //#include <mach/regs-gpio.h>有不同定义
        .bus_num = 0,
};
 
 

3:-------------------------------
mini2440_devices平台设备数组中添加
&s3c_device_spi0

mini2440_machine_init函数中添加
s3c_device_spi0.dev.platform_data= &s3c2410_spi0_platdata;
spi_register_board_info(s3c2410_spi0_board, ARRAY_SIZE(s3c2410_spi0_board));

说明:
spi_register_board_info函数将spi_board_info结构体信息添加到内核board_list链表中,在加载s3c2410-spi模块时依次调用关系是:s3c24xx_spi_probe-->spi_bitbang_start-->spi_register_master-->scan_boardinfo,在scan_boardinfo时遍历整个board_list链表,根据bus_num找到我们添加进去的spi_board_info。
 
 
4:-----------------------------
内核编译完成后进入/root/linux-2.6.32.2/Documentation/spi
执行:arm-linux-gcc -I/root/linux-2.6.32.2/include  spidev_test.c
后会生成a.out的spi测试程序;
拷入文件系统运行可看到结果。
分享到:
评论

相关推荐

    micro2440-um-20100609.zip

    在压缩包内的文件名"micro2440用户手册 -2010-6-9.pdf"中,我们可以预期这是一份PDF格式的用户手册,包含了S3C2440的详细规格、寄存器描述、外设接口、开发环境设置、驱动程序编写指南以及可能的故障排除等内容。...

    micro2440_test

    开发者使用micro2440开发板时,可能涉及到的操作包括操作系统移植(如Linux或WinCE)、驱动程序编写、硬件接口控制等。 在压缩包中只有一个文件名为"2440test",这可能是一个可执行文件,如测试脚本或者二进制程序...

    CMT-Linux-Example-Src.zip_linux 陀螺仪_linux数据采集_linux采集

    在本项目中,我们关注的是"CMT-Linux-Example-Src.zip",它包含了与Linux系统下微机械陀螺仪(Micro-Electro-Mechanical Systems Gyroscope,简称MEMS Gyroscope)数据采集相关的源代码。这个压缩包是针对MTi-G陀螺...

    micro2440用户手册.pdf

    - **核心板Micro2440**:搭载了Samsung S3C2440 ARM920T CPU,工作频率最高可达400MHz,内置MMU支持Linux等操作系统。 - **底板Micro2440SDK**:提供了丰富的外设接口,如USB、串口、LCD、CMOS摄像头接口等。 #### ...

    linux驱动开发的好书,老外写的

    ### Linux驱动开发核心知识点概述 #### 一、引言与基础知识 - **Linux发展历史**:本书首先介绍了Linux操作系统的发展历程,从其最初的版本到现在的广泛使用,为读者提供了历史背景。 - **GNU Copyleft许可证**:...

    A13-OlinuXino-playground:玩转A13-OlinuXino-MICRO

    A13-OlinuXino-MICRO支持多种操作系统,最常见的是Linux发行版,如Debian、Ubuntu或定制的轻量级Linux系统。开发者可以通过这些系统进行驱动程序开发、应用编程和系统优化。 **开发环境** 1. **交叉编译**: 由于...

    U-Boot详解 U-Boot详解

    U-Boot,全称Micro Universal Boot Loader,是一款开源的嵌入式系统引导加载器,主要用于各种嵌入式设备和系统,包括单片机、SoC(System on Chip)以及嵌入式计算机系统。它在启动过程中执行初始化硬件、设置内存...

    project.rar_嵌入式Linux_C/C++_

    在本文中,我们将深入探讨"project.rar_嵌入式Linux_C/C++_"这一主题,重点关注在Mini2440和Micro2440平台上进行嵌入式Linux开发的知识点。这些平台是基于Samsung S3C2440或S3C2443处理器的嵌入式开发板,广泛用于...

    DE1-SoC_User_manual.pdf

    - 驱动程序和开发环境配置文件 #### 获取帮助 - 官方网站:www.terasic.com - 社区论坛和技术支持 ### DE1-SOC 板介绍 #### 板布局与组件 - **核心组件**:包含 Cyclone V SoC FPGA,集成了 ARM 处理器和可编程...

    ILI9163芯片手册和驱动程序

    同时,要考虑到不同操作系统(如Linux、RTOS或嵌入式系统)的驱动模型,确保兼容性和性能。此外,对于图形用户界面(GUI)的开发者,理解 ili9163的特性可以帮助他们优化显示效果,比如色彩校准、响应时间优化等。 ...

    BC95-Linaro开发板使用文档1

    - 设置过程可能包括安装必要的驱动程序,配置连接到NB-IoT网络,编程MCU,以及使用GPIOs和其他接口。这可能涉及到对开发环境的设置,如集成开发环境(IDE),例如STM32CubeIDE,以及编写和烧录固件。 Banana Pi BC...

    基于物联网的 Intel Edison Arduino开发板原理图、PCB源文件、BOM及驱动等-电路方案

    Supports Arduino Sketch, Linux, Wi-Fi, and Bluetooth. Board I/O: Compatible with Arduino Uno (except 4 PWM instead of 6 PWM) 20 digital input/output pins including 4 pins as PWM outputs 6 analog ...

    友善之臂的2440非操作系统示例代码

    4. **设备驱动编程**:S3C2440板上可能包括各种外设,如LCD、UART、GPIO、I2C、SPI等。编写这些设备的驱动程序,使得它们能够在无OS环境中工作,是实现特定功能的基础。 5. **初始化代码**:启动代码通常包括设置...

    JLink_Windows_V648.zip

    DLL: Linux: Delayed / slowed execution of certain API functions when using J-Link via USB (e.g. on Close()). Introduced in V6.46. Fixed. DLL: Linux: When calling a J-Link application via the global ...

    HI3516DV500DMEB-VER-C-SCH上 DV500原理图

    6. **SPI Flash和eMMC**:SPI Flash用于存储固件或配置数据,而eMMC(嵌入式多媒体卡)是一种高速、大容量的非易失性存储器,用于存储操作系统和其他应用程序。 7. **Micro-SD卡和WIFI连接器**:Micro-SD卡提供额外...

    明华开发包URF-R330.rar

    读卡器通过内置的控制器与电脑进行通信,控制器能识别并处理各种类型的存储卡协议,如SPI、I2C或USB。URF-R330读卡器可能支持多种标准的接口,如USB 2.0或3.0,以确保高速的数据传输。此外,它可能还具备即插即用和...

    智龙国产平台开发.pdf

    官方教程通常会涵盖从基础到高级的应用,包括实验平台和开发环境的搭建、Linux基础应用编程、以及开发板硬件编程和驱动程序编写等。这些教程通过实践案例和应用场景组织内容,帮助开发者从零开始学习直至能够独立...

    正点原子阿尔法开发板U-Boot.zip

    对于正点原子阿尔法开发板,U-Boot的定制还可能涉及特定的驱动程序和配置,以充分利用i.MX6ULL的特性,例如GPIO、I2C、SPI、UART等接口的管理,以及LCD、摄像头等外围设备的支持。 总之,正点原子阿尔法开发板上的U...

Global site tag (gtag.js) - Google Analytics