嵌入式
文章平均质量分 77
keepcode
这个作者很懒,什么都没留下…
展开
-
C语言按键控制led灯和蜂鸣器
循环流水灯和蜂鸣器,按键结束#define rGPJ2CON (*(volatile unsigned long *)0xe0200280)#define rGPJ2DAT (*(volatile unsigned long *)0xe0200284)#define rGPD0CON (*(volatile unsigned long *)0xe02000a0)#define rGPD0D原创 2015-08-16 10:37:17 · 8028 阅读 · 0 评论 -
linux设备模型bus总线
bus-driver-device结构1)设备是连接到总线上2)驱动也是连接到总线上3)设备总是通过总线跟驱动对应起来内核2.4与2.6区别?引入设备模型,主要体现在以下几个方面:1)电源管理2)跟用户的交互接口/sys /proc 3)热插拨4)分类处理参考:http://www.cnblogs.com/wwang/archive/2010/原创 2015-10-31 21:50:42 · 553 阅读 · 0 评论 -
linux驱动platform平台设备总线
platform总线:是由许多AX2,AHB,APB等总线的总称,是相对于linux操作系统来说的而AHB,APB,AX2那些是相对于硬件底层来说。实例:pdev.c#include #include #include #include #include #include #include #include void led_dev_release(struc原创 2015-10-31 21:57:07 · 631 阅读 · 0 评论 -
linux驱动ioctl
ioctluser系统调用#include int ioctl(int fd, int cmd, ...);kernel驱动int led_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)#include #include #include #inc原创 2015-10-25 13:18:55 · 645 阅读 · 0 评论 -
linux驱动杂项设备类misc
misc(杂项设备类) struct miscdevice {int minor; // 次设备号const char *name;// 设备名const struct file_operations *fops;// 操作方法struct list_head list;struct device *parent;// 私有指针struct de原创 2015-10-31 22:08:09 · 548 阅读 · 0 评论 -
linux驱动按键控制led灯
IO端口操作1.基本概念机器的组成:.处理器.总线.IO外设 2.IO映射及使用1)申请IO struct resource *request_mem_region(resource_size_t start,resource_size_t n,const char *name)void release_mem_region(resource_s原创 2015-10-25 14:01:21 · 4024 阅读 · 0 评论 -
linux驱动设备号的注册
创建设备号,分2种,静态注册和动态注册(不是自己指定设备号)。静态:注册int register_chrdev(unsigned int major, const char *name,const struct file_operations *fops)传参:major: 主设备号name: 设备名fops:指向驱动操作方法返回值:0:成功非0:失败原创 2015-10-24 23:56:34 · 668 阅读 · 0 评论 -
linux驱动的read和write
内核中的memcpy---copy_from_user和copy_to_user:虽然说内核中不能使用C库提供的函数,但是内核也有一个memcpy的函数,用法跟C库中的一样。下面用用file_operations中的read和write模拟两件事:1)从内核态通过read函数读取数据到用户态。2)从用户态通过write函数读取数据到内核态。实例:driver.c原创 2015-10-25 11:48:15 · 656 阅读 · 0 评论 -
S5PV210的u-boot移植
1. 解压:tar jxvf android_uboot_smdkv210.tar.bz2进入目录:cd u-boot-samsung-dev2. 安装交叉编译器:vi Makefile在 147 行,我们发现 u-boot 使用 arm-2009q3 编译器:143 ifeq ($(ARCH),arm)144 #CROSS_COMPILE =原创 2015-10-17 14:12:11 · 451 阅读 · 0 评论 -
Boa服务器移植
1.下载Boa源码解压:# tar xzf boa-0.94.13.tar.gz2.安装需要工具bison,flexsudo apt-get install bison flex否则会出现如下错误make: yacc:命令未找到 make: *** [y.tab.c] 错误 127make: lex:命令未找到 make: *** [原创 2015-10-17 17:02:10 · 333 阅读 · 0 评论 -
S5PV210的busybox移植
文件系统的"构建".类型1.windows系统ntfs fat322.linux系统ext2/3/4 3.net file systemnfs4.virt file systemromdisk / ramdisk5.嵌入式文件系统(flash)cramfs / jffs/jffs2/jffs3 / yaffs/yaffs2/yaffs3 .基本结原创 2015-10-17 14:52:08 · 565 阅读 · 0 评论 -
S5PV210的kernel移植
1、先熟悉源码目录结构2、然后通过源码分析,熟悉kernel执行过程3、尝试进行修改添加kernelkernel移植初体验1)进入源码目录,在linux下解压,因为在windows下解压,会出现相同文件提示覆盖那些,因为windows不区分大小写,而且还有一些链接文件在。2)修改 Makefile 中的体系结构 ARCH 和交叉编译器前缀 CROSS_COMPILEvi原创 2015-10-17 14:19:26 · 1186 阅读 · 0 评论 -
在uboot里烧写系统
需要三个系统文件 rootfs.img uImage u-boot.bin // 一定要烧写flash的0x0地址 //u-boot和zimage要配套。要不然可能开不了机将linux三个系统文件烧写到flash的三个区域1. 安装windows下的tftp服务因为uboot里有tftp的客服端 .打开tftpd32 .brower ->原创 2015-08-06 23:05:46 · 841 阅读 · 0 评论 -
linux基础驱动
linux高级驱动1.linux设备模型.bus (platform-bus).device.driver 2.具体接口驱动1.led(基于"platform总线"的"杂项设备类"的"字符设备驱动")2.adc 3.lcd(framebuffer子系统)4.ts (input子系统 + i2c总线模型)5..3.块设备/网络设备(dm9000原创 2015-10-24 22:54:24 · 363 阅读 · 0 评论