编译
- 登录Linux服务器。
- 执行如下命令,切换至root用户。
su - root
- 将源码包“Ascend310B-source.tar.gz”上传至Linux系统root用户属组目录下,例如/opt。详细操作请参见传输文件。
- 执行如下命令,进入源码包所在目录,例如/opt。
cd /opt
- 执行如下命令,解压源码包“Ascend310B-source.tar.gz”。
tar -xzvf Ascend310B-source.tar.gz
tar -xzvf 源码包
- 执行如下命令,进入product目录。
cd Ascend310B-source/dtb/dts/hi1910b/hi1910BL/product
- 执行如下命令编辑hi1910B-pinctrl-M100-B51.dtsi文件。
- (可选)hi1910B-pinctrl-M100-B51.dtsi文件未全部包含表1中涉及的管脚,当用户需要复用文件中未涉及的管脚,可参考此步骤添加。
- 当管脚的复用寄存器基地址为0x00C4000000、0x0082320000或0x0400140000时,可在hi1910B-pinctrl-M100-B51.dtsi文件中对应节点下参考如下格式进行配置。
示例:在0x00C4000000节点下新增配置,将管脚22复用为gpio0_02,红框内为新增内容。
- 当管脚的复用寄存器基地址为0x00A0140000时,hi1910B-pinctrl-M100-B51.dtsi文件中无此节点,此时可参考hi1910B-pinctrl-M150-B50.dtsi中的配置。
hi1910B-pinctrl-M150-B50.dtsi在“Ascend310B-source/dtb/dts/hi1910b/hi1910BL/product”目录下。
- 当管脚的复用寄存器基地址为0x00C4000000、0x0082320000或0x0400140000时,可在hi1910B-pinctrl-M100-B51.dtsi文件中对应节点下参考如下格式进行配置。
- 按“Esc”键,再执行如下命令,保存修改并按“Enter”键退出。
:wq!
- 执行以下命令,返回至opt目录。
cd /opt
- 禁用SPI0功能。
由于SPI0的管脚被改成GPIO功能,SPI0的驱动无法使用,需要将其功能进行屏蔽。
执行以下命令,打开Ascend310B-source/dtb/dts/hi1910b/hi1910BL/base路径下的“hi1910B-spi.dtsi”文件。
vim Ascend310B-source/dtb/dts/hi1910b/hi1910BL/base/hi1910B-spi.dtsi
在SPI0设备节点中添加语句“status = "disabled";”以禁用SPI0管脚的主功能。修改完成后如下图所示,图中红色方框内为新增内容。
本节以SPI0为例,修改dts文件,若复用其他管脚功能,请根据实际情况修改dts文件,禁用不使用的功能或添加新功能。
- 按“Esc”键,再执行如下命令,保存修改并按“Enter”键退出。
:wq!
- 执行如下命令,编译dtb文件。
cd /opt/Ascend310B-source
bash build.sh dtb
出现如下回显,表示编译内核dtb文件成功。
generate /opt/Ascend310B-source/output/dt.img success! sign /opt/Ascend310B-source/output/dt.img success!
编译后的dt.img文件会自动存放于output目录下。
父主题: 接口复用操作