新手入職Linux驅動崗后,必聽的5個忠告

1、不要只會用printk

除了printk,內核里面有很多pr_info、pr_err等打印函數,要學會控制打印等級,以及針對不同的場景使用不同的打印函數。

2、新手不要直接改defconfig

內核有默認配置文件xxx_defconfig,如果你要修改內核的一些配置,作為新手不要直接去修改xxx_defconfig

穩妥的做法是執行make menucofig通常菜單進行配置,最后把.config文件覆蓋掉xxx_defconfig,然后再上傳這個xxx_defconfig。

3、不要直接映射每一個物理地址

linux下操作寄存器一定要先映射,但是通常只映射基地址,通過基址加偏移的方式操作。

不要直接去映射每一個寄存器的物理地址,因為對于某一個驅動,雖然有很多寄存器,但基址都是一樣的。

4、不要不學uboot

即便你是Linux驅動崗,uboot怎么啟動kernel,都傳了什么參數,涉及到的地址有哪些,uboot的驅動怎么寫這些必須知道。

5、不懂內存,不足以談驅動

一定要多看看內存相關的知識。Linux下操作的都是虛擬地址,寫進寄存器的是物理地址,怎么知道虛擬地址對應的物理地址?分配dma一致性內存和分配普通內存有什么區別?

寄存器手冊寫的地址是物理地址,給我記住了

dma內存問題,緩存一致性問題等,這些你都逃不掉

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享