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 *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versionsm *.order *.symvers
test:
insmod ./hello.ko
rmmod hello
dmesg -c
5.好了,现在测试开始,成功的话,就可以看到下面的文字了.
如果有问题的话,向google大神请教吧.另外要看
root@192.168.20.128:~/cpp # make
make -C /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 开发环境搭建教程》所涵盖的主要知识点,包括虚拟机的设置、Ubuntu系统的安装、gcc编译器的使用、Linux内核的编译安装过程、initrd.img的创建以及Grub的配置等。通过跟随这些步骤,可以搭建...
在本文中,我们将深入探讨嵌入式Linux的开发环境搭建、应用程序开发以及系统移植开发的相关知识点。 一、开发环境搭建 1. 工具链:嵌入式开发通常需要交叉编译,因此需要安装对应目标平台的交叉编译工具链,如ARM...
以下是搭建嵌入式Linux开发环境的关键步骤和相关知识点: 1. **选择硬件平台**:首先,你需要确定开发硬件,这可能是基于ARM或其他处理器架构的开发板,如BeagleBone,Raspberry Pi或NVIDIA Jetson等。 2. **安装...
2. **驱动开发环境搭建**: - **Linux发行版选择**:如Ubuntu、Fedora、Debian等,通常选择有良好开发工具支持的发行版。 - **交叉编译环境**:对于嵌入式设备,可能需要配置交叉编译工具链。 - **内核源码获取**...
在Linux系统中搭建PHP开发环境是一项基础且重要的任务,它涉及到服务器配置、Web服务的安装以及PHP解释器的集成。本教程将详细讲解这个过程,确保开发者能够在Linux环境下顺利进行PHP编程。 首先,我们需要安装一个...
在开始构建之前,我们需要确保已经具备了一个合适的开发环境。本文假设读者正在使用Lubuntu 12.10系统,并且所有操作都以root用户身份执行。以下是构建过程中的主要步骤: 1. **下载必要的工具软件**:通过`apt-get...
ESP32 Linux 开发环境搭建(CMake 版本) 一、环境及工具 在开始ESP32的Linux开发之前,首先确保你拥有一台安装了Linux操作系统的计算机。推荐使用Ubuntu或者Debian等基于Linux内核的发行版,因为它们通常对开发者...
1. **Linux驱动开发环境的搭建**: - 安装Linux发行版:通常选择Ubuntu、Fedora或Debian等支持开发的Linux发行版。 - 配置编译工具:包括GCC(GNU Compiler Collection)用于C/C++代码编译,Make工具进行项目构建...
根据给定的文件信息,以下是在搭建基于ARMHF的Debian Linux系统过程中涉及的关键知识点: 1. CubieBoard硬件平台:CubieBoard是一种基于ARM架构的开源硬件平台,采用ARM Cortex-A8处理器。这种硬件通常被用来开发和...
在嵌入式系统开发中,建立一个合适的开发环境是至关重要的第一步。本教程将专注于"3530环境搭建",这是一个针对特定处理器型号(可能是Samsung S3C3530或其他类似的微处理器)的嵌入式Linux开发过程。在这个过程中,...
开发环境搭建 ##### 2.1 从零搭建开发环境虚拟机 为了在 PC 上模拟目标系统的运行环境,可以使用虚拟机技术搭建开发环境。 - **选择合适的虚拟化平台**:如 VirtualBox、VMware Workstation 或 Hyper-V。 - **...
### Debian AMD64 安装指南精要解析 ...通过细致的规划和准备,Debian AMD64不仅能够充分发挥64位处理器的性能优势,还能满足各类应用需求,成为高性能计算、服务器部署及专业软件开发的理想平台。
实验报告——嵌入式Linux开发和调试环境搭建 在信息技术领域,嵌入式系统与Linux操作系统结合使用,形成了一种高效、稳定且可定制的解决方案。本实验旨在为学生提供一个构建嵌入式Linux开发和调试环境的基础,以...
移植RTC驱动前,我们需要搭建软件开发环境。这通常涉及在虚拟机上安装Linux发行版,例如Red Hat Linux,以隔离开发环境并确保系统的稳定性。安装完成后,需要获取相应的软件包和内核源码,以便对内核进行编译和调试...
总结来说,这篇基于Linux的RTC驱动开发本科学位论文全面探讨了Linux环境下的RTC驱动开发流程,从Linux系统基础、Tiny210开发板、RTC芯片的特性到驱动程序的设计与实现,为读者提供了深入理解Linux驱动开发的理论知识...
Linux系统安装可以选择各种发行版,如Ubuntu、Debian或CentOS,这些都提供了稳定且强大的开发环境。 在虚拟机中安装Linux后,配置串口通信工具minicom变得至关重要。minicom是一个用于终端仿真和串行通信的开源工具...
1. **操作系统准备**:通常,雷达开发环境基于Linux操作系统,如Ubuntu或Debian,因为它们提供稳定且开源的环境,支持实时操作系统(RTOS)以及各种开发工具。 2. **依赖库安装**:在Linux环境下,需要安装如ROS...
3. 开发环境搭建 要进行Linux驱动开发,首先需要安装一个支持开发的Linux发行版,如Ubuntu、Fedora或Debian。然后,需要安装交叉编译工具链,以适应不同的目标平台。此外,设置内核源码环境,获取内核源代码,并配置...
总之,嵌入式系统环境搭建涉及多方面的技术,从选择合适的操作系统到配置复杂的交叉编译环境,再到硬件平台的选择与测试,每个环节都对后续的开发工作有着深远影响。通过不断学习和实践,才能在这个领域中游刃有余。
大多数情况下,Linux发行版如Ubuntu或Debian是首选,因为它们提供了更好的稳定性和开源的开发环境。 2. **依赖库安装**:激光雷达数据处理通常需要特定的库,例如PCL(Point Cloud Library)用于处理三维点云数据,...