f566内核 电机5f

linux内核等待队列详解

https://www.cnblogs.com/xinghuo123/p/13347964.html 等待队列用于使得进程等待某一特定事件的发生,无需频繁的轮询,进程在等待周期中睡眠,当时间发生后由内核自动唤醒。 1 数据结构 1.1 等待队列头 等待队列结构如下,因为每个等待队列都可以再中断时被修 ......
队列 内核 linux

Linux 内核设备驱动程序的IO寄存器访问 (下)

Linux 内核设备驱动程序通过 `devm_regmap_init_mmio()` 等函数获得 `struct regmap` 结构对象,该对象包含可用于访问设备寄存器的全部信息,包括定义访问操作如何执行的 bus,定义了各个设备寄存器的读写属性的 config,以及加速设备寄存器访问的 cach ......
寄存器 内核 驱动程序 程序 设备

[内核源码] epoll 源码实现-预备知识

epoll 源码涉及到很多知识点:(socket)网络通信,进程调度,等待队列,socket 信号处理,VFS(虚拟文件系统),红黑树算法等等知识点。有些接口的实现,藏得很深,参考了不少网上的帖子,在此整理一下。 本文主要为 《[epoll 源码走读] epoll 实现原理》,提供预备知识。 1. ......
源码 内核 知识 epoll

如何理解用户态和内核态?

简介 下图为 Linux 32位操作系统的进程空间分配图(来源于网络),低位的 3G 属于进程自己使用的内存,高位的 1G 是内核空间,内核空间由所有进程共享。 内核空间和用户空间指的是虚拟内存。当进程运行在内核空间时就处于内核态,当进程运行在用户空间时就处于用户态。 现代CPU主要的设计目标就是多 ......
内核 用户

Vivado 的电机控制

Vivado的FPGA创建电机控制: 新建项目hack_motor,然后创建block design,最后添加 IP 库添加 MicroBlaze 处理器(运行块自动化连接,选择本地内存大小为32KB并取消选中中断控制器),AXI 定时器添加。 ......
电机 Vivado

[内核源码] epoll 实现原理

https://wenfh2020.com/2020/04/23/epoll-code/ 文章主要对 tcp 通信进行 epoll 源码走读。 Linux 源码:Linux 5.7 版本。epoll 核心源码:eventpoll.h / eventpoll.c。 搭建 epoll 内核调试环境视频: ......
内核 源码 原理 epoll

树莓派-内核开发-说明 下载代码 编译 替换内核

一、概述 二、ubuntu里交叉编译 1、获取交叉编译工具和源码 2、配置编译环境变量 2.1 手动配置环境变量 2.2 自动配置环境变量 3、配置config 3.1 使用源码里自带的config 3.2 获取当前树莓派的config 4、编译 5、挂载树莓派sd卡,并安装编译出的DIRECTLY ......
内核 树莓 代码

zImage的位置对于ARM32内核解压的影响

分析了zImage和解压后内核在不同的相对位置关系下,解压过程中执行的操作,主要涉及到是否需要重定位zImage,何时创建页表,是否需要调整zImage拷贝的位置。 ......
内核 位置 zImage ARM 32

配置conda虚拟环境,在jupyter内核中使用

1.创建虚拟环境并激活进入 conda create -n '名称' source activate '名称' environment.yml name: ‘名称’ channels: - defaults dependencies: - python=3.6 - numpy - pandas - ......
内核 jupyter 环境 conda

ch2_ab1 Linux内核模块

准备事项: | 虚拟机 | 系统 | 文件传输工具 | | | : | | | VMware | CentOS | Winscp | | VitualBox | Ubuntu | Xftp | | | | | 有2*2*2种选择,我是Virtualbox+Ubuntu+Winscp - [x] 下载 ......
内核 模块 ch2_ab Linux ch2

ARM32内核解压流程

简要介绍了ARM32平台上,内核解压的流程。同时,根据代码修改历史,发表了对于当前代码实现背后逻辑的一些个人见解。 ......
内核 流程 ARM 32

内核升级

#内核升级 cd /data/yunli/rpms/system_rpm sudo yum install -y kernel-lt-4.4.248-1.el7.elrepo.x86_64 sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' / ......
内核

我的Linux网络之行2-初探内核网络

# 前言 在上一文中,初步了解了一些协议与相关的一些知识,至少已经有了一些概念,OK,那么下面就是我们对于开发的深入了。 # Linux以太网驱动架构 OSI 模型中将网络划分为七层,从下到上依次为:物理层(Physical)、数据链路层(Date Link)、网络层(Network)、传输层(Tr ......
网络 内核 Linux

8步轻松晋级AMD MPSoC Linux内核调试专家

8步轻松晋级AMD MPSoC Linux内核调试专家 ## 介绍 AMD MPSoC Linux一般使用PetaLinux编译Linux系统,包括Linux内核、DTS、文件系统。 PetaLinux内部集成Yocto,自动下载、配置、编译各种软件包。 它简化了编译流程,也导致有些工程师找不到软件 ......
内核 专家 MPSoC Linux AMD

16 Linux 内核定时器实验

一、Linux 时间管理和内核定时器简介 1. 内核时间管理简介 Linux 内核中有大量的函数需要时间管理,比如周期性的调度程序、延时程序、定时器等。 硬件定时器提供时钟源,时钟源的频率可以设置,设置好以后就周期性的产生定时中断,系统使用定时中断来计时。中断周期性产生的频率就是系统频率,也叫做节拍 ......
定时器 内核 Linux 16

基于Win32k内核提权漏洞的攻防对抗

Win32k组件最初的设计和编写是完全建立的用户层上的,但是微软在 Windows NT 4.0 的改变中将 Win32k.sys 作为改变的一部分而引入,用以提升图形绘制性能并减少 Windows 应用程序的内存需求。 ......
内核 漏洞 Win 32k 32

Linux 内核 ASoC DMA 引擎驱动程序

Linux 内核 ASoC 框架,在概念上将嵌入式音频系统拆分为多个可复用的组件驱动程序,包括 Codec 类驱动程序、平台类驱动程序和机器类驱动程序。在实现上,机器类驱动程序用 `struct snd_soc_card` 和 `struct snd_soc_dai_link` 结构描述,属于平台类 ......
内核 驱动程序 引擎 程序 Linux

openeuler linux内核4.19安装(centos 同理)

linux内核安装: 安装内核步骤 下载相应内核版本【我这里用的是linux-4.19.90.tar.gz】 下载网址:https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/ 解压缩到自定位置【我这里是/root/桌面/send/】 安装内核图像 ......
内核 openeuler centos linux 4.19

Linux 内核设备驱动程序的IO寄存器访问 (上)

Linux 内核提供了一套可缓存的设备 IO 寄存器访问机制,即 **regmap**。**regmap** 机制支持以统一的接口,访问多种不同类型的设备 IO 寄存器,如内存映射的设备 IO 寄存器,和需要通过 I2C、I3C、SPI、AC97 和 SLIMBUS 等总线访问的设备寄存器等。内存映 ......
寄存器 内核 驱动程序 程序 设备

Linux内核模块的编译和运行 - 如何让模块跑起来?

SRCPATH := $(shell pwd) ARCH = arm CROSS_COMPILE ?= /opt/toolchain/bin/arm-linux-gnueabihf- KDIR ?= /home/xxx/linux-3.10/ obj-m += hello_world.o all: ......
模块 内核 Linux

搭一个Linux内核驱动框架 - 如何写一个Linux内核驱动?

通俗一点的问题就是“如何写一个内核驱动?” 新手往往并不明白驱动的具体定义是什么,我们往往拿到一款芯片,然后要给这个芯片写一个驱动代码,但是这个驱动代码到底是什么样子的?应该怎么写?就是面临的第1个问题。其实我们通常说的驱动是一个很模糊的概念,也是很多概念的集合。狭义上的驱动就是 ”驱动操作系统上一 ......
内核 Linux 框架

Red Hat8.8 安装 Oracle19C,配置开机自动启动,创建数据库,调整内核参数

## 1. 下载rpm包 * oracle-database-ee-19c-1.0-1.x86_64.rpm ## 2. 上传rpm包 * 上传下载的rpm包到响应目录,例如: /home ## 3.安装依赖 * 上传 compat-libcap1-1.10-7.el7.x86_64.rpm 和 c ......
内核 参数 数据库 数据 Oracle

调试linux内核(2): poll系统调用的实现

linux内核为用户态进程提供了一组IO相关的系统调用: select/poll/epoll, 这三个系统调用功能类似, 在使用方法和性能等方面存在一些差异. 使用它们, 用户态的进程可以"监控"自己感兴趣的文件描述符, 当这些文件描述符的状态发生改变时, 比如可读或者可写了, 内核会通知进程去处理... ......
内核 系统 linux poll

uboot 通过网络启动内核和根文件系统

一、开发背景 由于开发阶段需要频繁修改内核镜像文件和根文件系统,如果每次修改都通过烧写 emmc 或者烧录 sd卡制卡过于繁琐,所以需要通过网络启动和加载 二、开发需求 内核镜像文件(zImage)和根文件系统(rootfs)创建好后,存放于 Ubuntu 中,开发板启动过程中自动提取对应的文件。 ......
内核 文件 系统 uboot 网络

Linux 内核音频子系统调试

## debugfs 文件系统 debugfs 可以为 Linux 内核各个模块的分析调试,提供许多信息,如音频子系统的 ASoC,以及 tracing 等。debugfs 文件系统可以通过命令行工具挂载,如下所示: ``` root@apollo:~# ls /sys/kernel/debug/ ......
子系统 内核 音频 Linux

Linux 内核音频数据传递主要流程 (下)

来而不往非礼也。前面看到了用户空间应用程序和 DMA buffer 之间交换数据,并更新 `runtime->control->appl_ptr` 指针的过程,这里看一下硬件设备驱动程序在完成 DMA buffer 和硬件设备的数据交换之后,更新 `runtime->status->hw_ptr` ......
内核 音频 流程 数据 Linux

探索操作系统:内核、启动和系统调用的奥秘

操作系统是计算机不可或缺的一部分,它连接着硬件和应用程序。内核是操作系统的核心,负责管理进程和线程、内存、硬件设备以及提供系统调用接口。计算机启动过程中,ROM负责加载并执行BIOS程序,而RAM用于存储运行中的程序和数据。系统调用是操作系统提供给应用程序的接口,通过系统调用可以访问操作系统的功能。... ......
系统 奥秘 内核

Linux 内核设备树时钟绑定

这种绑定依然处于开发中,并且基于 benh[1] 的一些实验性工作。 时钟信号源可以由设备树中的任何节点表示。这些节点被指定为时钟提供者。时钟消费者节点使用 `phandle` 和时钟指示符对将时钟提供者输出连接到时钟输入。与 gpio 指示符类似,时钟指示符是 0 个、1 个或多个标识设备上的时钟 ......
内核 时钟 设备 Linux

视频集中存储/直播点播平台EasyDSS内核无法启动是什么原因?

TCP 3519端口是视频云存储EasyDSS视频直播点播服务的推流端口,也是非常重要的端口,所以在使用EasyDSS时,一定要保证该端口不被其他程序占用。 ......
内核 原因 EasyDSS 平台 视频

查看内核页表kernel_page_tables (aarch32)【转】

转自:https://www.cnblogs.com/pengdonglin137/p/7857404.html 作者 彭东林 pengdonglin137@163.com 平台 Linux-4.10.17 Qemu + vexpress-ca9 概述 通过配置内核,会在/sys/kernel/de ......