1 initialization makes pointer from integer without a cast
-> 该error多半是在做类型强转时操作不当引起,譬如将某一地址赋值给指针变量时,如果按如下操作,则会引发该error
uint8_t *pBase = 0xf0053000
正确的写法应当是
uint8_t *pBase =(uint8_t *)0xf0053000
2 "BUG: scheduling while atomic"和"bad: scheduling from the idle thread"
linux内核打印错误的时候,通常是在中断处理函数中调用了可以休眠的函数,如semaphore,mutex,sleep之类的可休眠的函数,
而linux内核要求在中断处理的时候,不允许系统调度,不允许抢占,要等到中断处理完成才能做其他事情。因此,要充分考虑
中断处理的时间,一定不能太久。