- 博客(16)
- 资源 (6)
- 收藏
- 关注
转载 LDD3源码分析之字符设备驱动程序
作者:刘昊昱 博客:http://blog.youkuaiyun.com/liuhaoyutz编译环境:Ubuntu 10.10内核版本:2.6.32-38-generic-paeLDD3源码路径:examples/scull/main.c 本文是对LDD3第三章驱动代码的分析记录。LDD3的scull源码是一个综合性的驱动程序,内容涵盖了第三章到第六章的内容,初学者在学习过程中可
2013-03-06 14:55:25
591
转载 ldd3 源码编译之 scullc 字符设备驱动 错误解决办法
使用内核版本-linux-3.2 错误1:make -C /lib/modules/3.2.0/build M=/home/wrk/works/drivers/ldd3/examples/scullc LDDINC=/home/wrk/works/drivers/ldd3/examples/scullc modules
2013-03-06 12:03:03
2238
转载 进程上下文和中断上下文
上下文context: 上下文简单说来就是一个环境,相对于进程而言,就是进程执行时的环境。具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。 一个进程的上下文可以分为三个部分:用户级上下文、寄存器上下文以及系统级上下文。 用户级上下文: 正文、数据、用户堆栈以及共享存储区; 寄存器上下文: 通用寄存器、程序寄存器(IP)、处理器状态寄存器(
2013-03-03 18:10:43
354
转载 LDD3源码分析之hello.c与Makefile模板
作者:刘昊昱 博客:http://blog.youkuaiyun.com/liuhaoyutz编译环境:Ubuntu 10.10内核版本:2.6.32-38-generic-paeLDD3源码路径:examples/misc-modules/hello.c 一、hello.c文件分析 这个程序非常简单,它的目的是向我们展示Linux模块编程的
2013-03-03 17:14:52
383
转载 构造内核源码树
编写驱动程序时, 需要内核源码树的支持。内核源码树时从内核源代码编译得到的。下面开始构造内核源代码的步骤。 以Ubuntu为例子1. 下载内源代码,位置www.kernel.org. (注意:源码树内核的版本要和驱动程序运行的目标平台的内核版本一致)apt-cache search linux-source //搜索内核版本
2013-03-03 15:59:07
355
转载 解决3.2.0 kernel编译问题:ERROR: "__modver_version_show"
安装的是ubuntu 11.10,下载3.2.0的kernel,先编译kernel,结果碰到如下出错信息:ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!安装原来的编译经验,应该是__modver_version_show未实现,或者实现体未编译进来,但是发现params.c中已经实
2013-03-03 15:48:53
1003
转载 LINUX内核编译选项-6
Firmware Drivers --->固件就是你板上的BIOS、各种显卡芯片之类的已经固化好的记录某些特定数据的东西。 BIOS Enhanced Disk Drive calls determine boot diskBIOS加强磁盘功能,确定启动盘。选y或M,如果你要使用BIOS加强磁盘服务功能来确定BIOS用哪个磁盘来启动。启动后这个信息会反映在系统文件中。这个选项
2013-03-03 15:45:10
989
转载 LINUX内核编译选项-5
Device Drivers --->驱动程序Generic Driver Options --->驱动程序通用选项(/sbin/hotplug) path to uevent helper[*] Maintain a devtmpfs filesystem to mount at /dev[*] Automount devtmpfs at /dev, after
2013-03-03 15:44:14
4475
转载 LINUX内核编译选项-4
[*] Networking support --->网络支持Networking options --->网络选项 Packet socket选包套接口(计算机为TCP/IP数据转换所保留的一系列存贮地址)包协议被很多程序用来直接连接网络设备,而不需要内核执行中间网络协议,比如 tcpdump 。如果你要它们工作,选Y。选m编译成模块。模块名: af_packet 。
2013-03-03 15:42:35
1184
转载 LINUX内核编译选项-3
Bus options (PCI etc.) --->I/O总线选项,由Interl在1992年初制订. 现在一般的总线类型都是PCI. 使用PCI总线的系统于1993年中期出现,从此成为主流.[*] PCI support PCI支持,如果使用了PCI或PCI Express设备就必选PCI access mode (Any) ---> PCI访问模式,
2013-03-03 15:41:02
870
转载 LINUX内核编译选项-2
-*- Enable the block layer --->块设备支持,使用硬盘/USB/SCSI设备者必选这选项使得块设备可以从内核移除。如果不选,那么 blockdev 文件将不可用,一些文件系统比如 ext3 将不可用。这个选项会禁止 SCSI 字符设备和 USB 储存设备,如果它们使用不同的块设备。选Y,除非你知道你不需要挂载硬盘和其他类似的设备。不过此
2013-03-03 15:40:18
938
转载 LINUX内核编译选项-1
General setup ---> 常规设置[*]Prompt for development and/or incomplete code/drivers显示尚在开发中或尚未完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。这个选项同样会让一些老的驱 动的可用。如果你选了Y,你将会得到更多的阿尔法版本的驱动和代码的配置菜单
2013-03-03 15:38:20
518
转载 Linux输入子系统(Input Subsystem)
Linux输入子系统(Input Subsystem) Linux 的输入子系统不仅支持鼠标、键盘等常规输入设备,而且还支持蜂鸣器、触摸屏等设备。本章将对 Linux 输入子系统进行详细的分析。一 前言 输入子系统又叫 input 子系统。其构建非常灵活,只需要调用一些简单的函数,就可以将一个输入设备的功
2013-01-15 12:10:58
424
转载 STM32 Bootloader地址跳转相关
STM32的矢量表: 用户代码的首地址处放的是堆栈地址,首地址+4的地方放的是代码的复位地址,所以1, JumpAddress = *(vu32*) (ApplicationAddress + 4);是把用户代码的复位地址赋值给JumpAddress。2, __MSR_MSP(*(vu32*) ApplicationAddress); 是把用户代码的堆栈地址写入堆栈指
2012-12-07 14:40:38
3920
转载 STM32之 启动文件详细解析(V3.5.0)
在>,用的是STM32F103RBT6,所有的例程都采用了一个叫STM32F10x.s的启动文件,里面定义了STM32的堆栈大小以及各种中断的名字及入口函数名称,还有启动相关的汇编代码。STM32F10x.s是MDK提供的启动代码,从其里面的内容看来,它只定义了3个串口,4个定时器。实际上STM32的系列产品有5个串口的型号,也只有有2个串口的型号,定时器也是,做多的有8个定时器。比如,如果你用的
2012-12-07 14:36:11
2231
转载 STM32 ADC多通道转换(转)
描述:用ADC连续采集11路模拟信号,并由DMA传输到内存。ADC配置为扫描并且连续转换模式,ADC的时钟配置为12MHZ。在每次转换结束后,由DMA循环将转换的数据传输到内存中。ADC可以连续采集N次求平均值。最后通过串口传输出最后转换的结果。程序如下:#i nclude "stm32f10x.h" //这个头文件包括STM32F10x所有外围寄存器、位、内存映射的定义#i ncl
2012-08-19 10:34:46
2729
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人