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

大兴做网站建设制作热点新闻事件

大兴做网站建设制作,热点新闻事件,php网站开发遇到的问题,上虞网站建设文广网络1、在字符设备目录下建立hello目录 ~/Linux/rk356x_linux/kernel/drivers/char/hello 2、进入hello目录,新建hello.c、Makefile、Kconfig三个文件 3、Kconfig是打开make menuconfig配置界面是后的选项,这Kconfig是在字符设备下的。 config HELLOtrist…

1、在字符设备目录下建立hello目录

~/Linux/rk356x_linux/kernel/drivers/char/hello

2、进入hello目录,新建hello.c、Makefile、Kconfig三个文件

在这里插入图片描述

3、Kconfig是打开make menuconfig配置界面是后的选项,这Kconfig是在字符设备下的。

config HELLOtristate "hello"helphello test

config后面的HELLO就是对应配置后在kernel目录下的**.config中的CONFIG_HELLO配置项**
tristate是三态:编译进内核(y)、不编译(n)、编译成模块(m)。hello是配置界面的显示字符串
可以是bool是二值。编译进内核、不编译
可以是string int
help是帮助信息,可以使用comment “xxxx”这xxx就会显示在hello字符串下面

4、Makefile是编译hello.c的方式。这里编译到内核就是会生成hello.o。如果编译成模块就是生成hello.ko。

obj-$(CONFIG_HELLO) := hello.o

CONFIG_HELLO这个就是Kconfig中的config后面字符串
$(CONFIG_HELLO)这个值根据menuconfig配置是n、y、m

5、hello是在char字符设备下一级目录,所以需要修改char目录下的Makefile、Kconfig

Kconfig增加source “drivers/char/hello/Kconfig”,就是打开菜单界面后char字符设备下增加一个菜单
在这里插入图片描述
Makefile增加obj-y += hello/ 这里hello是目录所以需要增加/。就是默认编译hello文件下的文件
在这里插入图片描述

6、编写hello.c文件

#include <linux/module.h>
#include <linux/kernel.h>static int __init helloworld_init(void) {printk(KERN_EMERG"hello world init\n");return 0;
}
static void __exit helloworld_exit(void) {printk(KERN_EMERG"hello world exit\n");
}module_init(helloworld_init);
module_exit(helloworld_exit);
MODULE_LICENSE("GPL v2");
MODULE_AUTHOR("Ching");

7、以上准备好后进入kernel目录

7.1 设置芯片架构(必须要),我使用的是rk3568芯片

export ARCH=arm64

7.2 ,输入make menuconfig打开配置界面

在这里插入图片描述

7.3 进入drivers->char看新增的hello是否正常添加,*表示编译进内核。

在这里插入图片描述

8、编译之前还需要注意一个细节

8.1、编译内核使用的./build.sh。打开看到make了RK_KERNEL_DEFCONFIG(make xxx_defconfig就会把默认的配置生成一个.config文件,这.config文件又是编译内核的配置项。所以实际上我们需要修改的是这RK_KERNEL_DEFCONFIG文件)

在这里插入图片描述

8.1.1、build.sh文件的定义在BoardConfig.mk文件中

在这里插入图片描述
所以我们最终需要修改的还是rockchip_linux_defconfig文件,默认的配置文件路径
在这里插入图片描述

8.2、修改make menuconfig后保存的配置文件是kernel/.config。所以使用.config覆盖rockchip_linux_defconfig,这样编译内核时候就是还是使用菜单配置生成的配置文件来编译。

cp .config arch/arm64/configs/rockchip_linux_defconfig

9、开始编译

9.1、进入kernel上级目录,开始编译

rk356x_linux$ ./build.sh kernel

9.2、编译成功后,hello目录下生成一个hello.o的文件说明已经编译成功。

9.3、生成的内核镜像在kernel/boot.img。下载到板子运行。

9.4、运行后使用查询是否真正运行了hello。就看是否有hello.c中写的hello world init字符串打印

dmsg | grep “hello”

10、小结

1、开始时候没有设置ARCH就打开menuconfig就配置生成的.config不对,导致编译内核时候出现好多未定义的引用
小记一下以免忘记。

http://www.hkea.cn/news/76204/

相关文章:

  • 做推送的网站推荐今日新闻摘抄50字
  • 想在自己的网站做支付优化公司治理结构
  • 国内一家做国外酒店团购的网站网络推广优化是干啥的
  • 手机3d动画制作软件重庆网络seo公司
  • 青海和城乡建设厅网站石家庄自动seo
  • 建站网址是多少深圳市seo上词多少钱
  • 应用网站开发创建网站花钱吗
  • 2023太原疫情优化设计答案大全
  • 创新的专业网站建设适合小学生的新闻事件
  • 政府机关备案网站百度竞价什么意思
  • 广元专业高端网站建设seo视频
  • 烟台网站建设诚信臻动传媒百度网络营销中心
  • 贵阳网站建设搜王道下拉重庆seo网络推广关键词
  • 大型 网站的建设 阶段百度官方网站下载
  • 江苏专业做网站的公司百度地图导航网页版
  • 怎么去投诉做网站的公司宁波seo外包推广软件
  • 网络营销跟做网站有什么区别线上推广如何引流
  • 如何进行网店推广seo排名优化怎样
  • 什么建站程序好收录上海网络公司seo
  • 电子商务网站建设投资预算小程序平台
  • 广州外贸营销型网站成都移动seo
  • 如何韩国视频网站模板下载 迅雷下载sem竞价托管费用
  • 做网站去哪个平台seo培训学院
  • 网站移动端优化的重点有哪些营销策略ppt
  • 养车网站开发搜狗seo快速排名公司
  • 企业电子商务网站建设武汉百度快速排名提升
  • 建一个网站的流程今天刚刚发生的新闻
  • 建立网站请示优化服务是什么意思
  • 有一个做场景动画的网站山东seo费用多少
  • 阿里云服务器的网站备案流程图营销推广有哪些形式