Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建
1. openSUSE是一款优秀的linux。
2.选择默认虚拟机
3.选择稍后安装操作系统
4.选择linux opensuse
5. 选择默认虚拟机名称
6.设置处理器为双核。
7.内存设置为2G
8. 选择网络地址转换
9.设置IO控制器
10. 选择默认磁盘类型
11.创建一个新的虚拟磁盘
12.设置磁盘大小
13.选择路径保存虚拟磁盘
14. 完成虚拟机创建
15.设置虚拟机
16.选择opensuse镜像
17.开启虚拟机
18.虚拟机启动
19.安装opensuse
20.安装程序加载
21.系统启动中
22.系统初始化中
23.选择中文,开始安装
24.同意协议
25.单击下一步,这两步后续完成
26.单击下一步
27.同步NTP服务器
28.单击下一步
29.选择KDE桌面
30.设置账户密码
31.开始分析系统
32.开始安装软件
33.全选所有的选项
C/C++开发
Linux内核驱动开发
34.开始安装
35.安装中
36.安装进行时
37.安装完成进入界面
38.写一个C语言的helloworld
39.启动终端
40.进入路径
41.编译执行
42.写一个C++的代码1,cc
43. 打印语句,C++
44.打印出结果
45. 驱动的helloworld
#include <linux/init.h> //驱动初始化
#include <linux/module.h>//驱动模块
MODULE_LICENSE("Dual BSD/GPL");//遵循linux协议
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);//打印驱动结束信息
46.q驱动的编译选项,注意all,clean下面的操作前面都要加tab键
pwd = $(shell pwd)
KERNEL_SRC = /lib/modules/$(shell uname-r)/build
obj-m := hello.o
module-objs := hello.o
all:
$(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules
clean:
rm *.ko
rm *.o
47.编译驱动
48 超级管理员加载驱动
49 看到驱动输出
50 卸载驱动,并查看
51驱动退出。
52遍历所有驱动
53. 驱动程序list
54.
这个时候openSUSE CCPP以及Linux内核驱动开发环境搭建完成,希望大家认真实践。
Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建的更多相关文章
- Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建
1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/font ...
- Unix/Linux环境C编程入门教程(1) Solaris 11 64bit环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 本文就带大家来安装Solaris 11 64位并且配置好C/C++开发环境 本文所 ...
- Unix/Linux环境C编程入门教程(19)Red Hat Entetprise Linux 7.0环境搭建
位架构,包括英特尔X-86_64.Power和s390.动态定时能力将降低内核内部中断数量,Open vSwitch 2.0功能可调节虚拟机之间的流量.RHEL 7中默认的文件系统是XFS,包含了一个 ...
- Unix/Linux环境C编程入门教程(5) Red Hat Enterprise Linux(RHEL)环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 通过./a.out ./Y.out执行出结果,证明C++程序编译成功,也就说明li ...
- Unix/Linux环境C编程入门教程(4) Debian Linux环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 1.广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Deb ...
- Unix/Linux环境C编程入门教程(3) Oracle Linux 环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 2010年9月,Oracle Enterprise Linux发布新版内核--Un ...
- Unix/Linux环境C编程入门教程(2) CentOS环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 本文就带大家来安装CentOS并且配置好C/C++开发环境,这是一款Linux. ...
- Unix/Linux环境C编程入门教程(32) 环境变量那些事儿
1. getenv() putenv()setenv()函数介绍 getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include<stdli ...
- Unix/Linux环境C编程入门教程(22) C/C++如何获取程序的运行时间
1.问:知道程序运行时间我们可以做什么? 在<C++应用程序性能优化>一书中,如果大家读过相信大家一定对性能优化这一块非常上心,文中总是对优化前后的时间对比非常直观给我们一个感受. 那么我 ...
随机推荐
- Android 修改toast的默认位置和获取当前屏幕的高度和宽度
Toast toast; toast=Toast.makeText(this, "toast", Toast.LENGTH_LONG); toast.setGravity(grav ...
- 转:HTML 5 控件事件属性
Window 事件属性 window 对象触发的事件. 适用于 <body> 标签: 属性 值 描述 onafterprint script 在打印文档之后运行脚本 onbeforepri ...
- 预定义异常 - PHP手册笔记
Exception是所有异常的基类,类摘要如下: <?php class Exception { protected string $message; // 异常消息内容 protected i ...
- SPI模式下MCU对SD卡的控制及操作命令
一.前言 SD 卡有两个可选的通讯协议:SD 模式和 SPI模式 SD 模式是SD 卡标准的读写方式,但是在选用SD 模式时,往往需要选择带有SD 卡控制器接口的 MCU,或者必须加入额外的SD卡控制 ...
- .Net缓存
近期研究了一下.Net的缓存,据说可以提高系统的性能. .Net缓存分为两种HttpRuntime.Cache和HttpContext.Current.Cache 不过从网上查找资料,说两种缓存其实是 ...
- ubuntu KDE/GNOME vnc
- 微软将Bing变开放平台 同谷歌争夺开发者
微软在编译者大会上宣布将Bing作为平台开放,此举显然旨在改变谷歌(微博)一家独大的局面. 报道称,微软知道如何创建平台.因此当它发布新平台时,都值得业界仔细关注.就在上周之前,微软Bing给大家的印 ...
- javascript实现倒计时
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- js 和 jsp关系
http://stackoverflow.com/questions/11718063/use-javascript-or-jquery-inside-a-cif-statement 纠结了半天的问题
- C语言实现有序二叉树(1)
在cpp中使用的C语言 头文件 /* 有序二叉树 BsTree */ #ifndef _BT_H #define _BT_H /*节点*/ typedef struct BsTreeNode { in ...