Außer printk
, es gibt viele pr_info
, printk
,内核里面有很多pr_info
、pr_err
等打印函数,要学会控制打印等级,以及针对不同的场景使用不同的打印函数。
内核有默认配置文件xxx_defconfig
,如果你要修改内核的一些配置,作为新手不要直接去修改xxx_defconfig。
稳妥的做法是执行make menucofig
通常菜单进行配置,最后把.config
文件覆盖掉xxx_defconfig
,然后再上传这个xxx_defconfig
xxx_defconfig
, wenn Sie als Neuling einige Kernelkonfigurationen ändern möchten, ändern Sie xxx_defconfig nicht direkt. 🎜🎜Ein sicherer Ansatz besteht darin, xxx_defconfig
. 🎜Das Betriebsregister unter Linux muss zuerst zugeordnet werden, aber normalerweise wird nur die Basisadresse zugeordnet, und der Vorgang erfolgt durch Hinzufügen der Basisadresse und des Offsets .
Machen Sie die physische Adresse jedes Registers nicht direkt zu , denn für einen bestimmten Treiber ist die Basisadresse zwar dieselbe, obwohl es viele Register gibt.
Selbst wenn Sie ein Linux-Treiber sind, müssen Sie wissen, wie man den uboot
怎么启动kernel
,都传了什么参数,涉及到的地址有哪些,uboot
-Treiber schreibt.
Woher wissen Sie, welche physische Adresse der virtuellen Adresse entspricht? Was ist der Unterschied zwischen der Zuweisung von DMA-konsistentem Speicher und der Zuweisung von normalem Speicher? Die im Registerhandbuch angegebene Adresse ist die physische Adresse, also habe ich sie mir gemerkt.
dma-Speicherprobleme, Cache-Konsistenzprobleme usw., Sie können sich diesen nicht entziehen .
Das obige ist der detaillierte Inhalt von5 Ratschläge, die Anfänger beachten sollten, nachdem sie die Position des Linux-Treibers übernommen haben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!