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

佛山做网站多少钱广州外贸网络推广

佛山做网站多少钱,广州外贸网络推广,巩义网站建设指标点,html网站的设计i.MX8MM处理器采用了先进的14LPCFinFET工艺#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53#xff0c;单核Cortex-M4#xff0c;多达五个内核 #xff0c;主频高达1.8GHz#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…i.MX8MM处理器采用了先进的14LPCFinFET工艺提供更快的速度和更高的电源效率;四核Cortex-A53单核Cortex-M4多达五个内核 主频高达1.8GHz2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT、4G模块、CAN、RS485等接口一应俱全。H264、VP8视频硬编码H.264、H.265、VP8、VP9视频硬解码并提供相关历程,支持8路PDM接口、5路SAI接口、2路Speaker。系统支持Android9.0(支持获取root限)Linux4.14.78Qt5.10.1、Yocto、Ubuntu20、Debian9系统。适用于智能充电桩物联网工业控制医疗智能交通等可用于任何通用工业和物联网应用、 【公众号】迅为电子 【粉丝群】258811263加群获取驱动文档例程 第三十八章 驱动模块编译进内核 本章导读 由于Linux驱动编程的本质属于Linux内核编程因此我们有必要熟悉Linux内核的编译及加载。Linux设备驱动会以直接编译到内核源码中因此学会linux内核的编译及加载是学习Linux设备驱动的先决条件。 38.1章节讲解了如何图形化配置内核 38.2章节讲解了以helloworld驱动为例将其编译进内核源码。 本章内容对应视频讲解链接在线观看 make menuconfig图形化配置 → https://www.bilibili.com/video/BV1Vy4y1B7ta?p7 Linux下把驱动编译进内核 → https://www.bilibili.com/video/BV1Vy4y1B7ta?p8 38.1 图形化配置内核 Linux 内核可以通过输入“make menuconfig”来打开图形化配置界面 menuconfig是一套图形化的配置工具需要 ncurses 库支持。 ncurses 库提供了一系列的 API 函数供调用者生成基于文本的图形界面因此需要先在 Ubuntu 中安装 ncurses 库命令如下 sudo apt-get install build-essential sudo apt-get install libncurses5-dev Linux驱动开发者需要牢固地掌握Linux内核的编译方法为嵌入式系统构建可运行的Linux操作系统 映像。在编译内核时需要配置内核可以使用下面命令中的一个 #make config 基于文本的最为传统的配置界面不推荐使用 #make menuconfig 基于文本菜单的配置界面 #make xconfig 要求 QT 被安装 #make gconfig 要求 GTK 被安装 在这四种方式中最推荐的是make menuconfig它不依赖于QT或GTK且非常直观。在i.mx8mm内核源码运行如下命令即可打开这个界面。特别要注意的是因为之前编译源码设置了环境变量所以在内核makemenuconfig的时候要新打开一个会话窗口再输入以下命令 make ARCHarm64 menuconfig 打开后界面如下图所示在这个界面我们可以配置一些驱动的选项比如说对系统进行裁剪。  内核配置包含的条目相当多arch/arm64/configs/xxx_defconfig文件包含了许多电路板的默认配置默认配置文件相当于这个饭店的特色菜。只需要运行以下命令就可以为xxx开发板配置内核。 make ARCHarm64 xxx_defconfig 如下图所示.config - Linux/arm64 4.14.78 Kernel Configuration说明已经配置好为arm64平台。 Linux内核的配置系统由以下3个部分组成。 Makefile分布在Linux内核源代码中定义Linux内核的编译规则。配置文件Kconfig给用户提供配置选择的功能。配置工具包括配置命令解释器对配置脚本中使用的配置命令进行解释和配置用户界面提供 字符界面和图形界面。这些配置工具使用的都是脚本语言如用Tcl/TK、Perl等。 使用make menuconfig等命令后会生成一个.config配置文件记录哪些部分被编译入内核、哪些部分被编译为内核模块。当我们make menuconfig保存退出以后Linux会将所有的配置选项以宏定义的形式保存在include/generated/下面的autoconf.h里面。 menuconfig的使用方式主要是 上下键 选择不同的行即移动到不同的每一行的选项上 空格键 用于在选择该选项取消选择该选项之间来回切换 选择该行所在的选项 则对应的该选项前面就变成了 [ * ]表示被选中了。 把驱动编译编译成模块用M来表示。 把驱动编译到内核里面用*来表示。 取消该选项 则对应的该选项变成了只有一个中括号里面是空的即[ ] 左右键 用于在Select/Exit/Help之前切换 回车键 左右键切换到了某个键上此时回车键就执行相应的动作 Select 此时一般都是所在的行的选项后面有三个短横线加上一个右箭头即 —表示此项下面还有子选项即进入子菜单 Exit 直接退出当前的配置。所以当你更改了一些配置但是又没有去保存此时一般都会询问你是否要保存当前已修改后的最新的配置然后再退出。 Help 针对你当前所在某个行的选项查看其帮助信息。一般来说其帮助信息都包含针对该选项的很详细的解释。换句话说如果你对某个选项的功能不是很清楚那么就应该认真仔细的去看看其Help往往都会找到详细解释以便你更加了解此配置的含义。另外一般也会写出此选项所对应的宏。该宏就是写出到配置文件中的那个宏对于写makefile的人来说往往也是利用此相关的宏在makefile中实现对应的不同的控制。 快捷键快速跳转到对应的选项 menuconfig中的每一行的选项都有一个用特殊颜色标记出来的字母很明显此字母就是该行的快捷字母。注意此类快捷字母一般都是大写的且是大小写区分的。 / 键 输入“/”即可弹出搜索界面然后输入我们想要搜索的内容即可。 在Linux内核中增加驱动程序需要完成以下3项工作。 将编写的源代码复制到Linux内核源代码的相应目录中。在目录的Kconfig文件中增加关于新源代码对应项目的编译配置选项。在目录的Makefile文件中增加对新源代码的编译条目。 Makefile 里面是编译规则告诉我们在make的时候要怎么编译相当于怎么做饭。 Kconfig 内核配置的选项 相当于我们去饭店吃饭时服务员给的菜单 .config  配置完内核以后生成的配置选项相当于我们点完的菜。 38.2 内核中编译驱动 本章节我们来学习如何把驱动编译进内核第38.1章已经学习了make menuconfig的图形化配置那么有关menuconfig的几个配置文件之间的关系已经讲清楚了本章节我们来讲解把38.3章节的helloworld驱动编译到内核之前37.1章节是编译helloworld为模块然后insmod加载进去模块。那么我们怎么把驱动编译到内核里面呢通过38.1章节make menuconfig的学习我们有了一个基础的认识在Linux内核中增加驱动程序需要驱动源码Kconfig和Makefile文件。Kconfig相当于菜单我们要把驱动编译到内核要先改Kconfig然后我们要把驱动添加到菜单里面添加好了之后我们才可以通过make menuconfig图形化配置来修改我们的.config。 首先我们来看Kconfig里面的一个例子 source “drivers/redled/Kconfig” config LED__4412 tristate “Led Support for GPIO Led” depends on LEDS_CLASS help This option enable support for led 1.source “drivers/redled/Kconfig”他会包含drivers/redled/这个路径下的驱动文件,方便我们对菜单进行管理 2.config LED__4412配置选项的名称 3.tristate 表示的驱动的状态三种状态是把驱动编译成模块把驱动编译到内核不编译。与之对应的还有bool 分别是编译到内核不编译 4 “Led Support for GPIO Led”make menuconfig显示的名字 5  A depends on B表示只有在选择B的时候才可以选择A 比如我想直接去掉LED相关的驱动我们直接改.config文件可以吗可以但是不推荐。如果有依赖的话直接修改.config是不成功的。 6.select 反向依赖该选项被选中时后面的定义也会被选中。 7.help This option enable support for led   帮助信息 我们先利用一个简单的实例引导读者对其建立对具初步的认识。以i.MX8MM开发板为例我们把36.3章节的helloworld编译进内核我们进入到i.MX8MM开发板的内核目录下这里的路径大家依据自己源码所在ubuntu实际路径为准如下图所示 输入以下命令进入到drivers/char目录下 cd drivers/char 然后输入以下命令建立hello文件夹并进入hello文件夹。 mkdir hello cd hello 将我们上次编写的驱动文件helloworld.c拷贝到刚刚创建的文件夹下面然后写一个Kconfig文件。我们输入以下命令创建Kconfig文件 touch Kconfig 我们输入“vim Kconfig”命令编辑KconfigKconfig写入以下内容 config HELLO tristate hello world help hello hello 我们输入以下命令创建Makefile文件 touch Makefile 我们输入“vim Makefile”Makefile写入以下内容 obj-$(CONFIG_HELLO)helloworld.o 驱动文件KconfigMakefile准备完毕。下一步我们要把它包含进去我们修改上一级目录的Makefile和Kconfig也就是drivers/char目录下如下图所示 Makefile添加如下图所示的内容 obj-y                            hello/ Kconfig添加如下图所示内容 source drivers/char/hello/Kconfig 上面我们已经写好helloworld驱动接下来我们需要使用makemenuconfig在内核中配置上helloworld驱动。依次输入以下命令 export ARCHarm64 make defconfig //i.MX8MM内核默认的配置文件是/home/topeet/linux/linux-imx/arch/arm64/configs/defconfig make menuconfig 然后我们依次选择如下所示选中helloworld驱动。 Device Drivers  --- Character devices  ---  * hello world 然后光标移动到save,保存配置如下图所示 保存到/home/topeet/linux/linux-imx/arch/arm64/configs/defconfig如下所示  然后点击ok退出配置界面。配置完便可以编译源码了如下图所示。注意编译源码要再打开一个新窗口不能和makemenuconfig使用同一个窗口编译。  编译完成后我们检验编写好的驱动是否编译进内核源码有两种方法 第一种方法查看编写的驱动是否被编译成.o文件 如下图所示 编译完成后我们检验编写好的驱动是否编译进内核源码有两种方法 第一种方法查看编写的驱动是否被编译成.o文件 如下图所示 在编译过程中也会看到helloworld编译成功了如下图所示  第二种方法直接烧写镜像看系统启动的打印信息有没有打印hello world 烧写镜像请参考i.MX8MM开发板使用手册烧写yocto镜像章节镜像烧写完毕开发板启动查看打印内核信息。如下图所示我们在打印日志里面搜索“hello world”。  如果可以找到将驱动编译进内核已经成功了。
http://www.w-s-a.com/news/897180/

相关文章:

  • 郑州网站建设培训学校泉州做网站设计公司
  • 西峡做网站深圳建筑工务署官网
  • 单县网站惠州seo计费
  • 万网网站建设 优帮云怎样用记事本做网站
  • 注册域名后网站建设百度指数的功能
  • 怎么做伪静态网站山西网站建设设计
  • 做小型企业网站多少钱衡阳市建设局网站
  • 金华专业网站建设公司网站建设空间和服务器方式
  • 自己做的网站在浏览器上显示不安全吗wordpress revolution slider
  • 西安网站建设推广优化搜索引擎营销
  • 互联网站备案管理工作方案 工信部注册深圳公司需要什么条件
  • 网站网站服务器网站建设 物流
  • 国外开发网站手机网站建设制作
  • 怎么把自己做的网站传网上青岛工程建设监理公司网站
  • 网站301跳转效果商丘网站公司
  • 公司网站建设西安网站的架构与建设
  • 食品科技学校网站模板花溪村镇建设银行网站
  • 图片渐隐 网站头部flash地方志网站建设自查报告
  • 深圳做商城网站视觉品牌网站建设
  • 永康电子商务网站建设弹幕网站怎么做
  • 百川网站企业做网站要注意哪些
  • 球迷类的网站如何做网站建设需要哪些素材
  • 请问有重庆有做网站吗电子政务系统网站建设的基本过程
  • 建设银行管方网站官网最新版cmsv6
  • 网站开发工程师需要会写什么深圳网站(建设信科网络)
  • 台州网站搭建网站建设需求计划
  • 网站app免费下载软件大全大连百度推广哪家好
  • 网站建设的面试要求iis做的网站手机怎么访问
  • 定州市住房保障和城乡建设局网站上海网站建设排行
  • 网站发帖百度收录网站改版后不收录