- 博客(26)
- 资源 (55)
- 收藏
- 关注
原创 usb5-写成usb驱动
usb总线驱动模型里也有struct usb_driver和struct usb_device,这点与platform虚拟总线里的struct platform_device和struct platform_driver相似。不同之处是platform模型中,需要写两个驱动文件,分别是driver.ko和device.ko,然后分别insmod。usb驱动只需要写一个驱动文件driver
2011-10-31 17:26:32 1405
原创 usb4-配置usb触摸屏
淘了一个触摸屏,usb接口,四线电阻,usb芯片是cy7c63723c。此芯片一端接触摸屏的四根线,对触摸动作采样然后ad转换,一端通过usb接mini2440,即将ad转换后的数据通过usb接口发给mini2440.linux2.6.32已经集成usb 触摸屏驱动,mini2440默认是不配置的。可以配置一下make menuconfig 之后选择 Device Drivers
2011-10-31 11:32:42 4685
原创 io-同步 异步 阻塞 非阻塞
异步io是kernel帮你的线程盯着该线程所要的数据是否可用,而线程可以去做别的事情。当数据可用时kernel通知你的线程。需要利用事件等机制来完成。同步io是你的线程自己去向内核查询所要的数据是否可用。在查询的时候,数据不可用的话:如果内核将这个线程塞进等待队列,直到数据可用时,内核将线程加进可运行队列,并将可用数据给它,则是阻塞型io;如果内核不将其塞进等待队列,而是直接给他一个e
2011-10-28 11:47:50 1096
原创 usb3-some hid tables
3 Usage PagesTable 1: Usage Page SummaryPage ID Page Name Section or Document00 Undefined01 Generic Desktop Controls 402 Simulation Controls 503 VR Controls 004 Sport Co
2011-10-27 16:46:46 1352
原创 rfid6-写成platform驱动
将前面rfid的misc挂到platform平台上,因为misc驱动都有了,所以很简单,代码复制过来就好了设备侧就用上文的那个就好/******************platfrom_dev.c***************************/ #include #include #include #include #include #includ
2011-10-25 11:54:42 1402 8
原创 rfid5-写成platform驱动
上文platform驱动虽然可用,但内层要要写misc驱动,所以不使用设备提供的资源会更加简便。可以如下改一下Makefile,同上文ifneq ($(KERNELRELEASE),) obj-m := platform_dev.o platform_drv.o else KDIR := /opt/FriendlyARM/mini2440/linux-2.6.32.2 #
2011-10-25 10:55:02 1062
原创 rfid4-写成platform驱动
适应时代发展,将misc驱动封装到platfrom总线里面去,platform平台总线模型,把设备和驱动分开,即一个东东要分成两个部分去写和去insmod,是不是有点麻烦。--对于固定于一个cpu平台的用户确实感觉比较麻烦,但是linux的目标是兼容所有的cpu平台,在换cpu平台时就会发现这种设计的优点。先看一个platform的简单例子先把Makefile列出ifneq ($(
2011-10-25 09:50:56 1016 1
原创 rfid3-micro2440,linux2.6.32.2,写成misc驱动
接上文的进度,将keil下已经成功的读卡程序写成linux驱动的形式采用misc来写比较方便简单,仅是为了方便测试,好多都在驱动中实现。主文件是rfid.c#include "rc522.h"#define DEVICE_NAME "rfid"unsigned char LastKeyA[6]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};//NO.2卡un
2011-10-23 19:06:53 2093 21
原创 rfid2-micro2440,keil4裸机
将rfid小板移到arm裸机下比较简单,就把arm当单片机来操作就好了。软硬两方面考虑:硬件上,由于rfid的spi在stc11f32x上本来是模拟出来的,所以在micro2440上也先用模拟的吧(s3c2440a有spi接口先不用了)在micro2440原理图上引出如下接口现在定义EINT0 MF_SDA(NSS片选)------(GPF0 OUT)EINT1 MF_
2011-10-23 18:48:30 3529 5
原创 rfid1-stc11f32x
淘宝上买了一个rfid板,如下,左边是单片机stc11f32x,右边是rfid小板射频小板的主控芯片是rc522,可读iso 14443 type a卡,比如s50卡,店主送了两张。简介一下s50卡吧,注:ICC(Integrated Circuit Card)为集成电路卡,CD(Coupling Device)指读写设备s50卡的eeprom共16扇区;每扇区4块,共
2011-10-23 17:06:07 3287 9
原创 mini2440的时钟
mini2440上为了降低电磁干扰配备了12MHz的晶振,如果直接给当做cpu的时钟,那这个s3c2440a就屈才了。幸好cpu内部自带了MPLL将晶振时钟倍频使得cpu工作在FCLk及AHB总线上的外设工作在HCLK和APB总线上的外设工作在PCLK。当然还配有一个UPLL来产生恒定的48MHZ以支持usb2.0.①.时钟源选择在系统复位时检测引脚OM3:OM2,若是0:0,则主时钟源选
2011-10-21 16:38:31 1311
原创 usb2-键盘里的hid
键盘设备和主机的hid规范 /*键盘发送给PC的数据每次8个字节 data0 data1 data2 data3 data4 data5 data6 data7 定义分别是: data0 -- |--bit0: Left Control是否按下,按下为1 |--bit1: Left Shift 是否按下,按下为1
2011-10-15 15:13:45 3752
原创 usb2-鼠标里的hid
hid spec 下载:http://www.usb.org/developers/hidpage#Class_Definitionshid usage table 下载http://www.usb.org/developers/hidpage#HID_Usagemouse设备和主机的hid规范,每次中断传输,mouse发给pc 4个字节的数据data,含义如下
2011-10-15 11:40:52 2017
原创 usb2-相关的input子系统及 写成input子系统
//设置支持的事件类型,如input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);//声明支持按键事件EV_KEY和相对坐标事件EV_REL//也可用下面的形式set_bit(EV_KEY,input_dev->evbit)set_bit(EV_REL,input_dev->evbit)//设置号支持的类型后,再设置支持类型
2011-10-15 11:27:10 5128
原创 usb1-使用usb
/*参考国嵌usb视频linux2.6.32.2uboot2009.11*/首先了解linux de usb编程层次----by the way,usb is yousb有颜色的部分是需要自己写代码的,但很多设备的驱动已经写好放在在driver目录下,但可能没配置。而usb主机控制器驱动和udc驱动在linux内核已经实现,不必写代码。但可能没配置,所以必要时make menucon
2011-10-13 18:50:51 2452
原创 换底板1
之前用过altium划过几张电路图,一段时间没用都生疏了。为了给micro2440换个底板来作为一个pid控制器的外围电路,温习了一下软件。记录一下流程。使用ad10。这里也有封装 http://www.arm9home.net/read.php?tid-1714.html①.打开micro2440的底板工作区文件(altium版)②生成micro2440的集成库③创建pidpcb
2011-10-10 10:32:44 2927 1
原创 kernel移植之linux stage2:启动内核
linux/init/main.casmlinkage void __init start_kernel(void){ char * command_line; extern struct kernel_param __start___param[], __stop___param[]; smp_setup_processor_id(); /*
2011-10-07 17:58:07 2502
原创 kernel移植之linux stage1:内核引导
/* * linux/arch/arm/kernel/head.S * * Copyright (C) 1994-2002 Russell King * Copyright (c) 2003 ARM Limited * All Rights Reserved * * This program is free software; you can redistribute it
2011-10-07 17:56:49 1880
原创 kernel移植
linux2.6.35.14详细步骤见Mini2440 Linux移植开发实战指南.pdf嵌入式Linux应用开发完全手册chapter16①在官方内核中已经添加了对mini2440的支持,已有文件linux/arch/arm/configs/mini2440_defconfiglinux/arch/arm/mach-s3c2440/mach-mini2440.c(友善
2011-10-07 15:21:52 949
原创 uboot移植之uboot/include/configs/mini2440.h
此文件是设置uboot的一些参数的主要地方,比较常用的用/***&&&****/标记了一下/* * (C) Copyright 2002 * Sysgo Real-Time Solutions, GmbH * Marius Groeger * Gary Jenne
2011-10-06 19:12:30 1805
原创 uboot 移植之gd_t,bd_t
gd_t定义在uboot/include/asm-arm/global_data.h/* * (C) Copyright 2002 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * * See file CREDITS for list of people who contributed to this * proje
2011-10-06 18:39:01 2207
原创 uboot移植之标记列表
Bootloader 将参数放在某个约定的地方之后,再启动内核,内核启动后从这个地方获得参数。除了约定好参数存放的地址外,还要规定参数的结构。Linux 2.4.x 以后的内核都期望以标记列表(tagged list)的形式来传递启动参数。标记,就是一种数据结构;标记列表,就是挨着存放的多个标记。标记列表以标记ATAG_CORE 开始,以标记ATAG_NONE 结束。标记的数据
2011-10-06 18:08:46 2522
原创 uboot移植之uboot和kernel的参数传递
从uboot启动内核的形式theKernel (0, machid, bd->bi_boot_params)可以看出uboot给内核传递了3个参数,第1个是0,第2个是机器码,第3个是参数列表在SDRAM的起始位置刚好满足一下调用内核的条件• R0=0。• R1=机器类型ID;• R2=启动参数标记列表在RAM 中起始基地址①在 uboot/board/tekkaman
2011-10-06 17:36:36 3294
原创 uboot移植之命令烧写uboot,zImage.img,root
使用nor的supervivi烧写uboot到nand:进入supervivi,选择a,absolute user application /**************uboot下用命令下载uboot,内核和文件系统********************//*先将内核zImage用mkimage转换成uImage(叫zIMage.img)mkimage 工具是uboot
2011-10-06 16:36:17 5707 3
原创 uboot移植之uboot stage2
从stage1的start.S中跳转到uboot/lib_arm/board.c的start_armboot函数,此时处于stage2,已经在sdram的33f80000地址空间内运行,进行cpu及外设的全面初始化board.c的源码如下/* * (C) Copyright 2002-2006 * Wolfgang Denk, DENX Software Engineering, wd
2011-10-05 15:35:51 1893 1
原创 uboot移植之uboot stage1
/*******************************************************************************************************************************************/u-boot-2009.11详细步骤参考mini2440之U-boot移植详细手册-20100419.pd
2011-10-04 18:44:00 2748
RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip
2014-12-30
swru209b sch
2012-12-30
SmartRF05EB sch
2012-12-30
mjpg-streamer-mini2440-read-only-bysong.tgz
2011-11-25
源码 rfid stc51f32x
2011-10-25
远程调试PLC的解决方案的问题
2024-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人