
LINUX内核
文章平均质量分 63
iLinuxUser
向大神们学习
展开
-
linux-性能
Linux Perf 性能分析工具及火焰图检查perf record -e cache-misses -g gst-launch-1.0 videotestsrc num-buffers=10000 is-live=true pattern=smpte ! “video/x-raw,format=RGB, width=1280, height=720” ! kmssink driver-name=tidss bus-id=37 display-height=1280 display-height=72原创 2024-05-21 11:25:50 · 411 阅读 · 0 评论 -
mipi-csi笔记
用DI来判断数据类型。原创 2024-05-28 16:01:11 · 232 阅读 · 0 评论 -
linux开机启动笔记
【代码】linux开机启动笔记。原创 2023-02-07 15:16:42 · 271 阅读 · 0 评论 -
奔路吧linux内核-简单字符设备驱动
#include "linux/ipc.h"#include <linux/init.h> #include <linux/module.h>#include <linux/cdev.h>#include <linux/fs.h>static int debug = 0;#define DEMO_NAME "my_demo_cdev"static dev_t my_dev;static struct cdev *demo_dev;module原创 2021-05-23 11:41:11 · 269 阅读 · 0 评论 -
奔跑吧linux内核入门-linux内核基础知识
gcc编译流程原创 2021-05-09 11:10:10 · 219 阅读 · 0 评论 -
奔跑吧linux内核-使用qemu运行linux系统
sudo apt-get install qemu-system-arm libncurses5-dev gcc-aarch64-linux-gnu build-essential git bison flex libssl-dev原创 2021-03-23 13:07:56 · 3547 阅读 · 3 评论 -
给linux系统换内核版本
下 载内核源代码,解压手动配置内核 ,或linux系统自带的配置文件 (这里为当前环境 )cp /boot/config-4.19.0-desktop-amd64 .config编译内核前,安装环境sudo apt-get install libncurses5-dev libssl-dev build-essential opensslmake -j n(cat /proc/cpuinfo内核数)sudo make modules_install sudo make ins原创 2021-03-20 22:55:45 · 578 阅读 · 2 评论 -
奔跑吧linux内核-ARM
实验平台:git clone git@github.com:figozhang/runninglinuxkernel_5.0.gitlinux内核 代码树 git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git原创 2021-01-01 23:00:32 · 70 阅读 · 0 评论 -
linux内核打印函数指针的函数名字
内核中函数指针用的很多,在debug 的时候能直接打印出一个函数指针对应的函数就会很方便。打印裸指针(raw pointer)用 %p,%p除了可以用来打印指针外还可以打印其它的信息%pF可打印函数指针的函数名和偏移地址,%pf只打印函数指针的函数名,不打印偏移地址。如printk("%pf %pF\n", ptr, ptr) will print:module_start module...转载 2020-03-17 15:41:45 · 1438 阅读 · 0 评论 -
linux Systemtap调试
到官网下载 https://sourceware.org/systemtap/wiki点Archive of SystemTap releases进入下载页面 这里下载的是systemtap-3.2.tar.gz下载所需要的zlib elfutils依懒 这里为zlib-1.2.11.tar.gz elfutils-0.166.tar.bz2 编译~/Tools/zli原创 2018-01-11 16:33:00 · 345 阅读 · 0 评论 -
定时器的使用方法
定时器原创 2016-04-19 14:16:14 · 475 阅读 · 0 评论 -
input分析
input设备原创 2016-05-24 12:35:49 · 965 阅读 · 0 评论 -
linux中断相关知识
linux中断原创 2016-04-08 10:06:01 · 1468 阅读 · 0 评论 -
中断处理的工作队列机制
工作队列(work queue)转载 2016-04-08 11:44:16 · 2043 阅读 · 0 评论 -
内核同步机制
内核同步机制原创 2016-04-08 10:18:07 · 400 阅读 · 0 评论 -
ioctl系统调用
什么是ioctl原创 2016-04-08 10:11:42 · 2173 阅读 · 0 评论 -
中断处理的 tasklet 机制
中断处理的 tasklet 机制原创 2016-04-08 10:01:05 · 5208 阅读 · 2 评论 -
select系统调详细说明
select系统调用原创 2016-04-08 09:58:53 · 846 阅读 · 0 评论 -
linux_fasync的总结
fasync的总结原创 2016-04-08 09:56:25 · 12224 阅读 · 1 评论 -
Linux设备驱动中的阻塞与非阻塞总结
Linux设备驱动中的阻塞与非阻塞总结原创 2016-04-08 09:55:15 · 659 阅读 · 0 评论 -
linux dtd接口
dtd原创 2016-03-22 11:17:35 · 800 阅读 · 0 评论 -
kernel里获取uboot的环境变量
kernel里获取uboot的环境变量原创 2016-03-21 19:03:56 · 4599 阅读 · 0 评论 -
Arm linux启动流程
Linux启动代码分为以下三部分: 汇编编写的体系结构相关的部分 C语言编译的体系结构相关的部分 C语言编译的体系结构无关的部分内核镜像的生成: 内核启动流程-1.汇编部分: 内核启动入口代码: 内核编译连接后生成的ELF映像文件是vmlinux,从内核源代码顶层目录的makefile中可以找到vmlinux的生成规则:其中vmlinux-lds是链接器脚本,对于arm而言,路径是arc转载 2016-03-07 22:18:21 · 615 阅读 · 0 评论 -
android native 内存泄露检查(libc.debug.malloc )
内存泄漏和内存越界转载 2018-01-03 11:27:07 · 5925 阅读 · 0 评论 -
linux内核内存问题检测调试
内存检测:原创 2018-01-03 13:50:49 · 2787 阅读 · 0 评论 -
tas5782m功率调试
整个调试过程中比较纠结,到最后才发现i2s bit clock mclock波形质量不好且模块需要在提供时间 的时候,读写才有效在调试音频功率时发现,做line in时,pm8916有异常波形出来,需要削除掉这个异常15k正弦波形后面是发现是从mic1进来的,由硬件进行滤波来解决这个问题,后面在解决中还出现了23k正弦波,同样是硬件解决的最后硬件只将tinymix “ADC1 Volume...原创 2019-03-14 14:04:47 · 2068 阅读 · 0 评论 -
/proc/sysrq-trigger参数使用
echo c > /proc/sysrq-trigger选项有如下:static struct sysrq_key_op *sysrq_key_table[36] = { &sysrq_loglevel_op, /* 0 */ &sysrq_loglevel_op, /* 1 */ ...原创 2019-03-02 15:06:14 · 1356 阅读 · 0 评论 -
修改内核printk打印级别
在内核启动的cmdline中添加如下变量:loglevel=3原创 2019-01-25 16:03:35 · 2143 阅读 · 1 评论 -
msm8909耳机孔状态标记
添加msm8909添加耳机线是否插入的标记,用于上层读写,cat /sys/module/msm8916_wcd_irq/parameters/msm8x16_line_status 为1表示接入 0表示未接Index: android/kernel/msm-3.18/sound/soc/codecs/msm8916-wcd-irq.c============================...原创 2018-11-30 15:00:50 · 399 阅读 · 0 评论 -
qcom内存大小配置及调频测试
我们的板子一直很卡,在后面做内存测试的时候,才发现只有约400M,一G的内存没有真正体现 叫硬件用qdutt检测一下,发现只有一个片选 后面发现是硬件片选没接,cs1 cke1没接 接上之后用qdutt检测到两片都是512m 修改之后发现软件启动不了,找不到dtb[5830] Kernel image not patched..Unable to locate dt off...原创 2018-08-01 14:37:24 · 5229 阅读 · 0 评论 -
内核调用应用程序命令
dhcp原创 2018-01-29 19:59:11 · 567 阅读 · 0 评论 -
linux支持usb打印机
配置CONFIG_USB_PRINTER=yinux内核默认运行打印机 核 驱动,直接在配置上CONFIG_USB_PRINTER=y添加上去就好了。make menuconfig 选上USB打印机选项: Device Drivers ---> [*] USB support --->翻译 2018-01-16 20:06:55 · 7453 阅读 · 1 评论 -
ftrace使用技巧
打开内核选项CONFIG_NOP_TRACER=yCONFIG_HAVE_FUNCTION_TRACER=yCONFIG_HAVE_FUNCTION_GRAPH_TRACER=yCONFIG_HAVE_DYNAMIC_FTRACE=yCONFIG_HAVE_FTRACE_MCOUNT_RECORD=yCONFIG_HAVE_SYSCALL_TRACEPOINTS=yCONFIG原创 2018-01-05 15:26:39 · 1354 阅读 · 0 评论 -
linux内核之spinlock
数据结构typedef struct spinlock { union { struct raw_spinlock rlock;#ifdef CONFIG_DEBUG_LOCK_ALLOC# define LOCK_PADSIZE (offsetof(struct raw_spinlock, dep_map)) struct {翻译 2018-01-10 19:41:43 · 471 阅读 · 0 评论 -
奔跑吧linux内核-物理内存初始化
内存管理是一个很复杂的系统,涉及的内容很多,下图是一个抽象的概述 内存大小在ARM linux中用dts(dts由powerPC的fdt演变过来)呈现,在ARM vexpress中,内存的定义是在 kernel\linux\v4.4\arch\arm\boot\dts\vexpress-v2p-ca9.dts中,内存的起始地址是0x60000000,大小为0x40000000即1G翻译 2018-01-22 12:42:14 · 1966 阅读 · 0 评论 -
linux内核死锁调试
内核死锁调试原创 2018-01-04 10:16:00 · 5343 阅读 · 0 评论 -
ubuntu14 make menuconfig 出错
~/TOOLS/linux-2.6.32.2$ make menuconfig * Unable to find the ncurses libraries or the * required header files. * ‘make menuconfig’ requires the ncurses libraries.* Install ncurses (ncurses-devel) an原创 2015-02-11 00:12:46 · 585 阅读 · 0 评论