当前位置: 首页 > news >正文

网页模板网站有哪些增加收录网站

网页模板网站有哪些,增加收录网站,网站策划的内容包含了什么?,怎么做网站评论若该文为原创文章,转载请注明原文出处。 报着学习态度,接下来学习驱动是如何使用的,从简单的helloworld驱动学习起。 开始编写第一个驱动程序—helloworld 驱动。 一、环境 1、开发板:正点原子的ATK-DLRK3568 2、系统&#xf…

若该文为原创文章,转载请注明原文出处。

报着学习态度,接下来学习驱动是如何使用的,从简单的helloworld驱动学习起。

开始编写第一个驱动程序—helloworld 驱动。

一、环境

1、开发板:正点原子的ATK-DLRK3568
2、系统: buildroot
3、内核:正点原子提供的虚拟机和rk3568_linux_sdk

二、驱动的基本框架

Linux 驱动的基本框架主要由模块加载函数,模块卸载函数,模块许可证声明,模块参数, 模块导出符号,模块作者信息等几部分组成,其中模块参数,模块导出符号,模块作者信息是 可选的部分,也就是可要可不要。剩余部分是必须有的。
1. 模块加载函数
当使用加载驱动模块时,内核会执行模块加载函数,完成模块加载函数中的初始化工作。
2.模块卸载函数
当卸载某模块时,内核会执行模块卸载函数,完成模块卸载函数中的退出工作。
3.模块许可证声明
许可证声明描述了内核模块的许可权限,如果不声明模块许可,模块在加载的时候,会收到“内核被污染(kernel tainted)”的警告。可接受的内核模块声明许可包括“GPL”“GPL v2”。
4.模块参数(可选择)
模块参数是模块被加载的时候可以传递给它的值。
5.模块导出符号(可选择)
内核模块可以导出的符号,如果导出,其他模块可以使用本模块中的变量或函数。
6.模块作者信息等说明(可选择)

三、helloworld 驱动代码

#include <linux/module.h>
#include <linux/kernel.h>static int __init helloworld_init(void) //驱动入口函数
{printk(KERN_EMERG "helloworld_init\r\n");//注意:内核打印用 printk 而不是 printfreturn 0;
}static void __exit helloworld_exit(void) //驱动出口函数
{printk(KERN_EMERG "helloworld_exit\r\n");
}module_init(helloworld_init); //注册入口函数module_exit(helloworld_exit); //注册出口函数MODULE_LICENSE("GPL v2"); //同意 GPL 开源协议MODULE_AUTHOR("yifeng"); //作者信息

根据驱动的基本框架,编写了最简单的helloworld程序,加载驱动和卸载驱动时直接打印信息。

编译驱动需要内核代码,环境自行编译。

根据正点原子的手册编译需要设置环境变量,这里直接填写到makefile里

makefile:

# 内核目录
KERNELDIR := /home/alientek/rk3568_linux_sdk/kernel
# rk3568是arm64架构
ARCH=arm64
# 交叉工具链
CROSS_COMPILE=/opt/atk-dlrk356x-toolchain/usr/bin/aarch64-buildroot-linux-gnu-
export  ARCH  CROSS_COMPILECURRENT_PATH := $(shell pwd)
obj-m := helloworld.obuild: kernel_moduleskernel_modules:$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

在这里插入图片描述直接make会生成helloworld.ko文件 ,这就是编译生成的内核驱动模块

四、测试

启动开发板,把生成的helloworld.ko文件拷贝到板子上。

加载ko文件

insmod helloworld.ko

在这里插入图片描述

查看当前加载的内核模块

lsmod

在这里插入图片描述
查看当前系统中有没有 helloworld这个设备

cat /proc/devices

结果查询不到,因为没注册。

卸载驱动模块

rmmod helloworld.ko

在这里插入图片描述

这个模块是最基础的模板,下面大部分驱动都以此模板编写。

如有侵权,或需要完整代码,请及时联系博主。

http://www.yayakq.cn/news/213872/

相关文章:

  • jsp做的网站如何查看博山区住房和城乡建设局网站
  • 陕西建设网综合服务中心网站html购物网站
  • 足球哪个网站做的比较好网站建设方式可行性分析
  • 优化网站定制关于做网站ppt
  • 北京网站优化推广效果我自己做网站
  • 南昌建网站的公司御花园网站建设公司
  • 网站策划招聘有哪些网站可以做设计竞标
  • 电子商务网站建设实训过程无锡网站制作价格
  • 购物便宜的网站有哪些如何搜索网站的内容
  • 选择合肥网站建设口碑好的郑州网站建设
  • 药品在哪些网站做推广房地产最新消息是涨还是跌
  • 网站怎么绑定织梦wordpress相册设置
  • 上海专业网站推广公司郑州比较厉害的短视频公司
  • 怎么做自己的外卖网站淘宝做个网站多少钱
  • 哪些网站做推广性价比高国外高大上设计网站
  • 三大门户网站哪家做的最好什么是网站前台静态化
  • 个人网站备案备注范文视频制作培训机构
  • 公司网站建设找谁做廊坊市固安县建设局网站
  • 男孩子怎么做网站赚钱国家备案查询系统
  • 如何增加网站关键词企业所得税2021最新
  • vs2015做网站如何添加控件网站建设改版方案
  • 网站渗透网站托管..
  • 肥城网站建设推广赣州市城乡建设局官方网站
  • 网站建设建设价格php网站开发api
  • 集团网站建设特点 助君SEO与网站建设创意
  • 免费图片制作app软件哪个好汉口网站优化
  • 婴儿用品网站模板wifi优化大师下载
  • 南京市浦口区建设局网站惠城网站设计
  • 高端网站建设哪些好做网站建设中html模板
  • 米业做网站的好处官网建设费用怎么算