芯驰(E3-gateway)开发板环境搭建
1-Windows下环境配置
可以在Windows上使用命令行或者IAR IDE编译SSDK项目。Windows编译依赖的工具已经包含在
prebuilts/windows 目录中,包括编译器、Python和命令行工具。
1.1.1 CMD
SSDK集成 msys 工具,可以在Windows命令行中完成SDK的配置、编译和打包。编译前需要将 msys
的路径添加到用户环境变量中。可以使用SDK集成的脚本添加环境变量,双击SSDK目录下的 setupenv.bat 脚本即可,执行效果如下:显示下面这种就是成功了。

注意:
如果安装过MinGW/Cygwin等Windows上类UNIX模拟环境,可能会出现与SSDK
中MinGW版本不一致而导致SSDK编译失败的问题。这种情况下需先卸载安装 的MinGW/Cygwin,然后测试编译功能。 如果运行
setup-env.bat 失败,可手动将
D:\repo\ssdk-alpha\prebuilts\windows\msys\usr\bin 添加到系统环
境变量path中,然后重新打开cmd窗口即可。
1.1.2配置SDK
SSDK使用Kconfig进行配置,以e3_gateway工程为例,在SSDK目录下,输入以下命令启
动menuconfig,其中 -b 指示BOARD, -p 指示PROJECT, -c 指示CORE(可以是sf, sp0, sp1, sx0,
sx1)。如下命令
sh build.sh -b e3_gateway -p xip>output.txt

启动成功后显示界面如下:

1.1.3 GCC编译
在CMD工具下,执行以下命令即可启动GCC编译,其中 -b 指示BOARD, -p 指示PROJECT。
如下命令:后面必须加上>output.txt,否则会进入无限循环中。
sh build.sh -b e3_gateway -p xip>output.txt
如下如:

1.1.4 生成PAC包
GCC编译完成后自动打包PAC镜像,PAC包位于 boards$(BOARD)\build$(PROJECT)\gcc\ 目
录下,烧录到OSPI Flash的镜像名为 ospi_KaTeX parse error: Expected group after '_' at position 31: …到eMMC的镜像名为 emmc_̲
(BOARD).pac 。可以使用芯驰提供的SDFactoryTool工具,通过USB烧录镜像。
PAC包的打包的方式由 boards$(BOARD)\sf\projects$(PROJECT)\pac_config.json 文
件控制。
1.2.1 IAR
SSDK支持通过IAR编译、下载和调试。
生成IAR工程
SSDK中已包含了E3参考板的IAR工程,工程路径在 boards/(BOARD)/build/(BOARD)/build/(BOARD)/build/(PROJECT)/iar
文件夹下,用户可以直接双击 eww 文件打开该工程。
另外,SSDK也提供了IAR工程自动生成脚本,方便用户快速建立新的工程。以e3_gateway板为例,可
在CMD下运行如下命令行:
sh build.sh -b e3_gateway -p xip -iar
其中 -b 指示BOARD, -p 指示PROJECT, -c 指示core( -c 为可选项,不特殊指明时将生成所
有core的IAR工程)。生成完毕后的工程将在存放放在 boards/(BOARD)/build/(BOARD)/build/(BOARD)/build/
(PROJECT)/iar 文件夹下。
IAR编译
以E3640芯片(用于e3_gateway参考板)为例,打开eww文件后会出现如下图所示5个Project,每
个IAR Project对应一个CR5核。
• 单个Project编译:可通过下图中(1)或(2)菜单栏选择需要编译的Project,然后通过选
择Project→Make(或Rebuild All)进行编译;

全部编译:也可按住Shift键选择所有的Project进行编译,如下图所示;

生成PAC包
IAR IDE编译完成后自动生成PAC包,PAC包位于 boards$(BOARD)\build$(PROJECT)\iar
目录下,烧录到OSPI Flash的镜像名为 ospi_KaTeX parse error: Expected group after '_' at position 31: …到eMMC的镜像名为 emmc_̲
(BOARD).pac ,可以使用芯驰提供的SDFactoryTool工具,通过USB烧录镜像。
PAC包的打包的方式由 boards$(BOARD)\sf\projects$(PROJECT)\pac_config.json 文
件控制,关于该文件的解析详见“打包配置文件”小节。
在IAR中Flash烧录
IAR镜像可以通过IAR Flashloader下载到NorFlash中,用户可操作单个Project对单个核的镜像进行下
载更新。这里以Gateway板卡为例进行说明。
- 选择Boot模式:IAR镜像下载需要在JTAG(1110)模式下,如下图所示:

- 选择需要下载的Project(CR5核):可通过workspace窗口选择当前需激活的Project,具体截图
可参考编译IAR工程章节; - 选择Flashloader运行核:由于Flashloader需要运行在SF核上,所以在下载其他核的镜像时也需
要Attach到SF核上,将Project→Options→Debugger→Extra Options中的Use command line
options选项去除掉,则会默认Attach到SF核上;

- 开始下载:选择Project→Download→Download active application开始下载,下载过程中会弹
出窗口显示Programming flash memory,当进度条完成则表示下载完成,此时串口也会打印
“Flashload finished”字样; - 重新启动:下载完成后,拨码开关拨到XSPI1 Nor Flash(0000)模式,重新上电后则可正常启
动。
IAR调试
IAR IDE支持在线调试功能,用户激活待调试核对应的Project,选择Project→Attach to Running
Target,则可对该核进行在线调试。
注意
在调试模式下,请确保Project→Options→Debugger→Extra Options→Use
command line options选项被勾选上,否则会默认attach到SF核上。
相关文章:
芯驰(E3-gateway)开发板环境搭建
1-Windows下环境配置 可以在Windows上使用命令行或者IAR IDE编译SSDK项目。Windows编译依赖的工具已经包含在 prebuilts/windows 目录中,包括编译器、Python和命令行工具。 1.1.1 CMD SSDK集成 msys 工具,可以在Windows命令行中完成SDK的配置、编译和…...
HiveSql一天一个小技巧:如何巧用分布函数percent_rank()求去掉最大最小值的平均薪水问题
0 问题描述参考链接(3条消息) HiveSql面试题12--如何分析去掉最大最小值的平均薪水(字节跳动)_莫叫石榴姐的博客-CSDN博客文中已经给出了三种解法,这里我们借助于此题,来研究如何用percent_rank()函数求解,简化解题思路…...
【python实现华为OD机试真题】优雅子数组【2023 Q1 | 200分】
题目描述 如果一个数组Q中出现次数最多的元素出现大于等于K次,被称为k-优雅数组,k也可以被称为优雅阈值只。 例如: 数组1,2, 3, 1、2, 3, 1,它是一个3-优雅数组,因为元素1出现次数大于等于3次, 数组[1,2, 3, 1, 2]就不是一一个3-优雅数组,因为其中出现次数最多的元素是1和…...
九种分布式ID解决方案
文章目录背景1、UUID2、数据库自增ID2.1、主键表2.2、ID自增步长设置3、号段模式4、Redis INCR5、雪花算法6、美团(Leaf)7、百度(Uidgenerator)8、滴滴(TinyID)总结比较背景 在复杂的分布式系统中,往往需要对大量的数据进行唯一标识,比如在对一个订单表…...
RocketMQ源码分析
RocketMQ源码深入剖析 1 RocketMQ介绍 RocketMQ 是阿里巴巴集团基于高可用分布式集群技术,自主研发的云正式商用的专业消息中间件,既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠…...
跟着我从零开始入门FPGA(一周入门系列)第六天
6、有限状态机状态机,只要C代码写过2年的人,估计无人不识君,稍微复杂的逻辑都可以借助状态机来简化问题。为了方便,我们使用前面用过的一个例子,来说明状态机的应用,也就是说我们前面已经有意无意的用过状态…...
2023最新JVM面试题汇总进大厂必备
JVM 面试题汇总 1.什么是 JVM?它有什么作用? 答:JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,顾名思义它是一个虚 拟计算机,也是 Java 程序能够实现跨平台的基础。它的作用是加载 Java 程…...
Cocoa-presentViewController
presentViewController:animator: 将一个viewController以动画方式显示出来 当VCA模态的弹出了VCB,那么VCA就是presenting view controller,VCB就是presented view controller presentViewController 相较于addSubView 直接作为subView就是不会出现一…...
Vue Mixins
Vue Mixins 详解 Vue.js 是一个非常流行的 JavaScript 框架,它提供了一系列的工具来简化 Web 应用程序的开发。其中一个非常有用的工具就是 Mixins。 什么是 Mixins? Mixins 是一种 Vue.js 组件复用的方法,它允许您将一组组件选项合并到一…...
Django-版本信息介绍-版本选择
文章目录1.如何获取Django1.1.选项1:获取最新的正式版本1.2.选项2:获取4.2的beta版1.3.选项3:获取最新的开发版本2.得到之后3.支持版本4.选择版本1.如何获取Django Django在BSD许可下是开源的。我们建议使用最新版本的Python 3。支持Python 2.7的最新版本是Django 1.11 LTS。请…...
写给交互设计新手的信息架构全方位指南
目录什么是信息架构?通用方法日常工作可以关注的大神常用工具相关书籍什么是信息架构?信息架构是一个比众多其他领域更难定义的领域。内容策划由内容策划师来完成,交互设计由设计师来完成,而信息架构的完成与它们不同,…...
15、主从复制,gtid,并行复制,半同步复制,实操案例,常用命令,故障处理
主从复制,gtid,并行复制,半同步复制,实操案例,常用命令,故障处理 1.认识主从复制1.1 主从复制原理深入讲解1.2 主从复制相关参数1.3.主从复制架构部署1.4从库状态详解1.5 .过滤复制2 .gtid复制2.1 什么是GTID?2.2 GTID主从配置2.5 gtid维护2.4 GTID的特点2.3 工作原理2.4 g…...
【C语言】实现文件内容映射转移
有两个文件(QA,与QB)。 文件A是经过了字母映射加密的文本(将英文字母一一映射成了另一个), 文件B是字母映射的关系表(格式如A-c;B-R;…,其中前一个字母为加密前的),编写程…...
html css输入框获得焦点、失去焦点效果
input输入框获得焦点、失去焦点效果 废话shao shuo ! 直接看效果图,好吧! 效果图: code: <!DOCTYPE html> <html> <head><title></title><meta charset"utf-8" /><style type"text…...
Spark Streaming
第1章 SparkStreaming 概述1.1 Spark Streaming 是什么Spark 流使得构建可扩展的容错流应用程序变得更加容易。**Spark Streaming 用于流式数据的处理。**Spark Streaming 支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ 和简单的 TCP 套接字…...
[kubernetes]-k8s通过psp限制nvidia-plugin插件的使用
导语: k8s通过psp限制nvidia-plugin插件的使用。刚开始接触psp 记录一下 后续投入生产测试了再完善。 通过apiserver开启psp 静态pod会自动更新 # PSP(Pod Security Policy) 在默认情况下并不会开启。通过将PodSecurityPolicy关键词添加到 --enbale-admission-plu…...
简单易懂又非常牛逼的Spring源码解析,推断构造与bean的实例化
简单易懂又非常牛逼的Spring源码解析,推断构造与bean的实例化原理解析实例化bean的入口工厂方法实例化推断构造初次筛选二次筛选bean的实例化代码走读实例化bean的入口createBeanInstance方法内部的流程推断构造初次筛选二次筛选bean的实例化总结往期文章࿱…...
Win11的两个实用技巧系列清理磁盘碎片、设置系统还原点的方法
Win11如何清理磁盘碎片?Win11清理磁盘碎片的方法磁盘碎片过多,会影响电脑的运行速度,所以需要定期清理,这篇文章将以Win11为例,给大家分享的整理磁盘碎片方法相信很多用户都会发现,随着电脑使用时间的增加,…...
嵌入式 STM32 红外遥控
目录 红外遥控 NEC码的位定义 硬件设计 软件设计 源码程序 红外遥控 红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,容易实现等显著的特点,被诸多电子设备特别…...
【java web篇】使用JDBC操作数据库
📋 个人简介 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜📝 个人主页:馆主阿牛🔥🎉 支持我:点赞👍收藏⭐️留言Ὅ…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...
【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统
Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...
