芯驰(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操作数据库
📋 个人简介 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜📝 个人主页:馆主阿牛🔥🎉 支持我:点赞👍收藏⭐️留言Ὅ…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
