`
kongweile
  • 浏览: 517392 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Debian 6 驱动开发环境搭建

 
阅读更多

Debian 6 驱动开发环境搭建
1.安装相关工具
apt
-get install -y gcc g++ gdb make build-essential

2.查看系统版本,并安装内核头文件
root@
192.168.20.128:~/ # uname -r
2.6.32-5-686
apt
-cache search linux-headers-2.6.32-5-686
apt
-get install -y linux-headers-2.6.32-5-686

3.查看内核头文件位置
看下会安装到哪
:
apt
-cache show linux-headers-2.6.32-5-686

有这么句
:
These files are going to be installed into
/usr/src/linux-headers-2.6.32-5-686, and can be used for building modules

就是这里啦
.
/usr/src/linux-headers-2.6.32-5-686

4.好了,接下来写测试例子:hello,抄了http://bbs.chinaunix.net/thread-3570849-1-1.html
上的代码
:
文件1
:hello.c
#include <linux/init.h>
#include <linux/module.h>

MODULE_LICENSE("GPL");

static 
int hello_init(void)
{
    printk(KERN_ALERT 
"Hello, world\n");
    
return 0;
}

static void hello_exit(void)
{
    printk(KERN_ALERT 
"Goodbye, cruel world\n");
}

module_init(hello_init);
module_exit(hello_exit);

文件2
:Makefile:
obj
-m   +=hello.o
KERNELDIR   
:= /usr/src/linux-headers-2.6.32-5-686
PWD 
:=$(shell pwd)
.PHONY: test clean all
all
:
    $(MAKE) 
-C $(KERNELDIR) M=$(PWD) modules
clean
:
    rm 
-rf *.*~ core .depend .*.cmd *.ko *.mod..tmp_versionsm *.order *.symvers

test
:
    insmod 
./hello.ko
    rmmod hello
    dmesg 
-c
    
5.好了,现在测试开始,成功的话,就可以看到下面的文字了.
如果有问题的话
,向google大神请教吧.另外要看
root@
192.168.20.128:~/cpp # make 
make -/usr/src/linux-headers-2.6.32-5-686 M=/root/cpp modules
make[
1]: Entering directory `/usr/src/linux-headers-2.6.32-5-686'
  CC [M]  /root/cpp/hello.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/cpp/hello.mod.o
  LD [M]  /root/cpp/hello.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-5-686
'
root@
192.168.20.128:~/cpp # make test
insmod ./hello.ko
rmmod hello
dmesg 
-c
[  
673.500413] Hello, world
[  
673.504907] Goodbye, cruel world
root@
192.168.20.128:~/cpp #


6.最后.安装开发帮助文档
apt
-get install -y manpages-kernel-dev linux-manual
man 
9 printk
man 
9 module_init

参考资料
: 
http
://bbs.chinaunix.net/thread-3570849-1-1.html

分享到:
评论

相关推荐

    Kernel 2.6.10 开发环境搭建教程.pdf

    以上就是《Kernel 2.6.10 开发环境搭建教程》所涵盖的主要知识点,包括虚拟机的设置、Ubuntu系统的安装、gcc编译器的使用、Linux内核的编译安装过程、initrd.img的创建以及Grub的配置等。通过跟随这些步骤,可以搭建...

    嵌入式Linux(开发环境搭建+应用程序开发+系统移植开发).tar.gz

    在本文中,我们将深入探讨嵌入式Linux的开发环境搭建、应用程序开发以及系统移植开发的相关知识点。 一、开发环境搭建 1. 工具链:嵌入式开发通常需要交叉编译,因此需要安装对应目标平台的交叉编译工具链,如ARM...

    03嵌入式Linux开发环境搭建

    以下是搭建嵌入式Linux开发环境的关键步骤和相关知识点: 1. **选择硬件平台**:首先,你需要确定开发硬件,这可能是基于ARM或其他处理器架构的开发板,如BeagleBone,Raspberry Pi或NVIDIA Jetson等。 2. **安装...

    xx.rar_Linux驱动_linux 驱动开发_linux驱动开发_驱动开发

    2. **驱动开发环境搭建**: - **Linux发行版选择**:如Ubuntu、Fedora、Debian等,通常选择有良好开发工具支持的发行版。 - **交叉编译环境**:对于嵌入式设备,可能需要配置交叉编译工具链。 - **内核源码获取**...

    Linux搭建php开发环境

    在Linux系统中搭建PHP开发环境是一项基础且重要的任务,它涉及到服务器配置、Web服务的安装以及PHP解释器的集成。本教程将详细讲解这个过程,确保开发者能够在Linux环境下顺利进行PHP编程。 首先,我们需要安装一个...

    基于cubieboard 从零搭建 debian

    在开始构建之前,我们需要确保已经具备了一个合适的开发环境。本文假设读者正在使用Lubuntu 12.10系统,并且所有操作都以root用户身份执行。以下是构建过程中的主要步骤: 1. **下载必要的工具软件**:通过`apt-get...

    esp32 linux开发环境搭建(cmake版本).docx

    ESP32 Linux 开发环境搭建(CMake 版本) 一、环境及工具 在开始ESP32的Linux开发之前,首先确保你拥有一台安装了Linux操作系统的计算机。推荐使用Ubuntu或者Debian等基于Linux内核的发行版,因为它们通常对开发者...

    Linux驱动开发庖丁解牛

    1. **Linux驱动开发环境的搭建**: - 安装Linux发行版:通常选择Ubuntu、Fedora或Debian等支持开发的Linux发行版。 - 配置编译工具:包括GCC(GNU Compiler Collection)用于C/C++代码编译,Make工具进行项目构建...

    cubieboard 从0开始 搭建debian linux

    根据给定的文件信息,以下是在搭建基于ARMHF的Debian Linux系统过程中涉及的关键知识点: 1. CubieBoard硬件平台:CubieBoard是一种基于ARM架构的开源硬件平台,采用ARM Cortex-A8处理器。这种硬件通常被用来开发和...

    3530环境搭建 嵌入式Linux开发环境构建

    在嵌入式系统开发中,建立一个合适的开发环境是至关重要的第一步。本教程将专注于"3530环境搭建",这是一个针对特定处理器型号(可能是Samsung S3C3530或其他类似的微处理器)的嵌入式Linux开发过程。在这个过程中,...

    ATK-DLIMX93嵌入式Linux驱动开发指南

    开发环境搭建 ##### 2.1 从零搭建开发环境虚拟机 为了在 PC 上模拟目标系统的运行环境,可以使用虚拟机技术搭建开发环境。 - **选择合适的虚拟化平台**:如 VirtualBox、VMware Workstation 或 Hyper-V。 - **...

    Debian AMD64 安装指南.pdf

    ### Debian AMD64 安装指南精要解析 ...通过细致的规划和准备,Debian AMD64不仅能够充分发挥64位处理器的性能优势,还能满足各类应用需求,成为高性能计算、服务器部署及专业软件开发的理想平台。

    嵌入式Linux开发和调试环境搭建实验报告.docx

    实验报告——嵌入式Linux开发和调试环境搭建 在信息技术领域,嵌入式系统与Linux操作系统结合使用,形成了一种高效、稳定且可定制的解决方案。本实验旨在为学生提供一个构建嵌入式Linux开发和调试环境的基础,以...

    基于Linux操作系统下RTC驱动开发.doc

    移植RTC驱动前,我们需要搭建软件开发环境。这通常涉及在虚拟机上安装Linux发行版,例如Red Hat Linux,以隔离开发环境并确保系统的稳定性。安装完成后,需要获取相应的软件包和内核源码,以便对内核进行编译和调试...

    基于linux操作系统下rtc驱动开发本科学位论文.doc

    总结来说,这篇基于Linux的RTC驱动开发本科学位论文全面探讨了Linux环境下的RTC驱动开发流程,从Linux系统基础、Tiny210开发板、RTC芯片的特性到驱动程序的设计与实现,为读者提供了深入理解Linux驱动开发的理论知识...

    嵌入式Linux基础(环境的搭建及编程)

    Linux系统安装可以选择各种发行版,如Ubuntu、Debian或CentOS,这些都提供了稳定且强大的开发环境。 在虚拟机中安装Linux后,配置串口通信工具minicom变得至关重要。minicom是一个用于终端仿真和串行通信的开源工具...

    镭神智能激光雷达环境搭建脚本-2022-09-28

    1. **操作系统准备**:通常,雷达开发环境基于Linux操作系统,如Ubuntu或Debian,因为它们提供稳定且开源的环境,支持实时操作系统(RTOS)以及各种开发工具。 2. **依赖库安装**:在Linux环境下,需要安装如ROS...

    Linux驱动初探

    3. 开发环境搭建 要进行Linux驱动开发,首先需要安装一个支持开发的Linux发行版,如Ubuntu、Fedora或Debian。然后,需要安装交叉编译工具链,以适应不同的目标平台。此外,设置内核源码环境,获取内核源代码,并配置...

    嵌入式系统环境搭建

    总之,嵌入式系统环境搭建涉及多方面的技术,从选择合适的操作系统到配置复杂的交叉编译环境,再到硬件平台的选择与测试,每个环节都对后续的开发工作有着深远影响。通过不断学习和实践,才能在这个领域中游刃有余。

    镭神智能激光雷达环境搭建脚本-2022-09-24

    大多数情况下,Linux发行版如Ubuntu或Debian是首选,因为它们提供了更好的稳定性和开源的开发环境。 2. **依赖库安装**:激光雷达数据处理通常需要特定的库,例如PCL(Point Cloud Library)用于处理三维点云数据,...

Global site tag (gtag.js) - Google Analytics