使能linux驱动中的dev_dbg .

如何打开linux内核函数dev_dbg()调试开关 我们先看一下定义在<linux/device.h>里面关于打印级别基本的定义在来看下kernel/printk.c 中定义的打印级别,如下:DEFAULT_CONSOLE_LOGLEVEL, /* console_loglevel 控制台日志级别,优先级高于该值的消息将在控制台显示*/MINIMUM_CONSOLE_LOGLEVEL, /* minimum_console_loglevel 最低的控制台日志级别 */ 阅读详情
linux设备驱动调试,我们在内核中看到内核使用dev_dbg来控制输出信息,这个函数的实质是调用 printk(KERN_DEBUG )来输出打印信息。要打开这个开关需要下面两步。
     1、打开调试开关:你调试的文件中必然包含了<linux/device.h>,或者《linux /paltforam_device.h》,后者包含了前者,在包含此头文件之前,使用#define DEBUG 1 来打开调试开关:例如
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/clk.h>
#include <linux/module.h>
#define DEBUG    1
#include <linux/platform_device.h>
     在linux/device.h文件中:
#define dev_printk(level, dev, format, arg...)    \
    printk(level "%s %s: " format , dev_driver_string(dev) , (dev)->bus_id , ## arg)
#ifdef DEBUG
#define dev_dbg(dev, format, arg...)        \
    dev_printk(KERN_DEBUG , dev , format , ## arg)
#else
static inline int __attribute__ ((format (printf, 2, 3)))
dev_dbg(struct device * dev, const char * fmt, ...)
{
    return 0;
}
#endif
但是这个打开了之后,也不能顺利的输出信息,原因是printk有默认的信息级别。
    linux/kernel文件中
#define    KERN_EMERG    "<0>"    /* system is unusable            */
#define    KERN_ALERT    "<1>"    /* action must be taken immediately    */
#define    KERN_CRIT    "<2>"    /* critical conditions            */
#define    KERN_ERR    "<3>"    /* error conditions            */
#define    KERN_WARNING    "<4>"    /* warning conditions            */
#define    KERN_NOTICE    "<5>"    /* normal but significant condition    */
#define    KERN_INFO    "<6>"    /* informational            */
#define    KERN_DEBUG    "<7>"    /* debug-level messages            */
可以看到KERN_DEBUG是级别最低的。
2、修改文件kernel/printk文件
/* printk's without a loglevel use this.. */
#define DEFAULT_MESSAGE_LOGLEVEL 4 /* KERN_WARNING */
/* We show everything that is MORE important than this.. */
#define MINIMUM_CONSOLE_LOGLEVEL 1 /* Minimum loglevel we let people use */
#define DEFAULT_CONSOLE_LOGLEVEL 8 /* anything MORE serious than KERN_DEBUG */
   其中DEFAULT_CONSOLE_LOGLEVEL 为终端console输出的最低级别,比这严重的都将输出。原来该值为7,则调试信息无法输出,修改为8则全部有输出。
开启dev_dbg方法 本篇文章将详细介绍如何通过动态调试机制启用 dev_dbg,以及在特定情况下通过其他方式实现调试信息输出。 阅读详情

相关推荐

Krita+ComfyUI实时AI绘图插件安装避坑指南(附常见错误解决方案)

本文提供了一份详细的Krita与ComfyUI实时AI绘图插件安装与配置指南。文章重点解析了从环境准备、插件导入到依赖补全的全流程,并针对常见的“缺失模型/节点”错误和性能问题提供了实用的解决方案,帮助数字艺术家和设计师顺利搭建稳定高效的实时AI绘图工作流。

kkk56的博客 1076

Linux 内核动态打印调试(dev_info、 dev_dbg

在 kernel 驱动代码中,使用动态输出是系统内核调试的重要手段之一,printk打印是全局的,只能设置输出等级。而动态输出可以动态选择打开某个内核子系统的输出,可以有选择性地打开某些模块的输出,printk被dev_info,dev_dbgdev_err之类的函数代替,dev_xxx函数的本质还是使用printk打印的,只是对printk进行了一层包装。下面简述下这几个dev_xxx函数的基本使用规则,以及动态调试使用方式。

嵌入式大师之路 9223

dev_dbg() 调试信息

dev_dbg() 如何打印 调试信息 里面说明了如何打开一个开关 让内核里面的调试信息打印出来

打开dev_dbg()调试开关

打开dev_dbg开关,使其日志输出到控制台 内核驱动中(大多数是子系统中)有大量使用dev_dbg打印日志信息,但是这些信息默认是不会输出到控制台的。调试过程中,我们如何打开DEBUG,获取这些dev_dbg日志呢? 打开dev_dbg需要满足两个条件: 开启DEBUG 调整printk日志级别 下面介绍为什么需要这两个条件以及如何修改。 开启DEBUG 首先看下dev_...

HelloBirthday的博客 2万+

Krita Vision Tools工作流程优化:如何将AI选择工具集成到专业绘画流程

想要在数字绘画中实现高效精准的对象选择吗?Krita Vision Tools正是您需要的终极解决方案!这款强大的Krita插件利用先进的机器学习技术,让您通过简单点击或绘制边界框就能快速选择对象,彻底改变您的绘画工作流程。本文将为您提供完整的Krita Vision Tools集成指南,帮助您将AI选择工具无缝融入专业绘画流程。 ## 🚀 为什么选择Krita Vision Tools?

gitblog_00969的博客 815

【免费下载】 Krita AI Diffusion 插件安装与配置指南

### 项目基础介绍 Krita AI Diffusion 是一个为 Krita 图像编辑软件开发的插件,旨在通过生成式 AI 技术帮助用户在图像绘画和编辑过程中生成图像。该项目的主要目标是提供一个精确、可控且与 Krita 工作流程无缝集成的 AI 图像生成工具。 ### 主要编程语言 该项目主要使用 Python 编程语言进行开发。 ## 2. 项目使用的关键技术和框架 ### 关键技术...

gitblog_09232的博客 6083

ComfyUI和Krita本地部署

我的电脑信息(4060Ti 16g,i5-12600kf,win11系统)。豆包的快速入门;准备工作;安装ComfyUI;安装Krita;启动时可能会遇到的问题;

qq_52136309的博客 2109

如何安装Krita Vision Tools:从零开始配置AI绘画插件的完整指南

Krita Vision Tools是一款强大的Krita插件,它通过AI技术为艺术家提供了智能选区工具、背景移除滤镜和智能修复功能,让单点击或绘制边界框即可精准遮罩图像中的对象成为可能。本文将详细介绍如何从零开始安装和配置这款AI绘画插件,帮助你快速提升数字绘画效率。 ## 准备工作:系统与软件要求 在开始安装Krita Vision Tools之前,请确保你的系统和软件满足以下要求: -

gitblog_00041的博客 760

开源绘画软件Krita本地集成AI插件:构建免费高效的AI辅助绘画工作流

AI绘画技术,特别是Stable Diffusion等文生图模型,正深刻改变数字内容创作流程。其原理基于深度学习,通过理解文本提示生成或编辑图像,为创作者提供了强大的灵感激发和效率提升工具。这项技术的核心价值在于将创意构思快速可视化,并能无缝融入现有工作流进行迭代优化。在应用场景上,它广泛适用于概念设计、插画绘制、背景生成等多个领域。本文聚焦于如何将开源AI能力深度集成到免费的专业绘画软件Krita中,通过配置本地Stable Diffusion服务与Krita-AI-Diffusion等插件,实现一个数据

343

终极Krita插件指南:10大专业数字绘画工作流优化技巧

Krita作为一款免费开源的专业数字绘画软件,凭借其强大的自定义功能和丰富的插件生态,已成为全球艺术家的首选工具。本文将深入解析Krita插件系统,帮助你通过插件优化工作流,释放创作潜能。 ## 为什么插件是Krita工作流的核心? Krita的插件系统是其灵活性的基石,通过插件可以实现从基础功能增强到专业级创作辅助的全方位提升。无论是绘画效率提升、特殊效果生成还是工作流自动化,插件都能为不同

gitblog_00712的博客 932

Krita插件驱动的AI绘画工作流技术探索报告

在数字艺术创作领域,AI技术正以前所未有的方式重塑传统工作流程。本文将深入探索Krita插件如何构建高效的AI绘画工作流,通过系统兼容性测试、环境搭建实验、核心技术拆解和性能优化四个维度,全面解析AI绘画技术在专业创作环境中的应用与实践。 ## 探索系统兼容性:硬件与软件适配测试报告 ### 图形处理单元兼容性矩阵 现代AI绘画技术高度依赖GPU加速能力,我们对不同硬件平台进行了系统性测试:

gitblog_01111的博客 462

Krita Spritesheet Manager 使用教程

Krita Spritesheet Manager 使用教程 项目介绍 Krita Spritesheet Manager 是一个用于 Krita 的插件,旨在将动画导出为精灵表(spritesheets)。该插件利用 Krita 的 Python 脚本管理器,适用于 Krita 4.2.x 或更高版本。对于较早的 Krita 4.x 版本,插件仍可工作,但无法实现自动动画长度检测功能。在 Kri...

gitblog_00763的博客 745

Krita Vision Tools开发者指南:从源码编译插件的完整流程

想要深度定制Krita AI插件功能?这篇完整的Krita Vision Tools开发者指南将带你从零开始编译这款强大的智能选择工具插件!😊 Krita Vision Tools是一款革命性的Krita插件,它通过机器学习技术为数字艺术家提供了智能选择工具,只需单击或绘制边界框即可快速创建精确遮罩。 ## 为什么需要从源码编译? 从源码编译Krita Vision Tools插件能让你获得

gitblog_00058的博客 408

Krita Vision Tools点选分割工具详解:10个技巧快速掌握智能对象选择

Krita Vision Tools是一款革命性的Krita插件,为数字艺术家和设计师带来了AI智能选择功能。这个强大的工具集利用机器学习技术,让对象选择和背景移除变得前所未有的简单高效。无论你是Krita新手还是经验丰富的数字画家,掌握这10个技巧都能大幅提升你的工作效率。🎨 ## 为什么需要智能选择工具? 传统的数字绘画中,选择复杂对象往往需要繁琐的手动操作。Krita Vision T

gitblog_00065的博客 456

探索Krita精灵表导出器:解锁动画创作新纪元

探索Krita精灵表导出器:解锁动画创作新纪元 在数字艺术与游戏开发的广阔天地中,【kritaSpritesheetExporter】插件宛如一股清流,专为艺术家和开发者设计,旨在简化并加速从Krita到游戏或交互式应用中的动画转换过程。本篇文章将带你深入了解这个神器,解析其技术核心,探讨应用场景,并揭示独特魅力,让你的艺术作品更加灵动,项目流程更为流畅。 项目介绍 kritaSpriteshee...

gitblog_00092的博客 816

Krita Vision Tools常见问题解决:安装失败、性能优化与错误排查终极指南

Krita Vision Tools是一款强大的Krita插件,它通过机器学习技术为数字艺术家提供智能选择工具。这个插件能够让你通过单次点击或绘制边界框来快速遮罩对象,极大地提升了工作效率。然而,在使用过程中,用户可能会遇到安装失败、性能问题或各种错误。本文将为你提供完整的解决方案,帮助你顺利使用这个强大的工具。 ## 📦 安装失败问题解决 ### 插件无法加载或显示 这是最常见的问题之一。

gitblog_00046的博客 1086

krita-rpc:为Krita添加Discord富存在感的Python插件

krita-rpc:为Krita添加Discord富存在感的Python插件 项目介绍 Krita DRP 是一款专为数字绘画软件 Krita 开发的 Python 插件。它通过集成 Discord Rich Presence 功能,使用户在使用 Krita 绘画时,可以在 Discord 上实时展示当前的工作状态,增加社交互动性和绘画体验的趣味性。 项目技术分析 该插件采用 Python 编写,...

gitblog_00219的博客 509

Qwen-Image-2512与Krita集成:绘画插件开发部署教程

本文介绍了如何在星图GPU平台上自动化部署Qwen-Image-2512-ComfyUI镜像,快速搭建AI绘画工作流。该方案将强大的Qwen-Image-2512图像生成模型与ComfyUI可视化引擎结合,用户可通过开发Krita插件,实现直接在专业绘画软件内进行AI图片生成与创作,极大提升数字艺术工作流的效率与灵感激发。

AgatePanther34的博客 396
上一篇: linux电源管理的uevent上报
下一篇: sysfs的uevent及DEVICE_ATTR
emtribe
博客等级 码龄14年 23粉丝 4原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值