当前位置: 首页 > news >正文

AG35学习笔记(二):安装编译SDK、CMakeLists编译app、Scons编译server

目录

  • 一、概述
  • 二、安装SDK
    • 2.1 网盘SDK - 权限不够
    • 2.2 bj41 - 需要交叉source
    • 2.3 mullen - relocate_sdk.py路径有误
  • 三、编译SDK
    • 3.1 /bin/sh: 1: gcc: not found
    • 3.2 curses.h: No such file or directory
  • 四、CMakeLists - 编译app
    • 4.1 cmake - 项目构建
    • 4.2 make - 项目编译
    • 4.3 遇到的问题
      • 4.3.1 BJ41 - 创建软链接
      • 4.3.2 CMake was unable to find a build program
      • 3.3.3 string.h: No such file or directory
  • 五、Scons - 编译Server
    • 5.1 bj41

一、概述

二、安装SDK

2.1 网盘SDK - 权限不够

从移远给的网盘里下载了AG35的SDK。根据开发手册,使用source ql-ol-crosstool/ql-ol-crosstool-env-init来安装SDK,结果提示错误:
在这里插入图片描述
使用sudo,又提示找不到命令:
在这里插入图片描述
以root用户登录,执行完再退出
在这里插入图片描述
参考链接:sudo:source:找不到命令。

2.2 bj41 - 需要交叉source

从gitlab上获取了项目的SDK,source失败:
在这里插入图片描述
第二次source成功,是因为我在SDK内source了一下:在这里插入图片描述
有时候我在SDK内source失败,在app内source一下,就可以了。为什么交叉source一下,就正常了,原因暂不知道。

2.3 mullen - relocate_sdk.py路径有误

其他人上传的SDK,我从gitlab上拉取后,安装失败:
在这里插入图片描述
经过查找,是因为SDK内ql-ol-crosstool目录下的relocate_sdk.py内容有误:
在这里插入图片描述
手动修改为自己的路径,再次source就是ok的了。
但是我自己在本地测试,修改这个路径,比如去掉guanyuan中间的u:
在这里插入图片描述
结果source也是ok的。source完,查看被修改为正确的包含guanyuan的路径。
为什么gitlab拉取的sdk,要自己修改路径,这个原因暂不知道。

三、编译SDK

3.1 /bin/sh: 1: gcc: not found

在这里插入图片描述
gcc -v测试发现没有安装,使用 sudo apt install gcc 进行安装即可。

3.2 curses.h: No such file or directory

在这里插入图片描述
使用sudo apt-get install libncurses5-dev进行安装即可。
更多参考:ncurses库的介绍与安装。

四、CMakeLists - 编译app

关于CMakeLists的使用,可以先通过这两个链接,有个基本了解:

  1. CMake 简易入门教程
    熟悉Cmake的语法,编译单个main.c打印 hello word
    将 hello.c 编译为动态库和静态库,在main.c中调用库打印
    推荐了文档和视频两个资料
  2. CMakeLists.txt的超傻瓜手把手教程

4.1 cmake - 项目构建

首先切换到 build 文件夹,命令:cd build​
执行构建命令:cmake …​

cd build
cmake ..

在这里插入图片描述

4.2 make - 项目编译

执行编译命令:cmake --build .​
在这里插入图片描述

4.3 遇到的问题

4.3.1 BJ41 - 创建软链接

在这里插入图片描述

4.3.2 CMake was unable to find a build program

在这里插入图片描述
出现这个错误的原因是,ubuntu没有安装make(参考)。安装后即可正常

3.3.3 string.h: No such file or directory

在这里插入图片描述

五、Scons - 编译Server

未详细阅读,不区分顺序

添加链接描述
添加链接描述
添加链接描述

5.1 bj41

在这里插入图片描述
多出一个out文件夹

相关文章:

AG35学习笔记(二):安装编译SDK、CMakeLists编译app、Scons编译server

目录 一、概述二、安装SDK2.1 网盘SDK - 权限不够2.2 bj41 - 需要交叉source2.3 mullen - relocate_sdk.py路径有误 三、编译SDK3.1 /bin/sh: 1: gcc: not found3.2 curses.h: No such file or directory 四、CMakeLists - 编译app4.1 cmake - 项目构建4.2 make - 项目编译4.3 …...

多台服务器sessionId共享

目录 多台服务器sessionId共享解决方案:ASP.NET Core 参考代码(NET 7):登录处理登录(请求)过滤器过滤器使用BaseController 多台服务器sessionId共享 session id是服务器首次与浏览器创建连接时,生成的id值,存入浏览器…...

如何在Gazebo中实现多机器人编队仿真

文章目录 前言一、仿真前的配置二、实现步骤1.检查PC和台式机是否通讯成功2.编队中对单个机器人进行独立的控制3、对机器人进行编队控制 前言 实现在gazebo仿真环境中添加多个机器人后,接下来进行编队控制,对具体的实现过程进行记录。 一、仿真前的配置…...

迅为iTOP-iMX6QPLUS-Android6.0下uboot添加网卡驱动

本文档介绍在 iTOP-iMX6Q 和 iTOP-iMX6Q-PLUS 安卓 6.0 的 uboot 上添加网卡驱 动,添加完网卡驱动以后,uboot 就可以正常使用网络了。 1 具体步骤 1.1 修改 mx6sabre_common.h 文件 在 iTOP-iMX6_android6.0.1 源码目录下输入以下命令,打…...

sql server 触发器的使用

看数据库下的所有触发器及状态 SELECT a.name 数据表名 , sysobjects.name AS 触发器名 , sysobjects.crdate AS 创建时间 , sysobjects.info , sysobjects.status FROM sysobjects LEFT JOIN ( SELECT * FROM sysobjects WHERE xtype U ) AS a ON sysobjects.parent_obj a.…...

使用亚马逊云服务器在 G4 实例上运行 Android 应用程序

随着 Android 应用程序和游戏变得越来越丰富,其中有些甚至比 PC 上的软件更易于使用和娱乐,因此许多人希望能够在云上运行 Android 游戏或应用程序,而在 EC2 实例上运行 Android 的解决方案可以让开发人员更轻松地测试和运行 Android 应用程序…...

Direct3D融合技术

该技术能使我们将当前要进行光栅化的像素的颜色与先前已已光栅化并处于同一位置的像素的颜色进行合成,即将正在处理的图元颜色值与存储在后台缓存中的像素颜色值进行合成(混合),利用该技术我们可得到各种各样的效果,尤其是透明效果。 在融合…...

【计算机网络】信号处理接口 Signal API(1)

收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。 signal 遵循 C11,POSIX.…...

贝叶斯滤波计算4d毫米波聚类目标动静属性

机器人学中有些问题是二值问题,对于这种二值问题的概率评估问题可以用二值贝叶斯滤波器binary Bayes filter来解决的。比如机器人前方有一个门,机器人想判断这个门是开是关。这个二值状态是固定的,并不会随着测量数据变量的改变而改变。就像门…...

华为hcie认证考试怎么考?

华为HCIE认证考试怎么考? 前文腾科也说了HCIE认证考试的难度会比较大,具体是难在哪里呢?华为HCIE认证的考试需要考一门笔试,笔试主要是单选、多选、判断、填空、拖拽这几个题型,考试时长一般是一个半小时,…...

vue +element 删除按钮操作 (删除单个数据 +删除页码处理 )

1.配置接口deleteItemById: "/api/goods/deleteItemById", //删除商品操作 2.get请求接口 // 删除接口 后台给我们 返iddeleteItemById(params){return axios.get(base.deleteItemById,{params})}3.异步请求接口 async deleteItemById(id){let res await this.…...

更新GitLab上的项目

更新GitLab上的项目 如有需要,请参考这篇:上传项目到gitlab上 1.打开终端,进入到本地项目的根目录。 2.如果你还没有将远程GitLab仓库添加到本地项目,你可以使用以下命令: 比如: git remote add origin …...

K8S群集调度

K8S群集调度 一、调度约束1.概述2.Pod 启动典型创建过程(工作机制 )3.调度过程4.Predicate 的常见的算法5.常见的优先级选项6.指定调度节点: 二、亲和性1.节点亲和性2.Pod 亲和性3.键值运算关系4.示例5.Pod亲和性与反亲和性6.使用 Pod 反亲和…...

完美解决Echarts X坐标轴下方文字最后一个字体加粗颜色加深的问题

之前用Echarts画图的时候,X坐标轴最后一个字存在自动加粗的问题。也是在网上找过解决办法没有找到,后面自己研究明白了后,在某篇文章下评论了如何解决。但是好像大家没有看评论的习惯,所以单独拿出来一篇文章,希望能给…...

WebGL 计算平行光、环境光下的漫反射光颜色

目录 光照原理 光源类型 平行光 点光源 环境光 反射类型 漫反射 漫反射光颜色 计算公式 环境反射 环境反射光颜色 表面的反射光颜色(漫反射和环境反射同时存在时)计算公式 平行光下的漫反射 根据光线和法线方向计算入射角θ(以便…...

解决SpringMVC在JSP页面取不到ModelAndView中数据

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 问题描述 ModelAndView携带数据跳转到指定JSP页面后在该页面通过EL表达式取不到原本存放在ModelAndView中的数据。 问题原因 在IDEA中创建Maven工程时web.xml中默认的约束…...

Spring 6.0 新特性

文章目录 Spring的发展历史AOTGraalVMSpringBoot实战AOTRuntimeHints案例分析RuntimeHintsRegistrar SpringBoot中AOT核心代码 Spring的发展历史 AOT Spring 6.0的新特性Ahead of Time(AOT)编译是一种技术,可以提前将Spring应用程序编译成原…...

计算机竞赛 深度学习+opencv+python实现昆虫识别 -图像识别 昆虫识别

文章目录 0 前言1 课题背景2 具体实现3 数据收集和处理3 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数:2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 4 MobileNetV2网络5 损失函数softmax 交叉熵5.1 softmax函数5.2 交叉熵损失函数 6 优化器SGD7 学…...

软件过程能力成熟度评估——CSMM认证

CSMM认证又称为“软件过程能力过程成熟度评估”,由中国电子技术标准化研究院联合五十余家产学研用相关方结合我国实际,自主制定的团体标准,于2021年6月8号发布,目的是为了帮助国内软件企业对自身的软件能力进行评估和判断&#xf…...

学内核之二十一:系统调用栈结构分析

目录 一 构建分析环境 二 栈的位置 三 栈开头8字节 四 寄存器环境 五 R4和R5 六 如何确定系统调用的具体函数 一 构建分析环境 为了分析方便,做了如下测试环境: 内核实现一个简单的创建字符设备的驱动 应用层实现一个c程序,操作为打开内…...

RISC-V双芯架构在智慧燃气报警器中的系统级设计与工程实践

1. 项目概述:当RISC-V芯遇上智慧燃气最近在深圳的智慧燃气发展论坛上,我注意到一家叫微五科技的芯片设计公司,他们带来了一套挺有意思的解决方案。核心不是别的,正是当下在嵌入式领域越来越火的RISC-V架构。他们这次重点展示的&am…...

终极指南:如何解锁光猫全部性能?RTL960x开源方案深度解析

终极指南:如何解锁光猫全部性能?RTL960x开源方案深度解析 【免费下载链接】RTL960x Hacking & Reverse Engineering RTL960x-based xPON ONTs to suit your OLT 项目地址: https://gitcode.com/gh_mirrors/rt/RTL960x RTL960x开源光猫固件是基…...

用 Articraft 制作可动 3D 资产

如果你想做一个“能开合的台灯、能转动的风扇、能拉开的抽屉柜”,传统 3D 工作流通常意味着:建模、拆分部件、定义关节、反复调试、再导出到下游系统。 问题是,这类“可动对象”并不只是静态几何体,它们还需要语义化部件、合理结构…...

别再手动算镀膜了!用Ansys Zemax非序列模式,5分钟搞定二向分色分光镜仿真

5分钟极速仿真:Ansys Zemax非序列模式下二向分色分光镜的实战技巧 在光学系统设计中,二向分色分光镜的仿真往往成为效率瓶颈。传统方法需要手动计算镀膜参数、反复调试光线路径,消耗工程师大量时间。本文将揭示如何利用Ansys Zemax非序列模式…...

Python开发者三步完成Taotoken接入并调用多模型

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Python开发者三步完成Taotoken接入并调用多模型 对于希望便捷使用多种大语言模型的Python开发者而言,通过一个统一的AP…...

集成测试实战

软件测试理论:https://blog.csdn.net/2402_88266590/article/details/160966638?spm1011.2415.3001.5331 单元测试实战:https://blog.csdn.net/2402_88266590/article/details/161017518?spm1001.2014.3001.5502 下面就开始进入集成测试的学习吧&…...

Cadence SKILL脚本实战:5分钟搞定TESTKEY原理图批量创建(附完整代码)

Cadence SKILL脚本实战:5分钟搞定TESTKEY原理图批量创建(附完整代码) 在集成电路设计领域,TESTKEY(测试结构)的创建是验证工艺模型和器件特性的基础工作。传统手动放置器件的方式不仅效率低下,还…...

嵌入式网络硬件设计避坑指南:如何为你的SOC选配合适的PHY芯片与接口(MII/RMII实战解析)

嵌入式网络硬件设计避坑指南:如何为你的SOC选配合适的PHY芯片与接口(MII/RMII实战解析) 在嵌入式系统设计中,网络功能已成为现代智能设备的标配需求。无论是工业控制、物联网终端还是消费电子产品,稳定可靠的网络连接往…...

遥感转码占比3.16%:为什么比测绘、地信少?

年初时我们统计过一个数据,2025年所有转GIS开发的同学中,遥感转码的人数占比约3.16%,远低于地信(36.84%)和测绘(20.52%),甚至不如城乡规划(8.95%)多。都说3S不…...

脉冲神经网络:低功耗AI计算的生物启发革命

1. 脉冲神经网络:生物启发的低功耗计算革命2014年,IBM发布TrueNorth芯片时,其每平方厘米功耗仅20毫瓦的性能震惊了整个AI界。这款基于脉冲神经网络(SNN)的芯片,能耗仅为传统CPU的万分之一,却能够实时处理视频流中的复杂…...