SS626V100_SDK_V2.0.1.0 安装编译 osdrv 问题汇总

news2024/10/6 4:46:22

目录

  • 前言
  • 1、开发环境
  • 2、在 linux 服务器上安装交叉工具链
    • 2.1 安装 aarch64-mix410-linux.tgz
    • 2.2 安装 cc-riscv32-cfg11-musl-20220523-elf.tar.gz
    • 2.3 检查工具链版本,打印版本则表示配置成功
  • 3、安装 SDK
    • 3.1 SS626V100_SDK_V2.0.1.0 安装包位置
    • 3.2 解压缩并展开 SDK 包
  • 4、安装软件包及环境搭建
    • 4.1 安装软件包
    • 4.2 mtd-utils 依赖以下几个库,安装方式
    • 4.3 设置 pkg-config 工具搜索路径
    • 4.4 e2fsprogs 依赖 texlive 库
    • 4.5 boot、optee 模块依赖库
      • 4.5.1 Python-3.6.9 安装
      • 4.5.2 wheel、pycryptodome、pyelftools 源码安装
    • 4.6 LiteOS 编译需要安装的工具包括 python、pip 和 kconfiglib
      • 4.6.1 确保服务器已安装 python
      • 4.6.2 确保服务器已安装 pip
  • 5、编译过程问题汇总及解决方法
  • 6、编译 osdrv
    • 6.1 彻底清除整个 osdrv 目录
    • 6.2 编译整个 osdrv 目录
  • 总结


前言

  1. 本文适合需要安装 SS626V100_SDK_V2.0.1.0 的所有人员;
  2. 为了提高 SDK 安装效率,建议按顺序执行安装步骤。

1、开发环境

windows10电脑 + 虚拟机15 Pro + Ubuntu18.0.4

2、在 linux 服务器上安装交叉工具链

2.1 安装 aarch64-mix410-linux.tgz

tar -zxf aarch64-mix410-linux.tgz
cd aarch64-mix410-linux/
chmod +x aarch64-mix410-linux.install
sudo ./aarch64-mix410-linux.install
source /etc/profile

2.2 安装 cc-riscv32-cfg11-musl-20220523-elf.tar.gz

tar -zxf cc-riscv32-cfg11-musl-20220523-elf.tar.gz
cd cc-riscv32-cfg11-musl-20220523-elf/
sudo ./install.sh
cd cc-riscv32-cfg11-musl-20220523-elf/bin
echo "export PATH=$(pwd):\${PATH}" >> $HOME/.profile
source ~/.profile

2.3 检查工具链版本,打印版本则表示配置成功

aarch64-mix410-linux-gcc -v
riscv32-cfg11-musl-20220523-elf-gcc -v

*注:为了工具链能及时生效,强烈建议重启一次服务器。

3、安装 SDK

3.1 SS626V100_SDK_V2.0.1.0 安装包位置

  1. 基础包:SS626V100R001***\SS626V100R001C02SPC010\01.software\board\ SS626V100_SDK_V2.0.1.0.tgz
  2. 增强包:SS626V100R001***\SS626V100R001C02SPC010\02.only for reference\software\SS626V100_REF_V2.0.1.0.tgz
  3. 增强包脚本:SS626V100R001***\SS626V100R001C02SPC010\02.only for reference\software\ref_patch.sh
  4. 基础补丁包:SS626V100R001***\SS626V100R001C02SPC010CP0001\01.software\board\ SS626V100_SDK_V2.0.1.0_CP0001.tgz
  5. 增强补丁包:SS626V100R001***\SS626V100R001C02SPC010\02.only for reference\software\SS626V100_REF_V2.0.1.0_CP0001.tgz

3.2 解压缩并展开 SDK 包

  • 使用基础包和增强包,具体操作步骤如下:

    步骤1. 将基础包 SS626V100_SDK_V2.0.1.0.tgz 和基础补丁包 SS626V100_SDK_V2.0.1.0_CP0001.tgz,放在同级目录下并解压:

    tar -zxf SS626V100_SDK_V2.0.1.0.tgz
    tar -zxf SS626V100_SDK_V2.0.1.0_CP0001.tgz
    

    步骤 2. 拷贝 SS626V100_SDK_V2.0.1.0_CP0001 软件包中的文件覆盖 SS626V100_SDK_V2.0.1.0 中对应目录下的文件即可:

    cp SS626V100_SDK_V2.0.1.0_CP0001/* SS626V100_SDK_V2.0.1.0/ -r
    

    步骤 3. 增强包打补丁,解压增强包 SS626V100_REF_V2.0.1.0.tgz 和增强补丁包SS626V100_REF_V2.0.1.0_CP0001.tgz,拷贝 SS626V100_REF_V2.0.1.0_CP0001 的文件覆盖 SS626V100_REF_V2.0.1.0 对应目录下的文件:

    tar -zxf SS626V100_REF_V2.0.1.0.tgz
    tar -zxf SS626V100_REF_V2.0.1.0_CP0001.tgz
    cp SS626V100_REF_V2.0.1.0_CP0001/* SS626V100_REF_V2.0.1.0/ -r
    

    2、执行 SS626V100_SDK_V2.0.1.0 文件夹内部解压:

    cd SS626V100_SDK_V2.0.1.0
    ./sdk.unpack
    

    3、将增强包脚本 ref_patch.sh 拷贝到与 SS626V100_SDK_V2.0.1.0 同级目录下,并执行打补丁操作:

    cd ../
    cp /samba/ref_patch.sh ./
    chmod +x ref_patch.sh
    ./ref_patch.sh
    

    *注:执行以上步骤后,SS626V100_SDK_V2.0.1.0 则是打上REF增强补丁后的完整包。

4、安装软件包及环境搭建

4.1 安装软件包

sudo apt-get install make libc6-i386 lib32z1 lib32stdc++6 zlib1g-dev libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools texinfo texlive gawk libssl-dev openssl bc p7zip-full gperf bison flex diffutils git unzip libtool autopoint gettext po4a

*注:采取一次性的安装方式,可能会存在依赖库遗漏安装的风险,建议还是手动一个个的安装最为稳妥(否则,编译过程可能会提示某些依赖库不存在的警告)。

4.2 mtd-utils 依赖以下几个库,安装方式

sudo apt-get install zlib1g-dev 
sudo apt-get install liblzo2-dev 
sudo apt-get install uuid-dev 
sudo apt-get install pkg-config 
sudo apt-get install automake
sudo apt-get install autoconf
sudo apt-get install m4

4.3 设置 pkg-config 工具搜索路径

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-gnu/pkgconfig"

4.4 e2fsprogs 依赖 texlive 库

sudo apt-get install texlive

4.5 boot、optee 模块依赖库

  • 版本安装包下载链接:python3.6.9、pip3、wheel、pycryptodome、pyelftools

4.5.1 Python-3.6.9 安装

方法一,离线下载手动安装:

tar -zxf Python-3.6.9.tgz
cd Python-3.6.9/
./configure
make
make install

方法二,在线下载自动安装:

sudo apt-get install update
sudo apt-get install python3.6=3.6.9

4.5.2 wheel、pycryptodome、pyelftools 源码安装

tar -zxf wheel-0.36.2.tar.gz
cd wheel-0.36.2
sudo python3.7 setup.py install
sudo pip3 install pycryptodome-3.9.8-cp37-cp37m-manylinux1_x86_64.whl
sudo pip3 install pyelftools-0.27-py2.py3-none-any.whl

*注:pycryptodome 和 pyelftools 下载后需要拷贝到 wheel-0.36.2 目录下。

4.6 LiteOS 编译需要安装的工具包括 python、pip 和 kconfiglib

4.6.1 确保服务器已安装 python

  • 若显示版本号则表示 python 安装成功,否则“参考步骤4.5.1”完成安装:
    python3.6 -V
    

4.6.2 确保服务器已安装 pip

  • 如果 pip 命令不存在,需要安装。pip 依赖 setuptools,如果 setuptools 不存在,也需要安装。

  • setuptools 安装:
    点击 setuptools源代码包下载地址,可以参考下面的命令进行安装:

    sudo unzip setuptools-50.3.2.zip
    cd setuptools
    sudo python3.6 setup.py install
    
  • pip 安装:
    点击 pip源代码包下载地址,可以参考下面的命令进行安装:

    sudo tar -zxf pip-20.2.4.tar.gz
    cd pip-20.2.4
    sudo python3.6 setup.py install
    
  • 安装 kconfiglib:
    1.对于服务器可以联网的情况,直接安装 kconfiglib:

    sudo pip3 install kconfiglib
    

    2.对于服务器不能联网的情况,采用离线的方式安装(下载kconfiglib):
    (1) wheel 文件的安装命令:

    sudo pip3 install kconfiglib-14.1.0-py2.py3-none-any.whl
    

    (2) kconfiglib 源代码文件的安装命令:

    sudo tar -zxf kconfiglib-14.1.0.tar.gz
    cd kconfiglib-14.1.0
    sudo python3.6 setup.py install
    

5、编译过程问题汇总及解决方法

  • 以下有部分问题是在安装 SS626V100_SDK_V2.0.0.3 版本时遇到的,在此会重复罗列。

  • 问题1: riscv32-cfg11-musl-20220523-elf 编译器在环境变量里找不到
    riscv

  • 解决方法:

    在确认 riscv32 工具链已经安装的情况下,重启虚拟机 即可。

  • 问题2: 找不到 meruconfig.h 头文件
    menuconfig

  • 解决方法:

    1. 如果 python、pip 和 kconfiglib 都已经安装成功,那很有可能是由于 setuptools 安装路径与 python 版本路径不一致所致的;
    2. 所以,需要重新执行一次 “setuptools安装“ 步骤。
    3. 如果执行了“setuptools安装“步骤仍然有同样的报错,则可能是默认使用了 python 2.7 版本,而 setuptools 最新版本不支持 python 2.7,请下载 setuptools 45.0.0 版本 以支持 python 2.7。安装步骤如下
      sudo unzip setuptools-45.0.0.zip
      cd setuptools-45.0.0
      sudo python setup.py install
  • 问题3:
    问题1

  • 解决方法:

    sudo apt-get install libssl-dev
    
  • 问题4:
    问题2

  • 解决方法:
    1.先确认 pkg.m4 路径位置:

    find /usr -name "pkg.m4"
    

    搜索路径如下:/usr/share/aclocal/pkg.m4

    2.再确认 aclocal 所在位置:

    aclocal --print-ac-dir
    

    搜索路径如下:/usr/local/share/aclocal

    3.将 /usr/share/aclocal/*.m4 文件都拷贝到 /usr/local/share/aclocal/ 目录:

    sudo cp /usr/share/aclocal/*.m4 /usr/local/share/aclocal/
    
  • 问题5:
    问题3

  • 解决方法:

    sudo apt-get install po4a
    
  • 问题6:
    问题4
    问题4

  • 解决方法:
    将 Makfile 和 util-linux-2022.patch 补丁拷贝到 open_source/util-linux/ 目录:

    cp Makefile SS626V100_SDK_V2.0.1.0/open_source/util-linux/
    cp util-linux-2022.patch SS626V100_SDK_V2.0.1.0/open_source/util-linux/
    

    补充说明: 由于此处无法上传文件,请点击补丁包地址下载。

6、编译 osdrv

6.1 彻底清除整个 osdrv 目录

cd SS626V100_SDK_V2.0.1.0/osdrv
make distclean

6.2 编译整个 osdrv 目录

make all

编译成功打印:
---------finish osdrv work


总结

  1. 安装 SS626V100 最好使用 python3.x 以上的版本,如果使用 python2.7 版本可能会有编译不过的风险;
  2. SS626V100 SDK,其中很多程序都是通过 autoreconf 、automake 生成 configure.ac 和 Makefile.in 的,如果你的服务器相关依赖库安装的不好,就有可能会遇到各种各样的编译问题。
  3. 关于 autoreconf 和 automake 我这里给大家介绍两个链接,如果大家感兴趣可以看看:
    3.1 automake
    3.2 AM_PATH_PYTHON

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1106141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么把图片改成jpg格式?

怎么把图片改成jpg格式?大家都知道,随着计算机被发明到现在已经存在了很多年,在这么多的的技术发展过程中,也形成了种类非常多的图片文件格式,例如平时我们能接触到的图片格式有jpg、png、gif、bmp、heic、tiff、jfif、…

力扣-python-两数之和

题解: class Solution(object):def twoSum(self, nums, target):# 遍历列表for i in range(len(nums)):# 计算需要找到的下一个目标数字res target-nums[i]# 遍历剩下的元素,查找是否存在该数字if res in nums[i1:]:# 若存在,返回答案。这里…

云安全—云计算架构

0x00 前言 云中的所有的软件都是作为服务来提供的,需要支持多租户,需要提供伸缩的能力,所有需要特定的软件架构来进行支持。 0x01 云计算的本质 1.云计算系统工程 主要特点是: 弹性透明模块化通用动态多租赁 云计算通过对硬…

基于JavaWeb+SpringBoot+Vue健身俱乐部系统的设计和实现

基于JavaWebSpringBootVue健身俱乐部系统的设计和实现 源码传送入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码传送入口 前言 1.1 课题背景 随着互联网的发展,电脑已成为人们生活中必不可少的生活办公工…

asyncawait函数

一种更简洁的方式写出基于Promise的异步行为 async函数的返回值为一个promise,通过then和catch来捕获内部的返回值 1.特性: 1. async函数内部会返回一个promise对象,如果看起来不是promise,那么它将会隐式的包装在promise中(如…

保姆级VitrualBox下载ubantu

首先先到此处下载VitrualBox选择对应的配置 Oracle VM VirtualBox 下载VitrualBox的同时要下载一个Visual,支持VitrualBox运行 最新受支持的 Visual C 可再发行程序包下载 | Microsoft Learn 同时再根据下面的网址去下载Ubantu 下载好后桌面出现这两个&#xff0c…

从培训班出来之后找工作的经历,教会了我五件事.....

我是非计算机专业,由于专业不好实习急着就业有过一些失败的工作经历后,跑去参加培训进入IT这行的。 之前在报名学习软件测试之前我也很纠结,不知道怎么选择机构。后面看到有同学在知乎上分享自己的学习经历,当时对我的帮助很大。…

从手动操作到自动化管理,如何实现企业身份业务全面自动化?

在数字化时代,身份管理已经成为了企业和组织不可或缺的一部分,企业对于管理员工、客户和合作伙伴的身份信息和访问权限的需求变得愈发复杂。身份管理不仅仅是一项必要的任务,更是确保业务流畅运营和数据安全的关键因素。然而,传统…

Restful 风格

目录 Restful风格创建springboot项目SpringMVC开发Restful接口1、获取所有的员工思路代码RequestMappingGetMapping 2、获取单个员工思路代码注意: 3、删除员工数据思路:代码单个删除批量删除 4、更新员工数据思路: 5、jQuery发送请求发送del…

应该继续学习编程,还是学数控?

今日话题,继续学习编程,还是学数控?综合来说肯定是软件的待遇和工作环境都要好些。 当然这行有一定的技术门槛,所谓会者不难,难者不会。要入门需要一定的天赋或者说时间,当然 兴趣是最好的老师,…

【密评】商用密码应用安全性评估从业人员考核题库(九)

商用密码应用安全性评估从业人员考核题库(九) 国密局给的参考题库5000道只是基础题,后续更新完5000还会继续更其他高质量题库,持续学习,共同进步。 2001 判断题 在GM/T 0022《IPSec VPN技术规范》中定义了 OSI七层网络…

微信小程序通过webview嵌入的h5 ,遇到打开pdf网址需求的解决办法

h5中,后端给到我一个地址假设为: https://tj-data-bak-to-test228.oss-cn-hanu.aliyunm/us/pdfs/glu_report/xxxxxx99391.pdf 然后需要自己写个pc页面,里面通过iframe引入这个pdf地址,然后将这个pc页面,通过webview嵌…

python项目之医用耗材网上申领系统(django)

项目简介 医用耗材网上申领系统实现了以下功能: 管理员功能:登录,耗材申领,日志管理,申领管理,系统设计,耗材管理。用户:日志管理,耗材申领,申领管理&#…

【EI会议征稿】第三届大数据、信息与计算机网络国际学术会议(BDICN 2024)

第三届大数据、信息与计算机网络国际学术会议(BDICN 2024) 2024 3rd International Conference on Big Data, Information and Computer Network 第三届大数据、信息与计算机网络国际学术会议(BDICN 2024)定于2024年1月12-14日在…

外汇天眼:澳大利亚拟规范数字资产中介与交易所!

澳大利亚政府,通过财政部,宣布正在努力引入一项监管框架,针对为澳大利亚居民和澳大利亚企业提供数字资产访问和持有服务的实体,将包括对所有数字资产中介的许可要求。 这些改革旨在解决已经确定的消费者风险,并支持数…

KNN算法 c++实现

来源【机器学习实战之一】:C实现K-近邻算法KNN_两个图像的特征向量应用knn模型进行匹配-CSDN博客 //计算每个训练数据到待分类元组的距离,取和待分类元组距离最近的k个训练数据,k个数据中哪个类别的训练数据占多数,则待分类元组就…

ewebeditor编辑器漏洞

原理 网页在线编辑器,权限限制不严格,弱口令,文件过滤出现问题 特征 在网址上面加ewebeditor 防御 1、及时更新网站的软件和插件,漏洞及时修补 2、加强网站的访问控制,限制未经授权的访问和操作 3、加强对网站数据…

NFTScan 支持非 EVM 公链的 NFT Collection 的认证功能

截止到 2023 年 10 月份,NFTScan 已经支持了 18 条区块链网络,其中有 14 条 是 EVM 兼容的区块链网络: Ethereum、BNBChain、Polygon、zkSync、Base、Linea、Arbitrum、Optimism、Avalanche、Fantom、PlatON、Cronos、Gnosis、Moonbeam。 另…

快速实现MQTT协议网关网口连接西门子PLC

MQTT协议网关网口连接西门子SMART200PLC操作说明v1.3 目录 一. 使用流程 二. 准备工作 2.1 需要准备如下物品 2.2 LF220网关准备工 2.3 PLC准备工作 2.4 电脑的准备工作 2.5 MQTT服务器 三. MQTT网关登陆平台配置步骤 3.1 登录 3.2 网关概况 3.3 MQTT连…