zoukankan      html  css  js  c++  java
  • kernel hexdump分析 (2.0)

    有的时候print_hex_dump_bytes循环打印很多信息的时候(大于1K)
    用UART串口打印的信息总是会有丢失,估计是printk缓冲区的问题把,具体原因不是太清楚
    于是自己写了个比较笨的dump函数,问题得到解决:

    //每次打印128个字节(当然你也可以打印更多),只调用一次printk ,
    // 而 print_hex_dump_bytes 则 最多32个字节 就调用一次printk

    static void  dumpBuf(void * buf)
    {
       unsigned char * temp;
       
       temp=(char *)buf;
    
       int i=0;
          printk(KERN_ERR  "[%s] 
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
     
    %02x %02x %02x %02x %02x %02x %02x %02x 
    ",__func__,  
    	   	temp[i+0],temp[i+1],temp[i+2],temp[i+3],temp[i+4],temp[i+5],temp[i+6],temp[i+7], 
    	   	temp[i+8],temp[i+9],temp[i+10],temp[i+11],temp[i+12],temp[i+13],temp[i+14],temp[i+15],
    	   	temp[i+16],temp[i+17],temp[i+18],temp[i+19],temp[i+20],temp[i+21],temp[i+22],temp[i+23],
    	   	temp[i+24],temp[i+25],temp[i+26],temp[i+27],temp[i+28],temp[i+29],temp[i+30],temp[i+31],
    	   	temp[i+32],temp[i+33],temp[i+34],temp[i+35],temp[i+36],temp[i+37],temp[i+38],temp[i+39],
    	   	temp[i+40],temp[i+41],temp[i+42],temp[i+43],temp[i+44],temp[i+45],temp[i+46],temp[i+47],
    	   	temp[i+48],temp[i+49],temp[i+50],temp[i+51],temp[i+52],temp[i+53],temp[i+54],temp[i+55],
    	   	temp[i+56],temp[i+57],temp[i+58],temp[i+59],temp[i+60],temp[i+61],temp[i+62],temp[i+63],
    	   	temp[i+64],temp[i+65],temp[i+66],temp[i+67],temp[i+68],temp[i+69],temp[i+70],temp[i+71],
    	   	temp[i+72],temp[i+73],temp[i+74],temp[i+75],temp[i+76],temp[i+77],temp[i+78],temp[i+79],
    	   	temp[i+80],temp[i+81],temp[i+82],temp[i+83],temp[i+84],temp[i+85],temp[i+86],temp[i+87],
    	   	temp[i+88],temp[i+89],temp[i+90],temp[i+91],temp[i+92],temp[i+93],temp[i+94],temp[i+95],
    	   	temp[i+96],temp[i+97],temp[i+98],temp[i+99],temp[i+100],temp[i+101],temp[i+102],temp[i+103],
    	   	temp[i+104],temp[i+105],temp[i+106],temp[i+107],temp[i+108],temp[i+109],temp[i+110],temp[i+111],
    	   	temp[i+112],temp[i+113],temp[i+114],temp[i+115],temp[i+116],temp[i+117],temp[i+118],temp[i+119],
    	   	temp[i+120],temp[i+121],temp[i+122],temp[i+123],temp[i+124],temp[i+125],temp[i+126],temp[i+127]);
       //}


     

  • 相关阅读:
    angular-ui-bootstrap的弹出框定义成一个服务的实践(二)
    分享百度文件上传组件webUploader的使用demo
    display的flex属性使用详解
    数组去重(初识ES6)
    在ng中的select的使用方法的讲解
    安装xamp之后,appach、mysql等问题的总结
    python中string.casefold和string.lower区别
    python3数据类型
    MySQL bin-log 日志清理方式
    python终端颜色设置
  • 原文地址:https://www.cnblogs.com/riasky/p/3458893.html
Copyright © 2011-2022 走看看