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

公司互联网站全面改版福田欧辉官网

公司互联网站全面改版,福田欧辉官网,秦洁婷seo博客,wordpress 编辑器漏洞#x1f525;博客主页#xff1a;PannLZ #x1f38b;系列专栏#xff1a;《Linux系统之路》 #x1f94a;不要让自己再留有遗憾#xff0c;加油吧#xff01; 文章目录 构建第一个模块1模块的makefile2内核树内构建3内核树外构建 构建第一个模块 可以在两个地方构建模… 博客主页PannLZ 系列专栏《Linux系统之路》 不要让自己再留有遗憾加油吧 文章目录 构建第一个模块1模块的makefile2内核树内构建3内核树外构建 构建第一个模块 可以在两个地方构建模块这取决于是否希望用户能够自己使用内核配置界面启用该模块。 1模块的makefile makefile是用来执行一组操作的特殊文件其中最重要的操作是程序的编译。专用工具make用于解析makefile。 obj-m : helloworld.oKERNELDIR ? /lib/modules/$(shell uname -r)/buildall default: modules install: modules_installmodules modules_install help clean: $(MAKE) -C $(KERNELDIR) M$(shell pwd) $#obj- X模式其中X应该是y、m、空白或n #X设置为m则使用变量obj-m并将mymodule.o构建为模块。 #X设置为y则使用变量obj-ymymodule.o将构建为内核的一部分。也可以说它是一个内置模块。 #X设置为n则使用变量obj-n不会构建mymodule.o。 #obj-$(CONFIG_MYMODULE) mymodule.o,LE)根据内核配置期间的值计算为y或m#KRNELDIR : /lib/modules/$(shell uname -r)/buildKERNELDIR是预构建的内核源码的位置。构建任何模块都需要预构建内核。 #如果已经从源代码构建了内核则应该把这个变量设置为内核构建的源代码目录的绝对路径。#all default: modules此行指示实用程序make执行modules目标 #make default、make all或者简单的make命令将被翻译为make modules来执行。#odules modules_install help clean:这行代表makefile中列出的目标有效。#(MAKE) -C $(KERNELDIR ) M$(shell pwd),$为上面列举的每个目标所执行的规则。 #$ 将被替换为引起规则运行的目标名称。 #调用make modules则$将被替换为modules规则将变为$(MAKE)-C $(KERNELDIR ) M$(shell pwd) module。#C要求实用程序make在读取makefile或执行其他任何操作之前先更改到指定的目录。 #$(shell pwd)这与内核构建系统相关。内核makefile使用这个变量来定位要构建的外部模块的目录。.c文件应该被放置在这里。补充 : 是直接赋值操作符它会立即计算右侧的表达式并将结果赋值给左侧的变量。一旦赋值无论后续如何改变右侧的表达式变量的值都不会改变。 ? 是条件赋值操作符只有当该变量之前未定义或为空时才会对其进行赋值。如果该变量已经被赋值那么 ? 将不会改变它的值。 2内核树内构建 在内核树中构建驱动程序之前应该先确定驱动程序中的哪个目录用于存放.c文件。假若文件名是mychardev.c它包含特殊字符驱动程序的源代码则应该把它放在内核源码的drivers/char目录中。驱动程序中的每个子目录都有makefile和kconfig文件。将以下内容添加到该目录的kconfig中 config PACKT_MYCDEVtristate Our packtpub special Characterdriverdefault mhelpSay Y here if you want to support the/dev/mycdev device.The /dev/mycdev device is used to accesspacktpub.在同目录下的makefile文件中添加 obj-$(CONFIG_PACKT_MYCDEV) mychardev.o接着在arch/arm/configs目录下开发板的defconfig中添加下面一行内容 CONFIG_PACKT_MYCDEVm也可以运行make menuconfig来从UI中选择它然后运行make构建内核再运行make modules构建模块包括自己的模块 内核源码树中包含的模块安装在/lib/modules/$(KERNELRELEASE)/kernel/中。在Linux系统上它是/lib/modules/$(uname -r)/kernel/。 3内核树外构建 在构建外部模块之前需要有一个完整的、预编译的内核源代码树。内核源码树版本必须与将加载和使用模块的内核相同。有两种方法可以获得预构建的内核版本。 自己构建前面讨论过。 从发行版本库安装linux-headers- *包。 sudo apt-get update sudo apt-get install linux-headers-$(uname -r) #这将只安装头文件而不是整个源代码树。头文件将被安装在/usr/src/linux-headers-$(uname -r)下。处理完makefile后只需要切换到源码目录并运行make命令或者make modules即可。 交叉编译内核模块时内核makefile实际上需要了解两个变量ARCH和CROSS_COMPILE它们分别表示目标体系结构和编译器的前缀名称。因此内核模块本地编译和交叉编译之间的差别是make命令。下面这条命令是为ARM构建 make ARCHarm CROSS_COMPILEarm-none-linux-gnueabihf- 构建完成
http://www.w-s-a.com/news/577702/

相关文章:

  • 做什么网站比较受欢迎软件商店下载安装2023版本最新
  • 做ip资讯的网站怎么在wordpress中套用同行网页
  • 医院网站如何备案东莞优化公司收费
  • 罗村网站开发适合ps做图的素材网站有哪些
  • 网站建设中 油财宝企业网址怎么整
  • asp.net空网站php网站开发要学什么
  • 做可视化的网站微信网站模版下载
  • 包头移动的网站建设茂名建站价格
  • 网站文章内容一键排版功能铜山网站建设
  • cdr可不可做网站对网站建设起到计划和指导的作用
  • 合肥最好的网站建设网页设计心得体会2000字
  • 西安网站品牌建设门户网站类型
  • 网上做调查问卷的网站请人做网站域名和主机
  • 个人网站模板html5找公司网站建设
  • 找最新游戏做视频网站一个做网站的团队需要哪些人员
  • 威海市做网站的做网站很难吗
  • 广州房地产网站建设方案怎么免费申请网站
  • 免费生成网站软件下载影视公司名字取名
  • 网站公司提供程序免费的网页入口
  • jsp网站开发实例教学房产网站怎么做400电话
  • 网络营销方式及流程广州seo工作
  • 专业商城网站制作免费网页设计成品
  • 韩国优秀设计网站找做网站找那个平台做
  • 贵州省清镇市建设学校网站国家企业信用信息公示系统官网河北
  • 游戏界面设计网站网站建设问一问公司
  • 织梦网站模板如何安装教程视频国外哪些网站可以注册域名
  • 用群晖做网站网站中文名称注册
  • 做一个企业网站需要哪些技术app开发公司名字
  • 网站建设有技术的公司图片在线设计平台
  • 建公司网站的详细步骤关于进一步加强网站建设