printk

Linux内核之 printk 打印 Linux 内核之 printk 打印 阅读详情

/proc/sys/kernel/printk 

有四个数字级别   A B C D 

第一个表示串口的打印级别  < A ,   B 表示控制台的级别,  C 表示可以设置的最小级别, D表示系统启动时的打印级别。

B 要小于 A, 这样printk 不加任何打印级别的信息才能打出来。   与一同事讨论时后面思考得出的结论。

如何让 printk 打印到终端 讲述 如何让 printk 打印到终端 阅读详情

相关推荐

[console] early printk实现流程

本文以ARM为例一、功能说明printk的log输出是由console实现(会在其他文章中说明)。由于在kernel刚启动的过程中,还没有为串口等设备等注册console(在device probe阶段实现),此时无法通过正常的console来输出log。 为此,linux提供了early console机制,用于实现为设备注册console之前的早期log的输出,对应console也称为boot

ooonebook的博客 8631

printk 内核打印

printk 在内核源码中用来记录日志信息的函数,只能在内核源码范围内使用,用法类似于 printf 函数。 printk 函数主要做两件事情: 将信息记录到 log 中; 调用控制台驱动来将信息输出。 printk 介绍 printk 将内核信息输出到内核信息缓冲区中,内核缓冲区在 kernel/printk/printk.c 中定义: static char __log_buf[__LOG_BUF_LEN] __aligned(LOG_ALIGN); 内核信息缓冲区是一个环形缓冲区(Ring Bu

程序员「阿基米东」的编程之旅 6654

printk 工作原理

========================================================v0.1 3.4.2009 by arethe   Email: qinchenggang@sict.ac.cn========================================================    printk()的参数个数是可变的,linu

秦白衣的技术专栏 9439

printk()函数分析

在内核模块中,常用的输出函数为printk(),为了理解该函数的工作原理以及执行流程,接下来对该函数进行分析。printk()函数原型如下: //以“printk("num is: %d!\n", num)”语句为例,开始分析。 //在分析之前,先来了解两个宏定义,分别是: #define va_start(v, l) __builtin_va_start(v, l) //参数v将指向(addr + sizeof(l)),addr为参数的首地址 #define va_end(v) __builtin_va

sinat_34467747的博客 3851

printk函数详解

综述:printk 允许你根据消息的严重程度对其分类, 通过附加不同的记录级别或者优先级在消息上. 常常用一个宏定义来指示记录级别. 例子:2 个 printk 命令, 一个调试消息, 一个紧急消息: printk(KERN_DEBUG "Here I am: %s:%i\n", __FILE__, __LINE__); printk(KERN_CRIT "I'm trashed; gi

软件工程 3675

printk 与syslog

在头文件 中定义了 【8种可用的日志级别字符串】KERN_EMERG    用于紧急事件消息,它们一般是系统崩溃之前提示的消息。KERN_ALERT    用于需要立即采取动作的情况。KERN_CRIT     临界状态,通常涉及严重的硬件或软件操作失败。KERN_ERR      用于报告错误状态;设备驱动程序会经常使用KERN_ERR来报告来自硬件的问题。KERN_WARNING  对可能出

stone_kingnet的专栏 4638

linux之printk

今天和同事在遇到一个在内核中用printk打印log发现在一个printk里面,最后的log无法输出,如果去掉前面的一些log之后则可以显示后面的一些log信息,最后跟代码发现是由于在vprintk_store()函数内部的textbuf[LOG_LINE_MAX]限制了一次允许输出log的最大长度。也就是说printk一次输出的log长度不能大于LOG_LINE_MAX的长度。 kernel/p...

天使之翼 1152

老司机避坑指南:UC3842自举驱动电路发热严重?这样选C39/C37电容值最稳

本文针对UC3842自举驱动电路发热严重的问题,深入剖析了驱动波形边沿速度与损耗的矛盾根源。通过实测数据与热成像分析,重点阐述了关键电容C39/C37的选型策略,提供了从经验公式到量化计算的优化方法,帮助工程师在发热与效率间找到最佳平衡点,并探讨了分立方案与专用驱动IC的适用场景。

lambda的博客 747

safe printk

什么是safe printk,就是 Use extra buffer to prevent a recursion deadlock in safe mode 的流程如下: 入口在printk中 asmlinkage __visible int printk(const char *fmt, ...) { va_list args; int r; va_start(args, fmt); ...

jason的笔记 1665

3个国产AI大模型实战:如何用DeepSeek+豆包+千问批量生成高质量测试用例(附完整代码)

本文详细介绍了如何利用DeepSeek、豆包和千问三大国产AI大模型批量生成高质量测试用例的实战方法。通过Python环境配置、多模型SDK安装和统一接口封装,实现高效测试用例生成,并结合结构化提示词设计和多模型结果对比分析,显著提升测试效率和覆盖率。

weixin_29197699的博客 711

AURIX TC397开发板到手第一步:用iLLD库驱动LED流水灯(附完整代码)

本文详细介绍了如何使用英飞凌AURIX TC397开发板和iLLD库实现LED流水灯效果。从开发环境配置到硬件连接,再到完整的代码实现,逐步引导开发者完成项目。文章还提供了优化建议和常见问题解决方案,帮助嵌入式开发新手快速上手。

weixin_30911451的博客 391

printk 的简要分析

Printk的级别: 在内核代码 include/linux/kernel.h 中有如下代码, 它们表示 0~7这 8 个记录级别的名称。   #define KERN_EMERG  "" /* system is unusable   */  #define KERN_ALERT   "" /* action must be taken immediately */  #define K

天涯海阁 1616

图自编码器(GAE)与变分图自编码器(VGAE)

在学习图自编码器之前先了解一下自编码器与变分自编码器。

小鱼的小窝 1万+

Linux Kernel printk, early_printk, early_print, printascii

Linux Kernel printk, early_printk, early_print, printascii

liguizhuan的专栏 1020

机器人多学科仿真软件:Webots_(19).Webots的插件与扩展开发

通过上述步骤,您可以开发和使用Webots的插件、扩展和接口,以增强其功能和灵活性。

kkchenjj的博客 925

Open3D (C++)球旋转算法(BPA)三维建模

球旋转算法用于点云三维建模的C++代码实现。

点云侠的博客 1771

printk_defered打印详细解析

在linux源码中有一种特殊的打印函数,用户sched_flow过程中,此函数就是printk_defered,pirntk_defered源码如下所示: int printk_deferred(const char *fmt, ...) { va_list args; int r; va_start(args, fmt); r = vprintk_deferred(fmt, args...

jj244212647的博客 2251

点云语义分割:PointNet训练S3DIS数据集

文章目录一、数据准备1.1、数据下载二、训练三、测试 项目地址:pointnet 此次我们是用pointnet网络来做语义分割。代码在pointnet项目中的sem_seg文件夹下,里面也有README.md介绍了训练的过程。 一、数据准备 1.1、数据下载 原始数据下载 处理好的h5格式数据下载 二、训练 三、测试 ...

zhaoguanhua的博客 4177

linux printk 头文件,printk函数详解

printk是内核态信息打印函数,功能和比准C库的printf类似。printk还有信息打印级别。函数原型:int printk(const char *fmt, ...)需要的头文件:#include消息打印级别:fmt----消息级别:#defineKERN_EMERG"<0>"#defineKERN_ALERT"<1>"#defineKERN_CRIT"<2&g...

weixin_42373066的博客 6009

【100%通过率】华为OD机试真题2026双机位C卷 C语言 实现【加密算法】

【100%通过率】华为OD机试真题2026双机位C卷 Python&JS 实现【加密算法】有一种特殊的加密算法,明文为一段数字串,经过密码本查找转换,生成另一段密文数字串。规则如下

MISAYAONE的博客 652

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

c语言中printk用法,printk和printf的区别

&&&大部分常用的C库函数在Linux内核中都已经得到了实现。在所有没有实现的函数中,最著名的就数printf()函数了。内核代码虽然无法调用printf()函数,但它可以调用printk()函数。printk()函数负责把格式化好的字符串拷贝到内核日志缓冲上,这样syslog程序就可以通过读取该缓冲区来获取内核信息。printk()的用法很像printf():&p...

weixin_30391353的博客 3222

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

early printk实现流程

在函数start_kernel中,parse_early_param处理early_param定义的参数,parse_args处理__setup定义的参数,这里不详细说明,只需要知道当从cmdline中查找到对应字符串时,对应的setup函数会被调用。完成之后,console子系统中的console_drivers就存在了early_console_dev这个console(具体参考“console”的文章)。1、printascii、printk、early_print、early_printk的区别。

kumi89的博客 1148

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

linux printk

printk如何调用底层驱动? printk->vprintk_func->vprintk_default(在未定义CONFIG_PRINTK_NMI)->vprintk_emit->console_unlock->call_console_drivers(通过遍历console_drivers(for_each_console))->(con->write) asmlinkage __visible int printk(const char *fmt, ...)

jinbc的博客 852

Linux内核调试利器——printk

在Linux开发环境下,打印log一直是最有效的调试方式,内核开发也不例外。先看一下下面这段代码:#include <linux/init.h> #include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL"); MODULE_AUTHOR("Wang Shuxiao");static int hello_init(void) { printk(

shuxiaogd的专栏 2081

printk的使用

参考文章 https://blog.youkuaiyun.com/wwwlyj123321/article/details/88422640 https://blog.youkuaiyun.com/m0_46170433/article/details/105263694 https://blog.youkuaiyun.com/u010948546/article/details/81437676 printk在内核源码中用来记录日志信息的函数,只能在内核源码范围内使用。用法和printf非常相似 printk函数主要做两件事情:第一件就是

weixin_46048542的博客 2838

linux内核 printk实现,Linux内核调试技术之printk

1、简介(基于s3c2440 linux)在内核调试技术之中,最简单的就是printk的使用了,它的用法和C语言应用程序中的printf使用类似,在应用程序中依靠的是stdio.h中的库,而在linux内核中没有这个库,所以在linux内核中,使用这个printk就要对内核的实现有一定的了解。printf和printk的区别:printk会在开头处加上""样式的字符,N的范围是0~7,表示这个信息...

weixin_42531710的博客 1145
上一篇: ext 文件系统
下一篇: linux 调度
techtitan
博客等级 码龄16年 21粉丝 243原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值