下载
中文
注册

调测参考

以首次调测为例,操作步骤如下。

  1. 登录准备环境所搭建Linux服务器。
  2. 执行如下命令,切换至root用户。

    su - root

  3. 使用WinSCP工具,将下载软件包获取的源码包“Ascend310B-source.tar.gz”上传至root用户属组目录下,例如“/opt”。详细操作请参见使用WinSCP传输文件
  4. 执行如下命令,进入源码包所在目录“/opt”。

    cd /opt

  5. 执行如下命令,解压源码包“Ascend310B-source.tar.gz”。

    tar -xzvf Ascend310B-source.tar.gz

  6. 执行如下命令,进入“Ascend310B-source”目录。

    cd Ascend310B-source

  7. 新增整机dts文件。

    例如用户整机的boardid为33150,故dts文件名称为“hi1910B-asic-M150-B33.dts”。

    1. 执行如下命令,进入配置文件所在目录。

      cd dtb/dts/hi1910b/hi1910BL

    1. 执行如下命令,新增适配boardid33150的dts文件。

      cp hi1910B-asic-M150-B50.dts hi1910B-asic-M150-B33.dts

      将“hi1910B-asic-M150-B50.dts”另存为boardid33150的dts文件“hi1910B-asic-M150-B33.dts”。

  8. 参考product目录下的任意一个spi.dtsi文件配置新增文件的SPI内容,例如hi1910B-spi-M100-B51.dtsi。
    1. 执行如下命令进入“product”目录下。

      cd product

    2. 打开“hi1910B-spi-M100-B51.dtsi”文件参考其中spi配置。

      vim hi1910B-spi-M100-B51.dtsi

      文件内容如下。

      spi0@82020000 {
                      compatible = "hisilicon,udrv_spi";
                      #address-cells = <1>;
                      #size-cells = <0>;
                      num-cs = <1>; /* 支持cs片选个数量 */
                      bus-num = <0>; /* spi控制器id */
                      clk-freq = <150000000>; /* 时钟频率 */
                      reg = <0x0 0x82020000 0 0x10000>;
                      interrupts = <0x0 161 0x4>;
                      cs@0 {
                              compatible = "rohm,dh2228fv";
                              reg = <0>; /* cs片选id */
                              spi-max-frequency = <25000000>;
                      };
              };
      
              spi1@82030000 {
                      compatible = "hisilicon,udrv_spi";
                      #address-cells = <1>;
                      #size-cells = <0>;
                      num-cs = <1>; /* 支持cs片选个数量 */
                      bus-num = <1>; /* spi控制器id */
                      clk-freq = <150000000>; /* 时钟频率 */
                      reg = <0x0 0x82030000 0 0x10000>;
                      interrupts = <0x0 162 0x4>;
                      cs@0 {
                              compatible = "rohm,dh2228fv";
                              reg = <0>; /* cs片选id */
                              spi-max-frequency = <25000000>;
                      };
              };
      
              spi3@3001B0000 {
                      compatible = "hisilicon,udrv_spi";
                      #address-cells = <1>;
                      #size-cells = <0>;
                      num-cs = <1>; /* 支持cs片选个数量 */
                      bus-num = <3>; /* spi控制器id */
                      clk-freq = <150000000>; /* 时钟频率 */
                      reg = <0x3 0x1B0000 0 0x10000>;
                      interrupts = <0x0 251 0x4>;
                      // To enable the SPI function, uncomment the following two lines and comment the pinctrl configuration of the I2C 0 1
                      // pinctrl-names = "default";
                      // pinctrl-0 = <&iomg000_pmx_func &iomg001_pmx_func &iomg002_pmx_func &iomg003_pmx_func>;
                      cs@0 {
                              compatible = "rohm,dh2228fv";
                              reg = <0>; /* cs片选id */
                              spi-max-frequency = <25000000>;
                      };
              };
      
    3. 创建“hi1910B-spi-Mxxx-Bxx.dtsi”文件,例如hi1910B-spi-M150-B33.dtsi。将需要使用的对应SPI控制拷贝进去,如使用spi0,内容如下。
      spi0@82020000 {
                      compatible = "hisilicon,udrv_spi";
                      #address-cells = <1>;
                      #size-cells = <0>;
                      num-cs = <1>; /* 支持cs片选个数量 */
                      bus-num = <0>; /* spi控制器id */
                      clk-freq = <150000000>; /* 时钟频率 */
                      reg = <0x0 0x82020000 0 0x10000>;
                      interrupts = <0x0 161 0x4>;
                      cs@0 {
                              compatible = "rohm,dh2228fv";
                              reg = <0>; /* cs片选id */
                              spi-max-frequency = <25000000>;
                      };
              };
    4. 执行如下命令,返回“hi1910B-asic-Mxxx-Bxx.dts”文件所在目录,例如hi1910B-asic-M150-B33.dts。

      cd /opt/Ascend310B-source/dtb/dts/hi1910b/hi1910BL

    5. 在“hi1910B-asic-Mxxx-Bxx.dts”文件中增加引用“hi1910B-spi-Mxxx-Bxx.dtsi”。例如在“hi1910B-asic-M150-B33.dts”文件中增加引用“hi1910B-spi-M150-B33.dtsi”。
              /include/ "product/hi1910B-spi-Mxxx-Bxx.dtsi"

      示例:

              /include/ "product/hi1910B-spi-M150-B33.dtsi"
    6. 编译并生效dtb,请参见编译并生效内核DTB文件
      1. SPI2用作可信启动,不对外开放使用,无法外接SPI设备使用。
      2. SPI3,SPI4在配置时要配置pinctrl复用,对应的管脚参考寄存器描述章节,pinctrl配置方式参考UART章节。