开发者分享 | 如何在 IP 的 kernel module 里设置并使用 IP interrupt
judy 在 周四, 05/13/2021 - 16:23 提交
有时我们需要为官方 IP 或者自己创建的 IP 生成 kernel module,然后在 linux kernel space 里使用 kernel module 来控制这个 IP。如果要使用 IP 中断,我们需要在 kernel module 代码里获取设备中断并建立中断服务程序。
有时我们需要为官方 IP 或者自己创建的 IP 生成 kernel module,然后在 linux kernel space 里使用 kernel module 来控制这个 IP。如果要使用 IP 中断,我们需要在 kernel module 代码里获取设备中断并建立中断服务程序。
今天邀请到赛灵思专家和大家分享下如何在 Petalinux 下定位 decice-tree 错误的一些技巧。
在软件开发过程中我们经常遇到用 patch 来传递和更新代码的场景。今天赛灵思技术专家以一个端到端的例子来演示在 Petalinux 使用过程中,如何给 u-boot 的源码生成patch 并在 Petalinux 中进行编译。
Petalinux可以帮助工程师简化内核模块的创建工作。在petalinux工程目录下,使用命令“petalinux-create -t modules --name --enable”,能创建Linux内核模块,包括c源代码文件、Makefile、Yocto的bb文件。相关文件放在目录“project-spec/meta-user/recipes-modules”,目录结构如下
通常 Kernel 一加载起来,大家能在/dev目录下可以看到一大堆的设备。这些设备都是 Kernel 加载初始化过程中,由内核和驱动创建出来的。那么哪个设备才是我真正要用的设备。下面就几个常用的外设来和大家一起梳理一下。
打开Petalinux的DeviceTree文件 (比如dtsi文件),经常看到这样的描述,初学者往往困惑,里面这些信息到底说的是什么呢?比如这个 "interrupt-cells = <2>", 里面这个2 或者设定为 1,4,8 到底是什么意思呢?
设备树是 Petalinux kernel 的关键组件,接下来以 2020.1 版本为例,为大家介绍一下在Xilinx Petalinux 工程中的设备树是如何产生,配置以及修改的。
使用 2018.2 Ultra96 PetaLinux BSP 构建图像时,如果我在 Matchbox 桌面点击关断图标,电路板不关断。服务器窗口会关闭,屏幕变为空白,但电路板还在运行。
安装好vitis后,继续安装petalinux,本人纯纯新手,记录过程就好。Xilinx官网下载petalinux2020.1,还有sstate aarch64 downloads,前者是ZCU102,后者是mirror用,还有官网的bsp也是2020.1
PetaLinux(Yocto)里包含很多软件模块。大部分模块可以直接使用。如果有特殊需求,需要修改某些模块时,可以按下列办法先修改,测试成功后,再创建补丁,集成到PetaLinux(Yocto)工程里。比如客户需要修改xorg.conf,可以采用下列方式完成。