• 2024-07-15泰山派学习14--pinctr、gpio子系统控制设备树LED
    1、在泰山派设备树的/根节点上添加zbl_led子节点(路径:Z:\sdk\linux\kernel\arch\arm64\boot\dts\rockchip)打开tspi-rk3566-user-v10-linux.dts设备树源文件    在根目录下添加gpioled子节点     2、在SDK上编译kernel(./build.shkernel)执行内核
  • 2024-07-14泰山派学习13--设备树LED字符驱动
    1、在泰山派设备树的/根节点上添加zbl_led子节点(路径:Z:\sdk\linux\kernel\arch\arm64\boot\dts\rockchip)打开tspi-rk3566-user-v10-linux.dts设备树源文件    在根目录下添加zbl_led子节点    2、在SDK上编译kernel(./build.shkernel)执行内核编译
  • 2024-05-02mit6.828 - lab1笔记
    安装环境编译qemu1.PC启动打开两个窗口,在第一个窗口中makeqemu-gdb,会启动内核,但在执行第一个指令之前停下;在第二个窗口中makegdb,实时观察第一个窗口中的执行过程。从这里可以观察到:IBMPC在物理地址0x000ffff0开始执行,位于为ROMBIOS保留的64KB区域的最顶部。
  • 2024-03-27Linux dmesg命令使用方法详解
    Linuxdmesg命令使用方法详解一、命令简介dmesg(displaymessage)命令用于显示开机信息。kernel会将开机信息存储在ringbuffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log/dmesg中。二、使用方法dmesg[options]三、命令选项[root@loc
  • 2024-03-11计算几何——扫描线 学习笔记
    计算几何——扫描线学习笔记你会发现我的笔记的顺序和很多扫描线的讲解是反着来的。其实是和我老师给的课件完全是逆序(谁帮我算一下逆序对啊喵)。前言一开始以为扫描线就是用来求二维几何图像的信息的。但是其实这个并不准确。个人认为,扫描线其实是一个思想,就像动态规划一样
  • 2024-02-25Border
    废话波论好难,学不懂。一点一点推罢。Border的定义一个字符串的最长真公共前后缀就叫Border(这个「真」就表示其不和原字符串相同)。刨开Border,剩下的一部分被称作Period。\[\underbrace{\fcolorbox{000000}{66ccff}{\kern{70pt}}}_{\texttt{Border}}\overbrace{\fcolorbox
  • 2024-02-192 - 第一个驱动
    FirstLinuxDeviceDriver原文链接我的博客预备环境在原文链接中给出了ubuntu环境、树莓派环境、比格板环境的搭建指南,可以参考搭建,最好使用推荐的比格板,因为后面会涉及到设备驱动,比格板嵌入式平台方便扩展。第一个Linux设备驱动模块信息证数作者模块描述模块版本
  • 2023-12-05RK3568,字符设备框架:管理同主设备号、不同次设备号设备
    字符设备框架:管理同主设备号、不同次设备号设备以下代码针对迅为开发板RK3568,开发板系统是ubuntu20.04,正文以下是我写的字符设备框架,实现了管理同主设备号、不同次设备号的功能。代码:private_data_test.c#include<linux/init.h>#include<linux/module.h>#include<linux
  • 2023-11-05mit6.828 - lab3练习笔记
    PartAExercise1练习1.修改`kern/pmap.c`中的`mem_init()`,分配并映射`envs`数组。该数组由`Env`结构的`NENV`实例组成,分配方式与分配页面数组类似。与页面数组一样,支持`envs`的内存也应在`UENVS`(定义于`inc/mlayout.h`)处映射为用户只读,这样用户进程才能读取该
  • 2023-09-19Android 10 设置kernel log level
    有时候kernellog内容过多/过少影响我们分析问题,因此需要对kernellog进行设置。查看平台默认kernelloglevel$cat/proc/sys/kernel/printk6617kernlelog级别为6617关闭所有kernellog$echo"0617">proc/sys/kernel/printk //往printk文件写入“
  • 2023-09-01洛谷梗大全(4)
    \[\Large\boxed{今日运势}\]\[\Large\bold{\color{#8E44AD}Lovely\_Chtholly\\color{black}的运势}\]\[\Huge\color{#E74C3C}\textbf{§}\bold{\吉你钛镁\}\textbf{§}\]\[\scriptsize\text{你已经在洛谷连续打卡了}\normalsize\infty\scriptsize\text{
  • 2023-06-09Linux内核之 printk 打印
    前言printk在内核源码中用来记录日志信息的函数,只能在内核源码范围内使用,用法类似于printf函数。printk函数主要做两件事情:1.将信息记录到log中;2.调用控制台驱动来将信息输出。一、printk介绍printk将内核信息输出到内核信息缓冲区中,内核缓冲区在kernel/printk/p
  • 2023-04-18C语言函数大全-- k 开头的函数
    C语言函数大全本篇介绍C语言函数大全--k开头的函数1.kcalloc1.1函数说明函数声明函数功能void*kcalloc(size_tn,size_tsize,gfp_tflags);它是Linux内核中的一个函数,用于在内核空间分配一块连续的指定大小的内存,它与标准库函数calloc()的功能类似。
  • 2023-01-29 【MIT CS6.828】Lab 1: Booting a PC - Part 4: The Stack
    Part4:TheStack1.栈的初始化练习9.确定内核初始化栈的位置,以及栈在内存中的确切位置。内核如何为其栈保留空间?栈指针初始化后指向这个保留区域的哪一“端”?内核
  • 2023-01-29【MIT CS6.828】Lab 1: Booting a PC - Part 3: The Kernel
    Part3:TheKernel1.物理地址与虚拟地址的映射我们在5.3中提到过,内核的第一条指令所在的物理地址0x100000被映射到虚拟地址0xF0100000。事实上,在Lab1中,JOS对前4
  • 2022-12-29Jon Kern-实用模型驱动架构-UMLChina讲座-音频和幻灯
    时间2006年5月23日(周二)晚上19:00-21:00演讲人JonKern,敏捷宣言的作者之一,他曾在TogetherSoft公司(UML工具Together的开发商,2002年被Borland收购)工作,对TogetherSoft公司早期的
  • 2022-11-28MIT6.828 Lab 1: C, Assembly, Tools, and Bootstrapping
    前置准备实现机器为VMWare的虚拟机,操作系统为Debian-11(无桌面版本),内核版本为5.10.0,指令集为AMD64(i79700K),编译器为GCC-10QEMU虚拟化支持理论上只需要qemu提
  • 2022-09-03printk()函数的总结
    我们在使用printk()函数中使用日志级别为的是使编程人员在编程过程中自定义地进行信息的输出,更加容易地掌握系统当前的状况。对程序的调试起到了很重要的作用。(下文中的日
  • 2022-08-24 内核模块实验1 lx_hello.ko
    实验环境完整的可以编译的内核源码,这里选取RK3568_Android11源码中的kernel部分添加HELLOWORLD字符设备驱动在RK3568_Android11/kernel/drivers/char/中新建文件