- 博客(40)
- 资源 (40)
- 收藏
- 关注
转载 Fedora内核编译
每一个Linux发行版都有自己专门的工具去构建自定义的内核. 本文主要介绍在Fedora平台上编译内核, 如何从www.kernel.org(也叫vanilla kernel)获得最新且未改动的内核源代码来构建一个自定义的内核, 这样你可以使用自己的内核而不是发行版的内核, 另外也介绍了如何给内核打补丁, 从而方便增加新的功能.下面的工作我都在Fedora Core 6上经过了测试.
2013-12-31 14:00:40 1528
转载 用GDB调试程序
用GDB调试程序GDB概述原文见:http://blog.csdn.net/haoel/article/details/2879GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功
2013-12-31 09:09:42 801
转载 写驱动时交叉编译之makefile编写模板
ifneq ($(KERNELRELEASE),) obj-m := mini6410_leds.oelse KERNELDIR := /opt/FriendlyARM/mini6410/linux/linux-2.6.38PWD:=$(shell pwd) all: make -C $(KERNELDIR) M=$(PWD) mo
2013-12-30 10:42:52 1352
转载 rt3070 AP驱动 移植到dm365和mini2440全过程
#History:2011-05-20#Author:yingru移植驱动的重要准备工作:dm365或者mini2440的内核需要在pc的目录下(就是LINUX_SRC)编译(make menuconfig mini2440还需要make一遍)过,否则报各种错误..上次下的sta驱动,虽然makefile可以修改MODE=STA成MODE=AP或APSTA,但是编译的时候
2013-12-26 17:20:21 1326
转载 Linux下的实时流媒体编程
原文:http://www.ibm.com/developerworks/cn/linux/l-mdst/index.html一、流媒体简介随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频/视频(Audio/Video,简称A/V)等多媒体文件时,基本上只有下载和流式传输两种选择。通常说来,A/V
2013-12-26 11:03:52 1005 1
转载 使用udp发送大于128K的消息会报ENOBUFS的错误
1、Unix domain socket简介unix域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法,所用API于在不同主机上执行客户/服务器通信所有的API(套接字API,如AF_INET、AF_INET6等类型的API)相同。unix域协议可以视为是进程之间本地通信IPC的一种。unix域提供两类套接口:字节流套接口(类似TCP)和数据报套接口(类似UDP)
2013-12-25 16:07:30 1108
原创 执行make menuconfig 出现错误
我们在更新CentOS或者Ubuntu的内核时,执行make menuconfig可能看如这样的错误:*** Unable to find the ncurses libraries or the*** required header files.*** ‘make menuconfig’ requires the ncurses libraries.****** Inst
2013-12-20 18:11:30 1019
原创 poll函数说明
larbin中的poll函数不仅设置了POLLIN而且设置了POLLOUT,这时我们对POLLOUT可能会有这样的疑问,什么时候POLLOUT会发生的,也就是什么时刻可以发送request呢? 问这个问题其实是不了解larbin对socket描述字的设置,其实larbin中的socket都是非阻塞的,而对于非阻塞的socket POLLOUT事件是可以立即返回的。一开始不明白为什么不对打开
2013-12-19 15:10:58 1209
转载 Linux GPIO驱动相关笔记
打算跟着友善之臂的《mini2440 linux移植开发指南》来做个LED驱动,虽然LED的原理简单得不能再简单了,但是要把kernel中针对于s3c24**的GPIO的一些数据结构,还有函数搞清楚也不是那么轻松的事,所以本文主要简单地说明下LED驱动中的相关数据结构以及函数/宏的定义,并对驱动加以验证 ***************************************
2013-12-19 10:13:45 915
转载 《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解
原文地址:《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解 作者:tekkamanninja 最近在看《深入Linux设备驱动程序机制》,这本书条理清晰,我从中获益良多。以前在学习内核驱动的时候就是知道怎么用,对于内部的原理了解的不是这么深入。且当时的能力有限,想了解深入也不容易。这次正好趁复习驱动原理的机会,把这本书认真学习以下。
2013-12-18 16:44:56 886
转载 MiniGUI移植到s3c2410
硬件环境: Host:X86 PC Target:博创s3c2410开发板软件环境: Host:VMware虚拟机下的redhat linux 9.0(完全安装) kernel:linux-2.4.20Target:arm-linux kernel:linux-2.4.18Crosstool: armv4l-unknown-linux-gcc-3.4.1PS
2013-12-18 15:20:48 834
转载 ARM core 介绍
ARM core 介绍作者:程老师,华清远见嵌入式学院讲师。一、ARM处理器的特点(1)支持的数据类型A.字节 8bit B.半字 16bit C.字 32bit(2)采用32位精简指令集(RISC)处理器架构ARM处理器可以工作在两种状态:A . ARM状态指令长度为32位,这种状态执行的是字对
2013-12-17 18:26:57 1470
转载 在Ubuntu上为Android系统编写Linux内核驱动程序
在智能手机时代,每个品牌的手机都有自己的个性特点。正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了。据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore。随着Android系统逐步扩大市场占有率,终
2013-12-17 16:47:20 736
转载 linux mmap 详解
linux mmap 详解谨以此文纪念过往的岁月一.前言mmap的具体实现以前在学习内核时学习过,但是对于其中的很多函数是一知半解的,有些只能根据其函数名来猜测其具体的功能,在本文中,一起来重新深入理解其具体的实现。二.mmap的用户层应用void *mmap(void *start,size_t length,int prot,int flags,int fd,o
2013-12-17 16:43:13 542
转载 Linux内存管理之mmap详解
一、概述 内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,同样,内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间用户空间两者之间需要大量数据传输等操作的话效率是非常高的。以下是一个把普遍文件映射到用户空间的内存区域的示意图。图一:二、基本函数 mma
2013-12-17 16:24:48 1090
转载 U-BOOT环境变量的获取和保存的实现分析
本文主要以U-boot(1.1.6)为例进行说明。1.相关文件common/env_common.c供u-boot调用的通用函数接口,它们隐藏了env的不同实现方式,比如dataflash, epprom, flash等common/env_dataflash.cenv 存储在dataflash中的实现common/env_epprom.cenv 存储在eppr
2013-12-17 13:48:54 993
转载 USB驱动程序代码分析——鼠标用作键盘
首先我们贴出代码:/* * drivers\hid\usbhid\usbmouse.c */#include #include #include #include #include #include static struct input_dev *uk_dev;static char *usb_buf;static dma_ad
2013-12-17 13:47:52 991
转载 [Linux驱动开发] USB驱动之usb_skel分析
在学习了这么些天的驱动之后,个人觉得驱动就是个架构的问题,只要把架构弄清楚了然后往里面添砖加瓦就可以了,所以似乎看起来不是太困难,但也许是是我经验不足吧,这只能算是个人浅见了这两天在学习USB驱动开发,奇怪的是老师居然不讲USB的代码,让人不理解,后来在网上找资料才发现原来内核已经给我们准备了一个usb_skel的代码向我们介绍几本的USB驱动的架构,于是自己分析了一下代码,画了一个我认为
2013-12-17 13:42:26 1004
转载 Linux 2.6中断下半部机制分析
作者:流星摘要 本文主要从使用者的角度对Linux 2.6内核的下半部机制softirq、tasklet和workqueue进行分析,对于这三种机制在内核中的具体实现并未进行深入分析,倘若读者有兴趣了解,可以直接阅读Linux内核源代码的相关部分。说明 本文档由流星自网上收集整理,按照自由软件开放源代码的精神发布,任何人可以免费获得、使用和重新发布,但是你没有限制别
2013-12-17 13:39:58 650
转载 linux根文件系统的制作
一、FHS(Filesystem Hierarchy Standard)标准介绍当我们在linux下输入ls / 的时候,见到的目录结构以及这些目录下的内容都大同小异,这是因为所有的linux发行版在对根文件系统布局上都遵循FHS标准的建议规定。该标准规定了根目录下各个子目录的名称及其存放的内容:目录名存放的内容/bin必备的用户命令,例如ls
2013-12-17 13:34:42 1871
转载 Linux source code Makefile分析
linux-2.6.x makefile linux-2.6.20.6/Documentation/kbuild/makefiles.txt 一、 概述 linux的makefile有五个部分: Makefile:顶层Makefile .config:内核配置文件 arch/$(ARCH)/Makefile:体系结构相
2013-12-17 13:32:47 913
转载 Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成 那么如何将驱动直接编译进内核呢? 在我们实际内核的移植配置过程中经常听说的内核裁剪又是怎么麽回事呢?我们在进行linux内核配置的时候经常会执行make men
2013-12-17 13:31:00 784
转载 strcpy和memcpy的区别
strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。
2013-12-17 13:24:03 858
转载 Linux芯片级移植与底层驱动(基于3.7.4内核)
宋宝华 BarrySong 21cnbao@gmail.com>新浪微博: @宋宝华Barry 1. SoC Linux底层驱动的组成和现状为了让Linux在一个全新的ARM SoC上运行,需要提供大量的底层支撑,如定时器节拍、中断控制器、SMP启动、CPU hotplug以及底层的GPIO、clock、pinctrl和DMA硬件的封装等。定时器节拍、中断控制器
2013-12-17 13:17:31 6442
转载 linux下,USB四大主要数据结构
转自:http://www.linuxdiyf.com/viewarticle.php?id=20723 USB内核(USB驱动,USBD )处于系统的中心,对于它进行研究是能够进行USB驱动开发(包括客户驱动和主机驱动)的第一步。它为客户端驱动和主机控制器驱动提供了主要数据结构和接口函数,主要有四类功能:客户端驱动管理,USB设备的配置和管理,主机控制器的管理,协议控制命令集和数
2013-12-17 13:14:15 830
转载 Linux 内核/sys 文件系统介绍
转自:http://www.xxlinux.com/linux/article/development/kernel/20090112/14828.htmllinux2.6内核引入sysfs文件系统,sysfs可以看成与proc,devfs和devpty同类别的文件系统,该文件系统是虚拟的文件系统,可以更方便对系统设备进行管理。它可以产生一个包含所有系统硬件层次视图,与提供进程和状态信息的pr
2013-12-17 13:13:28 969
转载 USB基本问题及答案
转自:http://www.zdh1909.com/html/usb/10903.html 问题一:USB的传输线结构是如何的呢? 答案一:一条USB的传输线分别由地线、电源线、D+、D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(注意哦,与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500MA(可以在编程中设置的,至于硬件的
2013-12-17 13:07:49 828
转载 Linux USB驱动工作流程
1. USB主机在Linux驱动中,USB驱动处于最底层的是USB主机控制器硬件,在其之上运行的是USB主机控制器驱动,主机控制器之上为USB核心层,再上层为USB设备驱动层(插入主机上的U盘、鼠标、USB转串口等设备驱动)。因此,在主机侧的层次结构中,要实现的USB驱动包括两类:USB主机控制器驱动和USB设备驱动,前者控制插入其中的USB设备,后者控制USB设备如何与主机通信。Linu
2013-12-17 13:06:47 883
转载 Linux USB驱动详解
原文地址:http://blog.csdn.net/chenjin_zhong/article/details/63293161.Linux usb设备驱动框架USB是通用串行总线的总称,Linux内核几乎支持所有的usb设备,包括键盘,鼠标,打印机,modem,扫描仪。Linux的usb驱动分为主机驱动与gadget驱动。前者是设备连接到计算机上,通过主机驱动扫描usb设备,控制所连接的
2013-12-17 13:03:17 1935
转载 urb分析,usb_fill_bulk_urb函数理解
usb request block,简称urb。事实上,可以打一个这样的比喻,usb总线就像一条高速公路,货物、人流之类的可以看成是系统与设备交互的数据,而urb就可以看成是汽车。在一开始对USB规范细节的介绍,我们就说过USB的endpoint有4种不同类型,也就是说能在这条高速公路上流动的数据就有四种。但是这对汽车是没有要求的,所以urb可以运载四种数据,不过你要先告诉司机你要运什么,目的地是
2013-12-17 08:42:07 2029
转载 linux内核中的min、max函数
这些天为了整理一下前段时间看ldd3时所学的驱动知识,所以就去看了看usb驱动。不看不知道,一看吓一跳,里面有很多语法我发现用的太好了,不像我们平时那样写代码。里面写的代码真是太好了。然而要理解到里面的东西还是不容易的。今天看见usb_stor_access_xfer_buf函数的时候,想看看里面的min 函数是不是按照我们写的那么写。但是一看傻啦,还有些东东我还没用过,于是赶紧google一
2013-12-16 09:03:33 1700
原创 Ubuntu配置嵌入式交叉编译环境
我的主机环境:Ubuntu:13.10uname -r:3.11.0-12-genericuname -a:Linux ubuntu 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:12:00 UTC 2013 i686 athlon i686 GNU/Linuxgcc -v:gcc version 4.8.1 (Ubuntu/Linar
2013-12-15 22:33:09 1029
转载 Linux下的硬件驱动——USB设备
赵明 (carl__zhao@163.com), 联想软件设计中心嵌入式研发处系统设计工程师简介: USB设备越来越多,而Linux在硬件配置上仍然没有做到完全即插即用,对于Linux怎样配置和使用他们,也越来越成为困扰我们的一大问题。本文着力从Linux系统下设备驱动的架构,去阐述怎样去使用和配置以及怎样编制USB设备驱动。对于一般用户,可以使我们明晰Linux设备驱动方
2013-12-13 17:41:41 1825
转载 Linux设备驱动程序学习-USB 驱动程序
Linux设备驱动程序学习(16)-USB 驱动程序(一)从此文档开始,内核使用2.6.29.4很久没有写《LDD3》的学习笔记了,趁着做项目的机会,学习一下USB的驱动程序,并写学习笔记。。如果刚开始接触USB,会感觉无从下手,这种感觉就像我第一次接触嵌入式Linux一样。所以要对USB的硬件原理、数据传输和在USB电缆上传输的数据格式有一定的了解。所以推荐一篇《实用US
2013-12-13 16:26:10 1903
转载 Linux下的USB总线驱动
一.USB理论1. USB概念概述USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB) USB2.0版本速度480Mbps(高速USB)USB驱动由USB主机控制器驱动和USB设备驱动组成。USB主机控制器是用来控制USB设备和CPU之间通信的,USB主机控制器驱动主要用来驱动芯片上的主机控制器硬件。USB设备驱动主要是指具体的例
2013-12-12 17:48:00 772
转载 usb键鼠驱动分析
一、鼠标linux下的usb鼠标驱动在/drivers/hid/usbhid/usbmouse.c中实现1.加载初始化过程1.1模块入口[cpp] view plaincopymodule_init(usb_mouse_init); 1.2初始化函数[cpp] view plaincopy
2013-12-12 17:45:52 1292
转载 Linux下的platform总线驱动
一.Platform设备驱动概念主要讲解平台设备驱动的模型和基本概念,同时因为驱动加载的方式有动态加载和静态加载两种方式,这里我们分别对动态加载和静态加载两种情况下,如何使用平台设备和驱动加以叙述。最后使用mini2440开发板,运用Platform和device_attribute机制,编写按键驱动代码和测试代码。 我们知道linux内核中常见的的总线有I2C总线,PCI总线,串口总
2013-12-12 17:43:28 768
原创 linux内核添加新的模块
Add a New Module in Linux KernelA new in-memory logging module is added in the Linux kernel 2.6.35.14.1. Add the source code of the new module into the kernel:# cd /root/linux-2.6.35.1
2013-12-10 09:26:11 1145
转载 fedora12搭建smb,tftp,nfs服务器
一、 安装yum本地源使用字符界面安装fedora linux时,很多rpm软件包并没有安装,如果使用rpm 命令来安装软件包,会因为软件包依赖的关系,使人感觉很烦。那有没有一种比较简单的方法,能避免自己去找软件包的依赖关系呢?答案是有的,那就是yum。Yum在安装rpm软件包是会自动的去寻找软件包的依赖关系,并自动的把依赖的软件包安装好。 1)
2013-12-05 17:25:15 1047
转载 fedora10下设置静态IP地址 (对于fedora 17同样适用) .
fedora10下设置静态IP地址 2013-12-04 15:00本人使用fedora10的时间较长,在使用过程中,遇到很多问题,在此遇到了静态IP设置的问题,在linux与开发板mini2440连接的时候总是因为IP的设置要改来改去,因此,现在设置为静态IP,参考一些网上的文章,综合起来设置OK了,现在使用的是静态IP,也可以上网,有图有真相,下面说明如何设置静态IP。首先说
2013-12-04 14:47:42 1254
ubuntu20.02用的tensorflow-1.15.3
2020-12-21
ubuntu20.04 tensorflow-2.2.5的python安装包
2020-12-21
rtl8188eus驱动
2016-01-07
RT3070缺少rt2870.bin文件
2015-09-07
win10 USB转串口驱动 PL2303
2015-08-07
Tcpmp_0.72RC1
2014-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人