將資料列印出來。
/*
brief Dump data to console
retval 0 if success, else return a negtive value
*/


int dump_data_char(unsigned int addr, unsigned int size)
{
    int cnt = 0;
    char *ptr = (char*)(addr);
    char *ptraddr;

    //DBG_DETAIL("address:%8x, size:%4d\n", add, size);

#ifdef __KERNEL__
    ptraddr = (char*) kmalloc(size, GFP_KERNEL);
    copy_from_user(ptraddr, (const void *)ptr, size);
#else
    ptraddr = ptr;
#endif

    //DBG_DETAIL("ptraddr:%8x\n", ptraddr);

    for(cnt=0; cnt<size; cnt++) {
        DBG_ERR("(%d)data   0x%x\n", cnt, ptraddr[cnt]);
        //DBG_ERR("(%d)data   0x%x\n", cnt, *ptraddr++);//*(ptraddr++)
    }

    return 0;
}


int dump_data_short(unsigned int addr, unsigned int size)
{
    int cnt = 0;
    short *ptr = (short*)(addr);
    short *ptraddr;

    //DBG_DETAIL("address:%8x, size:%4d\n", add, size);

#ifdef __KERNEL__
    ptraddr = (char*) kmalloc(size, GFP_KERNEL);
    copy_from_user(ptraddr, (const void *)ptr, size);
#else
    ptraddr = ptr;
#endif

    //DBG_DETAIL("ptraddr:%8x\n", ptraddr);

    for(cnt=0; cnt<size; cnt++) {
        DBG_ERR("(%d)data   0x%x\n", cnt, ptraddr[cnt]);
        //DBG_ERR("(%d)data   0x%x\n", cnt, *ptraddr++);//*(ptraddr++)
    }

    return 0;
}


int dump_data_int(unsigned int addr, unsigned int size)
{
    int cnt = 0;
    int *ptr = (short*)(addr);
    int *ptraddr;

    //DBG_DETAIL("address:%8x, size:%4d\n", add, size);

#ifdef __KERNEL__
    ptraddr = (char*) kmalloc(size, GFP_KERNEL);
    copy_from_user(ptraddr, (const void *)ptr, size);
#else
    ptraddr = ptr;
#endif

    //DBG_DETAIL("ptraddr:%8x\n", ptraddr);

    for(cnt=0; cnt<size; cnt++) {
        DBG_ERR("(%d)data   0x%x\n", cnt, ptraddr[cnt]);
        //DBG_ERR("(%d)data   0x%x\n", cnt, *ptraddr++);//*(ptraddr++)
    }

    return 0;
}

arrow
arrow
    全站熱搜

    BB 發表在 痞客邦 留言(0) 人氣()