除了 內核有默認配置文件 穩妥的做法是執行 Linux下操作寄存器一定要先映射,但是通常只映射基地址,通過基址加偏移的方式操作。 不要直接去映射每一個寄存器的物理地址,因為對于某一個驅動,雖然有很多寄存器,但基址都是一樣的。 即便你是Linux驅動崗, 一定要多看看內存相關的知識。Linux下操作的都是虛擬地址,寫進寄存器的是物理地址,怎么知道虛擬地址對應的物理地址?分配dma一致性內存和分配普通內存有什么區別? 寄存器手冊寫的地址是物理地址,給我記住了。 dma內存問題,緩存一致性問題等,這些你都逃不掉。1、不要只會用printk
printk
,內核里面有很多pr_info
、pr_err
等打印函數,要學會控制打印等級,以及針對不同的場景使用不同的打印函數。2、新手不要直接改defconfig
xxx_defconfig
,如果你要修改內核的一些配置,作為新手不要直接去修改xxx_defconfig。make menucofig
通常菜單進行配置,最后把.config
文件覆蓋掉xxx_defconfig
,然后再上傳這個xxx_defconfig
。3、不要直接映射每一個物理地址
4、不要不學uboot
uboot
怎么啟動kernel
,都傳了什么參數,涉及到的地址有哪些,uboot
的驅動怎么寫這些必須知道。5、不懂內存,不足以談驅動
以上就是新手入職Linux驅動崗后,必聽的5個忠告的詳細內容,更多請關注www.92cms.cn其它相關文章!