본문 바로가기

임베디드

Allwinner D1s/F133 BSP(SDK) build guide

Allwinner D1s 칩 기반의 PCB를 개발하고 있다.

 

BSP 압축을 풀고 빌드를 시작한다.

tar -xvJf allw.tar.xz
cd allw/
source build/envsetup.sh
lunch d1_nezha-tina
make -j50

gettext, gdbm, ncurses 라이브러리는 빌드하면서 에러가 발생하면 아래와 같이 "mm -B" 명령으로 개별적으로 컴파일 해두고 전체 빌드를 다시 시도해 본다.

cd package/libs/gettext
mm -B
cd -
cd package/libs/gdbm/
mm -B
cd -
cd package/libs/ncurses/
mm -B
cd -
make -j50

그 이후에 다른 컴파일 에러가 발생했는데, ./out/d1-nezha/compile_dir/target/host/glib-2.50.1/gio/ 폴더의
gdbusmessage.c 파일의 2698 줄과 dbusauth.c파일의 1298줄을 comment out 하였다.

 

그리고 gwak 호환성 문제때문에 ./out/d1-nezha/compile_dir/target/libgpg-error-1.27/src/errnos-sym.h에 아래 내용을 수작업으로 붙여넣고서야 빌드가 완료되었다.

/* Output of mkstrtable.awk.  DO NOT EDIT.  */

/* errnos.in - List of system error values.
   Copyright (C) 2003, 2004 g10 Code GmbH

   This file is part of libgpg-error.

   libgpg-error is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public License
   as published by the Free Software Foundation; either version 2.1 of
   the License, or (at your option) any later version.

   libgpg-error is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with libgpg-error; if not, write to the Free
   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
   02111-1307, USA.  */



/* The purpose of this complex string table is to produce
   optimal code with a minimum of relocations.  */

static const char errnos_msgstr[] =
  "GPG_ERR_E2BIG" "\0"
  "GPG_ERR_EACCES" "\0"
  "GPG_ERR_EADDRINUSE" "\0"
  "GPG_ERR_EADDRNOTAVAIL" "\0"
  "GPG_ERR_EADV" "\0"
  "GPG_ERR_EAFNOSUPPORT" "\0"
  "GPG_ERR_EAGAIN" "\0"
  "GPG_ERR_EALREADY" "\0"
  "GPG_ERR_EAUTH" "\0"
  "GPG_ERR_EBACKGROUND" "\0"
  "GPG_ERR_EBADE" "\0"
  "GPG_ERR_EBADF" "\0"
  "GPG_ERR_EBADFD" "\0"
  "GPG_ERR_EBADMSG" "\0"
  "GPG_ERR_EBADR" "\0"
  "GPG_ERR_EBADRPC" "\0"
  "GPG_ERR_EBADRQC" "\0"
  "GPG_ERR_EBADSLT" "\0"
  "GPG_ERR_EBFONT" "\0"
  "GPG_ERR_EBUSY" "\0"
  "GPG_ERR_ECANCELED" "\0"
  "GPG_ERR_ECHILD" "\0"
  "GPG_ERR_ECHRNG" "\0"
  "GPG_ERR_ECOMM" "\0"
  "GPG_ERR_ECONNABORTED" "\0"
  "GPG_ERR_ECONNREFUSED" "\0"
  "GPG_ERR_ECONNRESET" "\0"
  "GPG_ERR_ED" "\0"
  "GPG_ERR_EDEADLK" "\0"
  "GPG_ERR_EDEADLOCK" "\0"
  "GPG_ERR_EDESTADDRREQ" "\0"
  "GPG_ERR_EDIED" "\0"
  "GPG_ERR_EDOM" "\0"
  "GPG_ERR_EDOTDOT" "\0"
  "GPG_ERR_EDQUOT" "\0"
  "GPG_ERR_EEXIST" "\0"
  "GPG_ERR_EFAULT" "\0"
  "GPG_ERR_EFBIG" "\0"
  "GPG_ERR_EFTYPE" "\0"
  "GPG_ERR_EGRATUITOUS" "\0"
  "GPG_ERR_EGREGIOUS" "\0"
  "GPG_ERR_EHOSTDOWN" "\0"
  "GPG_ERR_EHOSTUNREACH" "\0"
  "GPG_ERR_EIDRM" "\0"
  "GPG_ERR_EIEIO" "\0"
  "GPG_ERR_EILSEQ" "\0"
  "GPG_ERR_EINPROGRESS" "\0"
  "GPG_ERR_EINTR" "\0"
  "GPG_ERR_EINVAL" "\0"
  "GPG_ERR_EIO" "\0"
  "GPG_ERR_EISCONN" "\0"
  "GPG_ERR_EISDIR" "\0"
  "GPG_ERR_EISNAM" "\0"
  "GPG_ERR_EL2HLT" "\0"
  "GPG_ERR_EL2NSYNC" "\0"
  "GPG_ERR_EL3HLT" "\0"
  "GPG_ERR_EL3RST" "\0"
  "GPG_ERR_ELIBACC" "\0"
  "GPG_ERR_ELIBBAD" "\0"
  "GPG_ERR_ELIBEXEC" "\0"
  "GPG_ERR_ELIBMAX" "\0"
  "GPG_ERR_ELIBSCN" "\0"
  "GPG_ERR_ELNRNG" "\0"
  "GPG_ERR_ELOOP" "\0"
  "GPG_ERR_EMEDIUMTYPE" "\0"
  "GPG_ERR_EMFILE" "\0"
  "GPG_ERR_EMLINK" "\0"
  "GPG_ERR_EMSGSIZE" "\0"
  "GPG_ERR_EMULTIHOP" "\0"
  "GPG_ERR_ENAMETOOLONG" "\0"
  "GPG_ERR_ENAVAIL" "\0"
  "GPG_ERR_ENEEDAUTH" "\0"
  "GPG_ERR_ENETDOWN" "\0"
  "GPG_ERR_ENETRESET" "\0"
  "GPG_ERR_ENETUNREACH" "\0"
  "GPG_ERR_ENFILE" "\0"
  "GPG_ERR_ENOANO" "\0"
  "GPG_ERR_ENOBUFS" "\0"
  "GPG_ERR_ENOCSI" "\0"
  "GPG_ERR_ENODATA" "\0"
  "GPG_ERR_ENODEV" "\0"
  "GPG_ERR_ENOENT" "\0"
  "GPG_ERR_ENOEXEC" "\0"
  "GPG_ERR_ENOLCK" "\0"
  "GPG_ERR_ENOLINK" "\0"
  "GPG_ERR_ENOMEDIUM" "\0"
  "GPG_ERR_ENOMEM" "\0"
  "GPG_ERR_ENOMSG" "\0"
  "GPG_ERR_ENONET" "\0"
  "GPG_ERR_ENOPKG" "\0"
  "GPG_ERR_ENOPROTOOPT" "\0"
  "GPG_ERR_ENOSPC" "\0"
  "GPG_ERR_ENOSR" "\0"
  "GPG_ERR_ENOSTR" "\0"
  "GPG_ERR_ENOSYS" "\0"
  "GPG_ERR_ENOTBLK" "\0"
  "GPG_ERR_ENOTCONN" "\0"
  "GPG_ERR_ENOTDIR" "\0"
  "GPG_ERR_ENOTEMPTY" "\0"
  "GPG_ERR_ENOTNAM" "\0"
  "GPG_ERR_ENOTSOCK" "\0"
  "GPG_ERR_ENOTSUP" "\0"
  "GPG_ERR_ENOTTY" "\0"
  "GPG_ERR_ENOTUNIQ" "\0"
  "GPG_ERR_ENXIO" "\0"
  "GPG_ERR_EOPNOTSUPP" "\0"
  "GPG_ERR_EOVERFLOW" "\0"
  "GPG_ERR_EPERM" "\0"
  "GPG_ERR_EPFNOSUPPORT" "\0"
  "GPG_ERR_EPIPE" "\0"
  "GPG_ERR_EPROCLIM" "\0"
  "GPG_ERR_EPROCUNAVAIL" "\0"
  "GPG_ERR_EPROGMISMATCH" "\0"
  "GPG_ERR_EPROGUNAVAIL" "\0"
  "GPG_ERR_EPROTO" "\0"
  "GPG_ERR_EPROTONOSUPPORT" "\0"
  "GPG_ERR_EPROTOTYPE" "\0"
  "GPG_ERR_ERANGE" "\0"
  "GPG_ERR_EREMCHG" "\0"
  "GPG_ERR_EREMOTE" "\0"
  "GPG_ERR_EREMOTEIO" "\0"
  "GPG_ERR_ERESTART" "\0"
  "GPG_ERR_EROFS" "\0"
  "GPG_ERR_ERPCMISMATCH" "\0"
  "GPG_ERR_ESHUTDOWN" "\0"
  "GPG_ERR_ESOCKTNOSUPPORT" "\0"
  "GPG_ERR_ESPIPE" "\0"
  "GPG_ERR_ESRCH" "\0"
  "GPG_ERR_ESRMNT" "\0"
  "GPG_ERR_ESTALE" "\0"
  "GPG_ERR_ESTRPIPE" "\0"
  "GPG_ERR_ETIME" "\0"
  "GPG_ERR_ETIMEDOUT" "\0"
  "GPG_ERR_ETOOMANYREFS" "\0"
  "GPG_ERR_ETXTBSY" "\0"
  "GPG_ERR_EUCLEAN" "\0"
  "GPG_ERR_EUNATCH" "\0"
  "GPG_ERR_EUSERS" "\0"
  "GPG_ERR_EWOULDBLOCK" "\0"
  "GPG_ERR_EXDEV" "\0"
  "GPG_ERR_EXFULL";

static const int errnos_msgidx[] =
  {
    0,
    14,
    29,
    48,
    70,
    83,
    104,
    119,
    136,
    150,
    170,
    184,
    198,
    213,
    229,
    243,
    259,
    275,
    291,
    306,
    320,
    338,
    353,
    368,
    382,
    403,
    424,
    443,
    454,
    470,
    488,
    509,
    523,
    536,
    552,
    567,
    582,
    597,
    611,
    626,
    646,
    664,
    682,
    703,
    717,
    731,
    746,
    766,
    780,
    795,
    807,
    823,
    838,
    853,
    868,
    885,
    900,
    915,
    931,
    947,
    964,
    980,
    996,
    1011,
    1025,
    1045,
    1060,
    1075,
    1092,
    1110,
    1131,
    1147,
    1165,
    1182,
    1200,
    1220,
    1235,
    1250,
    1266,
    1281,
    1297,
    1312,
    1327,
    1343,
    1358,
    1374,
    1392,
    1407,
    1422,
    1437,
    1452,
    1472,
    1487,
    1501,
    1516,
    1531,
    1547,
    1564,
    1580,
    1598,
    1614,
    1631,
    1647,
    1662,
    1679,
    1693,
    1712,
    1730,
    1744,
    1765,
    1779,
    1796,
    1817,
    1839,
    1860,
    1875,
    1899,
    1918,
    1933,
    1949,
    1965,
    1983,
    2000,
    2014,
    2035,
    2053,
    2077,
    2092,
    2106,
    2121,
    2136,
    2153,
    2167,
    2185,
    2206,
    2222,
    2238,
    2254,
    2269,
    2289,
    2303,

  };

static GPG_ERR_INLINE int
errnos_msgidxof (int code)
{
  return (0 ? 0
  : ((code >= 0) && (code <= 140)) ? (code - 0)
  : -1);
}

 

빌드 마무리하고 pack 명령으로 플래쉬 메모리에 기록할 수 있는 이미지를 만들었다.

make -j50
pack

 

D1용 SDK이므로 메모리 용량이 작은 D1s/F133에서는 아래와 같이 device/config/chips/d1/configs/nezha/sys_config.fex  파일의 변경이 필요하다.

;sunxi platform application
;---------------------------------------------------------------------------------------------------------
; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串
; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
;---------------------------------------------------------------------------------------------------------

;---------------------------------------------------------------------------------
; version:版本1.00
; machine:板级文件名
;---------------------------------------------------------------------------------
[product]
version = "100"
machine = "nezha"


;----------------------------------------------------------------------------------
;debug_mode     = 0-close printf, > 0-open printf
;----------------------------------------------------------------------------------
[platform]
debug_mode  = 8

;----------------------------------------------------------------------------------
;storage_type   = boot medium, 0-nand, 1-sd, 2-emmc, 3-nor, 4-emmc3, 5-spinand -1(defualt)auto scan
;----------------------------------------------------------------------------------
[target]
storage_type    = 5


;----------------------------------------------------------------------------------
;card_ctrl              -卡量产相关的控制器选择0      |
;card_high_speed        -速度模式 0为低速,1为高速|
;card_line              -4:4线卡,8:8线卡|
;sdc_d1                 -sdc卡数据1线信号的GPIO配置     |
;sdc_d0                 -sdc卡数据0线信号的GPIO配置  |
;sdc_clk                -sdc卡时钟信号的GPIO配置   |
;sdc_cmd                -sdc命令信号的GPIO配置|
;sdc_d3                 -sdc卡数据3线信号的GPIO配置    |
;sdc_d2                 -sdc卡数据2线信号的GPIO配置  |
;----------------------------------------------------------------------------------
[card0_boot_para]
card_ctrl       = 0
card_high_speed = 1
card_line       = 4
sdc_d1          = port:PF0<2><1><2><default>
sdc_d0          = port:PF1<2><1><2><default>
sdc_clk         = port:PF2<2><1><2><default>
sdc_cmd         = port:PF3<2><1><2><default>
sdc_d3          = port:PF4<2><1><2><default>
sdc_d2          = port:PF5<2><1><2><default>
bus-width = 4
cap-sd-highspeed =
cap-wait-while-busy =
no-sdio =
no-mmc =
sunxi-power-save-mode =


;----------------------------------------------------------------------------------
;card_ctrl              -卡启动控制器选择2
;card_high_speed        -速度模式 0为低速,1为高速
;card_line              -4:4线卡,8:8线卡
;sdc_ds                 -ds信号的GPIO配置
;sdc_d1                 -sdc卡数据1线信号的GPIO配置
;sdc_d0                 -sdc卡数据0线信号的GPIO配置
;sdc_clk                -sdc卡时钟信号的GPIO配置
;sdc_cmd                -sdc命令信号的GPIO配置
;sdc_d3                 -sdc卡数据3线信号的GPIO配置
;sdc_d2                 -sdc卡数据2线信号的GPIO配置
;sdc_d4                 -sdc卡数据4线信号的GPIO配置
;sdc_d5                 -sdc卡数据5线信号的GPIO配置
;sdc_d6                 -sdc卡数据6线信号的GPIO配置
;sdc_d7                 -sdc卡数据7线信号的GPIO配置
;sdc_emmc_rst           -emmc_rst信号的GPIO配置
;sdc_ex_dly_used        -ex_dly_used信号
;sdc_io_1v8             -sdc_io_1v8高速emmc模式配置
;----------------------------------------------------------------------------------
[card2_boot_para]
card_ctrl       = 2
card_high_speed = 1
card_line       = 8
sdc_clk         = port:PF25<2><1><3><default>
sdc_cmd         = port:PF24<2><1><3><default>
sdc_d0          = port:PF16<2><1><3><default>
sdc_d1          = port:PF17<2><1><3><default>
sdc_d2          = port:PF18<2><1><3><default>
sdc_d3          = port:PF19<2><1><3><default>
sdc_d4          = port:PF20<2><1><3><default>
sdc_d5          = port:PF21<2><1><3><default>
sdc_d6          = port:PF22<2><1><3><default>
sdc_d7          = port:PF23<2><1><3><default>
sdc_emmc_rst    = port:PF31<2><1><3><default>
sdc_ds          = port:PF27<2><1><3><default>



;----------------------------------------------------------------------------------
;jtag_enable    |JTAG使能   |
;jtag_ms        |测试模式选择输入(TMS) 的GPIO配置|
;jtag_ck        |测试时钟输入(CLK) 的GPIO配置    |
;jtag_do        |测试数据输出(TDO) 的GPIO配置     |
;jtag_di        |测试数据输出(TDI) 的GPIO配置     |
;----------------------------------------------------------------------------------
[jtag_para]
jtag_enable     = 0
jtag_ms         = port:PF0<4><default><default><default>
jtag_ck         = port:PF5<4><default><default><default>
jtag_do         = port:PF3<4><default><default><default>
jtag_di         = port:PF1<4><default><default><default>

;*****************************************************************************
;
;dram select configuration
;
;select_mode    :       dram模式选择,   0:不进行自动识别
;                                       1:gpio识别模式(dram_para, dram_para1-15, 共16组有效)
;                                       2:gpadc识别模式(dram_para, dram_para1-7, 共8组有效)
;                                       3:1个IO+gpadc识别模式(dram_para, dram_para1-15, 共16组有效)。其中IO配置优先级按select_gpio0>select_gpio1>select_gpio2>select_gpio3
;gpadc_channel  :       选择gpadc通道   有效值(0-3)
;select_gpio1-4 :       选择gpio pin
;*****************************************************************************


[dram_select_para]
select_mode     = 0
gpadc_channel   = 1
select_gpio0    = port:PB7<0><1><default><default>
select_gpio1    = port:PB4<0><1><default><default>
select_gpio2    = port:PH1<0><1><default><default>
select_gpio3    = port:PH0<0><1><default><default>


;*****************************************************************************
;sdram configuration
;
;*****************************************************************************
[dram_para]
dram_clk            = 528
dram_type           = 2
dram_zq             = 0x07b7bf9
dram_odt_en         = 0x00
dram_para1          = 0x000000d2
dram_para2          = 0x00000000
dram_mr0            = 0x00000E73
dram_mr1            = 0x02
dram_mr2            = 0x0
dram_mr3            = 0x0
dram_tpr0           = 0x00471992
dram_tpr1           = 0x0131A10C
dram_tpr2           = 0x00057041
dram_tpr3           = 0xB4787896
dram_tpr4           = 0x0
dram_tpr5           = 0x48484848
dram_tpr6           = 0x48
dram_tpr7           = 0x1621121e
dram_tpr8           = 0x0
dram_tpr9           = 0x0
dram_tpr10          = 0x00000000
dram_tpr11          = 0x00030010
dram_tpr12          = 0x00000035
dram_tpr13          = 0x34000000

[dram_para1]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para2]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para3]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para4]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para5]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para6]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para7]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para8]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para9]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para10]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para11]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para12]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para13]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para14]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22

[dram_para15]

dram_clk       = 672
dram_type      = 7
dram_dx_odt    = 0x06060606
dram_dx_dri    = 0x0c0c0c0c
dram_ca_dri    = 0x1919
dram_para0     = 0x16171411
dram_para1     = 0x30eb
dram_para2     = 0x0000
dram_mr0       = 0x0
dram_mr1       = 0xc3
dram_mr2       = 0x6
dram_mr3       = 0x2
dram_mr4       = 0x0
dram_mr5       = 0x0
dram_mr6       = 0x0
dram_mr11      = 0x0
dram_mr12      = 0x0
dram_mr13      = 0x0
dram_mr14      = 0x0
dram_mr16      = 0x0
dram_mr17      = 0x0
dram_mr22      = 0x0
dram_tpr0      = 0x0
dram_tpr1      = 0x0
dram_tpr2      = 0x0
dram_tpr3      = 0x0
dram_tpr6      = 0x2fb48080
dram_tpr10     = 0x002f876b
dram_tpr11     = 0x10120c05
dram_tpr12     = 0x12121111
dram_tpr13     = 0x61
dram_tpr14     = 0x211e1e22


;----------------------------------------------------------------------------------
;twi configuration
;twi_used       0:关闭, 1:打开
;twi_port       0:twi0,  1:twi1, 2:twi2, 3:twi3, 4:twi4, 5:twi5, 6:r_twi0, 7:r_twi1
;twi_scl        boot0 scl的GPIO配置
;twi_sda        boot0 sda的GPIO配置
;----------------------------------------------------------------------------------
[twi_para]
twi_used = 0
twi_port = 2
twi_scl  = port:PG14<3><1><default><default>
twi_sda  = port:PG15<3><1><default><default>

;----------------------------------------------------------------------------------
;uart configuration
;uart_debug_port  |Boot串口控制器编号        |
;uart_debug_tx       |Boot串口发送的GPIO配置|
;uart_debug_rx  |Boot串口接收的GPIO配置     |
;----------------------------------------------------------------------------------
[uart_para]
uart_debug_port = 0
uart_debug_tx   = port:PE02<6><1><default><default>
uart_debug_rx   = port:PE03<6><1><default><default>


;----------------------------------------------------------------------------------
;dram_region_mbytes :设置drm大小以bytes为单位
;----------------------------------------------------------------------------------
[secure]
dram_region_mbytes       = 80
drm_region_mbytes        = 0
drm_region_start_mbytes  = 0

 

 

참고 자료:

<0> https://linux-sunxi.org/D1_SDK_Howto

<1> https://github.com/SdtElectronics/Xassette-Asterisk/issues/3#issuecomment-977393291

<2> https://bbs.aw-ol.com/topic/102/%E5%8A%A0%E7%B2%BE-%E5%9C%A8ubuntu21-04%E4%B8%AD%E7%BC%96%E8%AF%91tina-sdkv1-01-%E7%89%88%E6%9C%AC-%E8%B8%A9%E5%9D%91%E8%AE%B0%E5%BD%95

<3> https://bbs.aw-ol.com/topic/384/%E7%AE%80%E5%8D%95%E4%BF%AE%E6%94%B9-%E5%93%AA%E5%90%92d1-tina-sdk-%E7%9A%84-sys_config-fex-%E5%92%8C-board-dts-%E8%AE%A9d1s%E5%85%88%E6%8A%8Alinux%E8%B7%91%E8%B5%B7%E6%9D%A5