【嵌入式】关于全志平台的工具链管理说明

目录

  • 1、郑重声明
  • 2、压缩包说明
  • 3、申请流程
  • 4、参考命令
  • 5、已编译库
  • 6、下载地址(百度网盘)
  • 附录
    • A、解压命令执行失败


1、郑重声明

本文档旨在说明存放全志平台上应用开发所使用的工具链资源,这些资源仅供合作方使用。为方便合作方随时下载,本文档链接为公开地址,但其内所有资源均为带密码的压缩资源包,合作方向可联系管理人员获得某指定包的解压密码。新的合作方可参考下面的申请流程成我方的合作方。

为保证各方权益不受侵犯,合作方在使用过程中应当自觉履行以下责任和义务:

  • 不得随意二次复制、散播本文档内资源;对于造成恶劣影响的,保留追究法律责任权利。
  • 不使用逆向工程、反编译、试图破译源代码、加密内容及潜在信息。
  • 合作方申请使用此资源前,应当详细查看保密协议(可邮件向我方索取);申请并使用本文档资源后,无论是否已完成签订,均视为已同意保密协议。

当然,合作方也享有以下权限:

  • 可向我方寻求全志平台上的技术支持和技术指导
  • 可免费获得我方在全志平台上已授权可向合作方公开的方案、文档、源码
  • 可免费获得我方在全志平台上自研的方案、文档及部分源码

2、压缩包说明

本文档内所有资源均按芯片名-编译方案-gcc版本号-libc库-制作日期.tar.gz 的方式进行命名管理。
例如:在2022年11月25日,我方对 R818r818_sc3917-tina 制作了一个编译器为gcc8.4.0glibc库的工具链压缩包,于是此压缩包的名字被命名为:R818-r818_sc3917-tina-gcc8.4.0-glibc-20221125.tar.gz

所有的压缩包按统一的目录结构来存放资源,以R818-r818_sc3917-tina-gcc8.4.0-glibc-20221125.tar.gz 为例,可展开如下目录结构:

├── R818-r818_sc3917-tina-gcc8.4.0-glibc -> R818-r818_sc3917-tina-gcc8.4.0-glibc-20221125  # 生成一个不带压缩包名字中日志的目录软链接,以方便编译目录的书写
└── R818-r818_sc3917-tina-gcc8.4.0-glibc-20221125  # 压缩包完整名字
    └── staging_dir  
        ├── target      # 已编译好的SDK中基础的库资源及头文件,该目录的库仅供编译使用,最终使用的库以SDK里编译为准
        └── toolchain   # 编译工具链存放目录

3、申请流程

新的客户可通过以下流程成为我方的合作方:

  • 客户在邮件内说明项目诉求及项目背景,发送至;我方将严格保密客户项目信息,非法律流程要求外,不对外传播及公布(默认保密期为五年);
  • 我方审核通过后联系客户签订相关保密协议;
  • 保密协议签订完成后即可获取相关资料。

注:非法律流程要求外中的法律流程要求指客户的项目涉及违法、违规被公、检、法相关人员问询时。

4、参考命令

以密码为123456为例,参考命令如下:

  • 压缩命令
tar zcvf - R818-r818_sc3917-tina-gcc8.4.0-glibc-20221125 R818-r818_sc3917-tina-gcc8.4.0-glibc | openssl des3 -salt -k \'123456\' -out R818-r818_sc3917-tina-gcc8.4.0-glibc-20221125.tar.gz
  • 解压命令
sudo mkdir -p /opt/allwinner-toolchain/
openssl des3 -d -k \'123456\' -salt -in R818-r818_sc3917-tina-gcc8.4.0-glibc-20221125.tar.gz | tar zxvf - -C /opt/allwinner-toolchain/
  • 全志设备上查询gcc版本等信息
    注:以下方法仅全志tina系统有效。
~$ adb shell
# 看下面ls出来的结果可确认是glibc还是musl库:ld-linux-XXX 表示是glibc库,ld-musl-XXX 表示 musl库
root@TinaLinux:/# ls /lib/ld-*
/lib/ld-2.33.so             /lib/ld-linux-aarch64.so.1
# 用下面的命令可以确认GCC的版本号
root@TinaLinux:/# strings  /lib/ld-* | grep OpenWrt
GCC: (OpenWrt GCC 8.4.0 1646140688) 8.4.0
GCC: (OpenWrt GCC 8.4.0 1646140688) 8.4.0

5、已编译库

所有的SDK都已编译了以下软件包,但不同的平台可能版本不一致。如有其它库版本要求,需要定制编译。

  • 全志库
    btmanager-demo、smartlinkd-demo、trecorderdemo、tplayerdemo、logwrapper、ota-burnboot、softap、tina-upgrade、softap、wifimanager-demo
  • 第三方库
    openssl、libfreetype、libjpeg、libjson-c、libpng、libxml2、tinyalsa-lib、zlib、
  • 私有库
    libxsbase 1.1.9

6、下载地址(百度网盘)

  • R11
    R11-r11_perf1-tina-gcc6.4.1-glibc-20221129 提取码:93o3 MD5:748e7013eeb3fd6a43d71b12704ef129
    R11-r11_perf1-tina-gcc6.4.1-musl-20221129.tar.gz提取码:t30w MD5:413967de69ea129303cbbd8b7e02c78a
  • R16
    R16-r16_parrot-tina-gcc8.4.0-glibc-20221129.tar.gz 提取码:m679 MD5:16e6546cfaafb6e5dcdd751aecda9576
    R16-r16_parrot-tina-gcc6.4.1-glibc-20221202.tar.gz 提取码:xrjd MD5:7eed7de2cb3b58c145f30b4a8783033a
  • R328
    R328-r328s2_std-tina-gcc6.4.1-glibc-20221128.tar.gz 提取码:k18t MD5:5029b53d2f5121f67af5ad67cafb1db9
    R328-r328s2_std-tina-gcc6.4.1-musl-20221128.tar.gz 提取码:qyum MD5:194efea5596de28db3294a6335c8a11b
    R328-r328s3_std-tina-gcc6.4.1-glibc-20221128.tar.gz 提取码:yqx0 MD5:11a857529f6fe1e18f2a71e798620b34
    R328-r328s3_std-tina-gcc6.4.1-musl-20221128.tar.gz 提取码:p3t5 MD5:a9dd759daf7554b4c22a50faacd4f75b
  • R818
    R818-r818_sc3917-tina-gcc8.4.0-glibc-20221125.tar.gz 提取码:a9ci MD5:401747136770e0461766da6962f5f2e5
    R818-r818_sc3917-tina-gcc6.4.1-glibc-20221125.tar.gz 提取码:04oh MD5:5819CB6A3153E9176CA58A60612244C1

  • F133
    F133-d1s_scholar-tina-gcc8.1.0-glibc-20221129.tar.gz 提取码:l4xn MD5:6e050803ed6f115f73cd805ba7aa752c

附录

A、解压命令执行失败

gzip: stdin: not in gzip format
tar: Child died with signal 13
tar: Error is not recoverable: exiting now
error writing output file

上面的解压命令失败,多为openssl版本不对所致,客户可以先检查一下openssl版本号是否为 1.1.1。查询命令如下:

tangan@magicore:~/tmp$ openssl version
OpenSSL 1.1.1  11 Sep 2018

如果要检查到的版本不匹配,可以使用以下命令编译一个版本来使用(以下命令为临时编译使用方法,如需要安装到环境中,请自行修改命令):

wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz
tar zxvf openssl-1.1.1b.tar.gz
cd openssl-1.1.1b/
./config
make
make install DESTDIR=/tmp/
export PATH=/tmp/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/tmp/usr/local/lib:$LD_LIBRARY_PATH
openssl version
# OpenSSL 1.1.1b  26 Feb 2019
# 至此,再去下载压缩包的目录执行解压命令即可

你可能感兴趣的:(常用技巧,linux,bash)