驱动
文章平均质量分 57
taozi343805436
这个作者很懒,什么都没留下…
展开
-
A、B、C、D和E类IP地址
IP地址分为A,B,C,D,E五类。网络号:用于识别主机所在的网络;主机号:用于识别该网络中的主机。其中A类分配给政府机关使用,B类地址给大中型企业使用,C类地址给个人使用。这三种是主要的。IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。其中A类、B类、和C类这三类地址用于TCP/原创 2013-09-17 10:08:58 · 1642 阅读 · 0 评论 -
Tiny6410关于制作ubifs文件系统映像缺少 liblzo2.so.2解决办法
#mkubimage-mlc2 rootfs_qtopia_qt4 rootfs_qtopia_qt4.ubi将把rootfs_qtopia_qt4目录压制为UBIFS格式的rootfs_qtopia_qt4.ubi映像文件可是会出现这样的错 mkubimage-mlc2: error while loading share libraries: liblzo2.so.2: can原创 2013-03-12 14:40:10 · 1737 阅读 · 0 评论 -
mknod指令详解
mknod - make block or character special filesmknod [OPTION]... NAME TYPE [MAJOR MINOR] option 有用的就是 -m 了 name 自定义 type 有 b 和 c 还有 p 主设备号 次设备号主设备号是由linux/major.h定义的,如原创 2013-03-12 09:15:20 · 1285 阅读 · 0 评论 -
6410根文件系统的制作
1.搭建开发环境 开发环境(主要指linux、虚拟机的安装和交叉编译环境的搭建)完全按照mini6410用户手册4.3节操作,在此不再赘述。2.根文件系统的目录说明 根文件系统是Linux启动的时候使用的第一个文件系统,没有它系统将无法正常的启动,然而在这个根文件系统中又包含了一系列的目录,接下来对这些目录做一个简单的介绍。bin 存放所有用原创 2013-03-11 19:45:13 · 1291 阅读 · 0 评论 -
6410字符驱动编写的全过程
1.编写驱动代码2.编写调试驱动代码3.加载驱动代码到内核中 linux-2.6.38/drivers/char/......4.编译内核(1)make clean(2)make distclean(3)cp config_mini6410_s70_cx_v01 .config(4)make menuconfig(5)make -j85.编译完成原创 2013-01-11 10:29:59 · 675 阅读 · 0 评论 -
6410开发板系统安装卡(sd卡)制作及还原升级使用
1.安装卡制作及使用(2GB以上SD/TF卡)(1)通过以下命令,生成out_images目录下的minifs_ubi.img、rootfs_ubi.img、user_data_ubi.img ./mkimags.shroofs.tar.bz2下载地址minifs.tar.bz2下载地址u-boot.bin_nand下载地址注明:mkimages.sh脚本文件内容原创 2013-02-22 10:30:38 · 1642 阅读 · 0 评论 -
驱动编写举例完整流程(模块化形式)
<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->1.编写驱动程序(hello.c),并且把驱动程序放在linux-2.6.38/drivers/char下。#include#includestatic int __init hello_init(void){printk(KERN_ALERT"原创 2013-02-20 11:00:45 · 1864 阅读 · 0 评论 -
vim最基本的命令
<!--body, div, table, thead, tbody, tfoot, tr, th, td, p {font-family:"DejaVu Sans"; font-size:x-small}-->ctrl+f荧幕向下移动一页,相当于page down按键ctrl+b荧幕向上移动一页,相当于page up按键原创 2013-03-04 20:41:34 · 658 阅读 · 0 评论 -
GPIO控制一个外部接口驱动
<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->GPIO控制一个外部接口驱动1.电路图实现UART_EN高电平导通上图为链接UART_EN链接P1的A43.由电路图可知,UART_EN链接的是6410处理器的GPH0接口。2.驱动程序为:#include原创 2013-01-07 17:34:48 · 1933 阅读 · 0 评论 -
6410开发板更换内核zImage
<!--@page {margin:2cm}p {text-indent:0.35cm; margin-bottom:0.21cm; direction:ltr; color:#000000; line-height:150%; text-align:justify; widows:0; orphans:0}p.western {font-fam原创 2013-02-19 10:35:53 · 1143 阅读 · 0 评论 -
挂接在/proc上的对LED灯控制的驱动
通过一天的学习总结一下挂接在/proc上的对LED灯控制的驱动开发,代码和过程1.驱动代码#include #include #include #include #include #include #include MODULE_LICENSE("Dual BSD/GPL"); #define USER_ROOT_DIR "led"原创 2012-08-28 09:24:02 · 1798 阅读 · 0 评论 -
挂接在/proc上的GPIO控制一个外部接口驱动
驱动代码:#include #include #include #include #include #include #include #define USER_ROOT_DIR "uart_en"#define USER_ENTRY1 "uart_en_entry1"static struct proc_dir_entry *uart_en_root;static原创 2013-01-07 19:47:14 · 2236 阅读 · 0 评论 -
shell脚本实现死循环
#!/bin/shwhile :do # do somethingdone“:” 表示实现一个空语句,什么也不做,相当于C语言的“;”原创 2013-01-11 09:57:12 · 29014 阅读 · 3 评论 -
linux重定向命令应用及语法
1. 标准输入的控制语法:命令 文件将命令的执行结果送至指定的文件中。例如:ls -l > list 将执行“ls -l” 命令的结果写入文件list 中。语法:命令>! 文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。例如:ls -lg >! list 将执行“ls - lg” 命令的结果覆盖写入文件list 中。语法:命令>& 文件将命令执行时屏幕上所原创 2013-01-11 10:12:01 · 788 阅读 · 0 评论 -
linux-3.6.38内核关于/proc挂载例子
内核源代码位置:linux-3.6.38/drivers/tty/serial/samsung.c+1550#if defined(RS485_PORT3) || defined(RS485_PORT2)static struct proc_dir_entry *gpn12_inode = NULL;static char msg[10];static int writ原创 2013-01-10 19:16:31 · 1021 阅读 · 0 评论 -
初学者掌握嵌入式的视频教程
http://item.taobao.com/item.htm?spm=a1z09.5.0.39.WknwNz&id=16042761051原创 2013-03-12 16:14:49 · 1042 阅读 · 0 评论 -
国嵌嵌入式自学给力视频,自学完全有可能
学习链接原创 2013-03-12 16:30:35 · 1512 阅读 · 0 评论 -
can总线驱动源码分析
/* * Microchip MCP2515 CAN controller driver. * * Copyright (C) 2007 Embedall Technology Co., Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms o原创 2013-05-28 09:58:39 · 3671 阅读 · 2 评论 -
can总线驱动的编写
一.系统硬件结构介绍 系统中 CAN 总线主要用来完成 S3C2410 开发板和 CAN 总线分析仪的数据传输。在S3C2410 开发平台上,MCP2515 芯片用作 CAN 控制器,MCP2551 芯片用作 CAN 收发器,S3C2410 微处理器用作节点控制器。如下图1所示。1.1 S3C2410 的 SPI 接口简介 SPI( Seri原创 2013-05-20 10:22:53 · 5571 阅读 · 4 评论 -
嵌入式linux驱动工程师的基本要求
1.熟悉Linux系统架构,熟悉Linux设备驱动的各种编程接口和机制;2.熟悉Linux内核开发环境,Uboot移植,Linux内核裁剪,根文件系统定制;3.了解ARM硬件工作基本原理及中断处理、IO接口、总线结构;4.有强烈的责任感,工作积极主动,良好的团队精神,性格开朗,善于沟通。1.对芯片架构及细节能够深入掌握。2.做过基本上大部分的驱动,如果某个驱动没有做过,原创 2013-03-29 21:32:17 · 3606 阅读 · 0 评论 -
Linux下PCI设备驱动程序开发
一、PCI总线系统体系结构PCI是外围设备互连(Peripheral Component Interconnect)的简称,作为一种通用的总线接口标准,它在目前的计算机系统中得到了非常广泛的应用。PCI提供了一组完整的总线接口规范,其目的是描述如何将计算机系统中的外围设备以一种结构化和可控化的方式连接在一起,同时它还刻画了外围设备在连接时的电气特性和行为规约,并且详细定义了计算机系统中的各个不转载 2013-04-25 09:28:30 · 993 阅读 · 0 评论 -
关于linux下粘贴位(sticky位)
要删除一个文件,你不一定要有这个文件的写权限,但你一定要有这个文件的上级目录的写权限。也就是说,你即使没有一个文件的写权限,但你有这个文件的上级目录的写权限,你也可以把这个文件给删除,而如果没有一个目录的写权限,也就不能在这个目录下创建文件。 如何才能使一个目录既可以让任何用户写入文件,又不让用户删除这个目录下他人的文件,sticky就是能起到这个作用。stciky一般只用在目录上,用在原创 2013-04-15 19:29:01 · 1431 阅读 · 0 评论 -
linux 串口驱动
一、核心数据结构串口驱动有3个核心数据结构,它们都定义在1、uart_driveruart_driver包含了串口设备名、串口驱动名、主次设备号、串口控制台(可选)等信息,还封装了tty_driver(底层串口驱动无需关心tty_driver)struct uart_driver {struct module *owner; /* 拥有该uart_driver的模块原创 2013-04-03 11:34:37 · 1670 阅读 · 0 评论 -
inode 结构体分析
<!--@page {margin:0.79in}p {margin-bottom:0.08in; direction:ltr; color:#000000; widows:0; orphans:0}p.western {font-family:"Liberation Serif","Times New Roman",serif; font-size:1原创 2013-03-30 16:33:43 · 1659 阅读 · 0 评论 -
file_operations结构体介绍
1.在内核中file_operations源码 linux-2.6.38/include/linux/fs.h/* * NOTE: * all file operations except setlease can be called without * the big kernel lock held in all filesystems. */struct file_oper原创 2013-03-29 14:40:53 · 4282 阅读 · 0 评论 -
file结构体介绍
struct file, 定义于 , 是设备驱动中第二个最重要的数据结构. 注意 file 与用户空间程序的FILE 指针没有任何关系. 一个 FILE 定义在 C 库中, 从不出现在内核代码中. 一个 struct file, 另一方面, 是一个内核结构, 从不出现在用户程序中. 文件结构代表一个打开的文件. (它不特定给设备驱动; 系统中每个打开的文件有一个关联的 struct原创 2013-03-29 15:32:32 · 2471 阅读 · 0 评论 -
一个简单的字符设备驱动
1.字符设备驱动源码#include#include#include#include#include#include#include#include#include#include#include#include /*kmalloc头文件*/#include/*信号量头文件*/#define MEMDEV_MAJOR 251 /*预设的mem的主设备号*/#原创 2013-03-29 09:01:49 · 1415 阅读 · 0 评论 -
6410开发板无法卸载驱动的问题
1.问题描述在开发板加载驱动以后insmod,以后卸载驱动rmmod时,发现卸载不了2.在模块编程的时候要把.ko文件放在/lib/modules/2.6.38-FriendlyARM目录下另外:因为内核有时会升级更新,如果内核版本已经改变,请依照具体的内核版本重新建立一个模块存放目录,在此为/lib/modules/2.6.38-FriendlyARM具体的方法是:原创 2013-03-28 17:25:36 · 1130 阅读 · 0 评论 -
使用 /sys 文件系统访问 Linux 内核
简介: sysfs 是 Linux 内核中设计较新的一种虚拟的基于内存的文件系统,它的作用与 proc 有些类似,但除了与 proc 相同的具有查看和设定内核参数功能之外,还有为 Linux 统一设备模型作为管理之用。相比于 proc 文件系统,使用 sysfs 导出内核数据的方式更为统一,并且组织的方式更好,它的设计从 proc 中吸取了很多教训。本文就 sysfs 的挂载点 /sys 目录结构原创 2013-03-14 17:13:29 · 1093 阅读 · 0 评论 -
6410SD卡启动流程
1.开始启动一个最小系统minifs_sd2.然后启动busybox文件系统lrwxrwxrwx 1 root root 11 7月 5 2011 linuxrc -> bin/busybox3.执行etc/init.d/rcS文件#!/bin/shrm -f /var/run/dbus/*rm -rf /tmp/.*rm -rf /tmp/*#/bin/原创 2013-03-13 17:24:42 · 993 阅读 · 0 评论 -
android学习视频教程,很详细
learn android原创 2013-03-12 16:25:02 · 1119 阅读 · 0 评论 -
simple_stroul
unsigned long simple_stroul(const char *cp,char **endp,unsigned int base);解析字符串cp 中 8,10,16 进制数字 ,返回值是解析的数字,endp 指向字符串起始处,base :进制 看看 内核中的函数:proc_scsi_write 就知道了。unsigned long simple_strtoul(co原创 2013-01-10 10:36:26 · 917 阅读 · 0 评论 -
linux下部分头文件的作用
除去内核源码下的include目录外,在arch/arm/mach-s3c2410/和arch/arm/plat-s3c24xx/目录下都有include目录的。#include /* printk() */#include /* kmalloc() */#include /* file_operations、inode_oper原创 2013-01-08 15:25:31 · 1108 阅读 · 0 评论 -
uboot移植过程出现的错误
错误一:main.c:51:error:inline function 'show_boot_progress' cannot be decleared weakmake[1]:***[main.0]错误1make[1]:正在离开目录'/home/sns/linux2.6.32/icetek-v3/u-boot-orig/common'make:***[common/libcomm原创 2012-09-11 12:49:22 · 1952 阅读 · 0 评论 -
错误总结
1.在busybox,编译内核时,出错解决:#cd busybox#make distclean#make menuconfig原创 2012-09-12 11:52:49 · 612 阅读 · 0 评论 -
搭建了一个mini2440开发板u-boot的框架(2)
根据u-boot启动流程图的步骤来分析或者修改添加u-boot源码,使之适合mini2440开发板(注:修改或添加的地方都用红色表示)。1)mini2440开发板u-boot的stage1入口点分析。一般在嵌入式系统软件开发中,在所有源码文件编译完成之后,链接器要读取一个链接分配文件,在该文件中定义了程序的入口点,代码段、数据段等分配情况等。那么我们的my2440开发板u-boot的这个链原创 2012-09-11 14:57:38 · 1979 阅读 · 0 评论 -
搭建了一个mini2440开发板u-boot的框架(1)
一、移植环境主 机:ubuntu开发板:友善之臂mini2440编译器:arm-linux-gcc-4.3.2u-boot:u-boot-2009.03.tar.bz2二、移植步骤 目前u-boot对很多CPU直接支持,可以查看board目录的一些子目录,如:board/samsung/目录下就是对三星一些ARM处理器的支持,有smdk2400、smdk2410和smdk64原创 2012-09-11 11:49:56 · 1862 阅读 · 0 评论 -
linux 2.6.32.2内核移植(MINI2440)步骤
1.获取内核移植源码http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.2.tar.bz22.解压内核源码(1).bzip2 -d linux-2.6.32.2.tar.bz2(2).tar -xvf linux-2.6.32.2.tar3.修改总目录下的Makefile原:export KBUILD_原创 2012-09-10 15:38:21 · 2063 阅读 · 0 评论 -
在linux上对时间的延迟
1.应用程序:#include usleep(n) //n微秒Sleep(n)//n毫秒sleep(n)//n秒2.驱动程序:include void ndelay(unsigned long nsecs); 纳秒级:1/10^-10 void udelay(unsigned long usecs);原创 2012-08-28 10:12:32 · 1076 阅读 · 0 评论 -
SD卡,U盘挂接位置
1.开发板6410插入SD卡,挂接位置是/sdcard2.插入U盘,挂接位置是/udisk原创 2012-09-05 09:34:36 · 2165 阅读 · 0 评论