Build error handing

1  initialization makes pointer from integer without a cast

->  該error多半是在做類型強轉時操作不當引起,譬如將某一地址賦值給指針變量時,如果按如下操作,則會引發該error

uint8_t *pBase = 0xf0053000

正確的寫法應當是

uint8_t *pBase =uint8_t *)0xf0053000


"BUG: scheduling while atomic"和"bad: scheduling from the idle thread"

linux內核打印錯誤的時候,通常是在中斷處理函數中調用了可以休眠的函數,如semaphore,mutex,sleep之類的可休眠的函數,

而linux內核要求在中斷處理的時候,不允許系統調度,不允許搶佔,要等到中斷處理完成才能做其他事情。因此,要充分考慮

中斷處理的時間,一定不能太久。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章