printf sprintf formatea los datos e imprime todos los datos en el formato de N números por línea

referencia

https://www.cnblogs.com/52php/p/5724390.html 

Sistema operativo integrado --- implementación de la función de impresión (printf / sprintf)  : https://blog.csdn.net/u010961173/article/details/79769747

int firmware_printf(const struct firmware *pfw, unsigned long fw_addr)
{    
    int i=0, n=0, size=0, col=16;
    const u8 *pdata;
    char str[1024];
    char a_str[64];
    pdata = pfw->data;
    size = pfw->size;
    memset(str, '\0', sizeof(a_str));
    memset(str, '\0', sizeof(str));
    while(n<size){
        col = ((size-n)>col)?col:(size-n);
        for(i=0;i<col;i++){
            sprintf(a_str, "%02x ", *(pdata+i));
            strcat(str, a_str);
        }
        pr_info("%s \n", str);
        memset(str, '\0', sizeof(str));
        /*
        pr_info("*%02x %02x %02x %02x %02x %02x %02x %02x \n",
            *pdata,     *(pdata+1), *(pdata+2), *(pdata+3),
            *(pdata+4), *(pdata+5), *(pdata+6), *(pdata+7));
        */
        pdata += col;        
        n += col;
    }
    
    return 0;
}

Los resultados son los siguientes:

[38.985631@0] 74 61 72 74 00 68 69 66 69 34 64 73 70 5f 67 65  
[38.985637@0] 74 5f 69 6e 66 6f 00 5f 5f 6c 69 62 63 5f 73 74  
[38.985642@0] 61 72 74 5f 6d 61 69 6e 40 40 47 4c 49 42 43 5f  
[38.985647@0] 32 2e 34 00 73 74 72 65 72 72 6f 72 40 40 47 4c  
[38.985660@0] 49 42 43 5f 32 2e 34 00 5f 5f 67 6d 6f 6e 5f 73  
[38.985665@0] 74 61 72 74 5f 5f 00 6f 70 65 6e 40 40 47 4c 49  
[38.985670@0] 42 43 5f 32 2e 34 00 5f 5f 64 73 6f 5f 68 61 6e  
[38.985676 @ 0] 64 6c 65 00 5f 49 4f 5f 73 74 64 69 6e 5f 75 73  
[38.985681@0] 65 64 00 68 69 66 69 34 64 73 70 5f 6c 6f 61 64  
[38.985686@0] 00 5f 5f 6c 69 62 63 5f 63 73 75 5f 69 6e 69 74  
[38.985691@0] 00 5f 5f 65 72 72 6e 6f 5f 6c 6f 63 61 74 69 6f  
[38.985696@0] 6e 40 40 47 4c 49 42 43 5f 32 2e 34 00 5f 65 6e  
[38.985709@0] 64 00 5f 73 74 61 72 74 00 5f 5f 65 6e 64 5f 5f  
[38.985714@0] 00 5f 5f 62 73 73 5f 73 74 61 72 74 00 6d 61 69  
[38.985720@0] 6e 00 5f 4a 76 5f 52 65 67 69 73 74 65 72 43 6c  
[38.985725@0] 61 73 73 65 73 00 5f 5f 54 4d 43 5f 45 4e 44 5f  
[38.985730@0] 5f 00 5f 49 54 4d 5f 72 65 67 69 73 74 65 72 54  
[38.985735 @ 0] 4d 43 6c 6f 6e 65 54 61 62 6c 65 00 61 62 6f 72  
[38.985740@0] 74 40 40 47 4c 49 42 43 5f 32 2e 34 00 5f 69 6e  
[38.985745@0] 69 74 00 63 6c 6f 73 65 40 40 47 4c 49 42 43 5f  
[38.985747@0] 32 2e 34 00  

Supongo que te gusta

Origin blog.csdn.net/qingfengjuechen/article/details/87925372
Recomendado
Clasificación