芯驰(E3-gateway)开发板环境搭建以及调试遇到问题的解决

news2024/11/25 0:43:23

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/ ( B O A R D ) / b u i l d / (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/ ( B O A R D ) / b u i l d / (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板卡为例进行说明。

  1. 选择Boot模式:IAR镜像下载需要在JTAG(1110)模式下,如下图所示:
  2. 选择需要下载的Project(CR5核):可通过workspace窗口选择当前需激活的Project,具体截图
    可参考编译IAR工程章节;
  3. 选择Flashloader运行核:由于Flashloader需要运行在SF核上,所以在下载其他核的镜像时也需
    要Attach到SF核上,将Project→Options→Debugger→Extra Options中的Use command line
    options选项去除掉,则会默认Attach到SF核上;
  4. 开始下载:选择Project→Download→Download active application开始下载,下载过程中会弹
    出窗口显示Programming flash memory,当进度条完成则表示下载完成,此时串口也会打印
    “Flashload finished”字样;
  5. 重新启动:下载完成后,拨码开关拨到XSPI1 Nor Flash(0000)模式,重新上电后则可正常启
    动。
    IAR调试
    IAR IDE支持在线调试功能,用户激活待调试核对应的Project,选择Project→Attach to Running
    Target,则可对该核进行在线调试。

    注意
    在调试模式下,请确保Project→Options→Debugger→Extra Options→Use
    command line options选项被勾选上,否则会默认attach到SF核上。

1-使用IAR调试出现芯片无法识别

在调试芯驰E3开发板时,出现芯片识别不到,原因是因为,这个官方demo板子我个人认为是存在问题的,如果调试的时候出现这种情况,需要全部拔掉所有的线,然后再进行上电调试。同时拨码开关也要注意。是0111这种。

2-调试时出现地址全为0的情况以及无法跳出启动文件

是他们提供的例程有问题,E3提供的1.0的例程是有问题的。与芯驰技术支持说明问题后,芯驰更新了E3的代码例程2.1.1版本,这个是可以用的。

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

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

相关文章

零入门kubernetes网络实战-19->golang编程netlink包方式操作tun设备

《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7193641905282875942 本篇文章视频地址(稍后上传) 本篇文章介绍一下,使用 github.com/vishvananda/netlink 来操作tun设备 1、安装github.com/vishvananda/netlink go get github.com/vishvanan…

Java的Groovy执行器内存泄露(MetaSpace)问题分析与解决办法

环境与背景 在java程序中通过GroovyScriptEvaluator执行器创建脚本Script对象调用Groovy脚本语言来完成某些功能, ,会通过AppClassLoader或者GroovyClassLoader去生产一个随机的名称的Groovy的Script类对象,导致元数据,产生的class类会被AppClassLoader或者GroovyClassLoader内…

软件测试必备知识

一、软件测试的基本概念①需求IEEE规定:软件需求是(1)用户解决问题或达到目标所需 条件或权能。(2)系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能。一种反应上面(1&#xf…

MyBatisPlus 批量添加

文章目录现状优化效果现状 一般来说,批量插入可以使用 MyBatisPlus 中 ServiceImpl 自带的方法 saveBatch 打开 sql 日志,application.yml 添加配置,mapper-locations 配置 mapper 路径 mybatis-plus:configuration:log-impl: org.apache.i…

LEAP模型的能源环境发展、碳排放建模预测及不确定性分析

LEAP(Long Range Energy Alternatives Planning System/ Low emission analysis platform,长期能源可替代规划模型)是一种自下而上的能源-环境核算工具,由斯德哥尔摩环境研究所和美国波士顿大学联合研发。该模型与情景分析法紧密结…

基于Jetson Tx2 Nx的Qt、树莓派等ARM64架构的Ptorch及torchvision的安装

前提 已经安装好了python、pip及最基本的依赖库 若未安装好点击python及pip安装请参考这篇博文 https://blog.csdn.net/m0_51683386/article/details/129320492?spm1001.2014.3001.5502 特别提醒 一定要先根据自己板子情况,找好python、torch、torchvision的安…

信箱|邮箱系统

技术:Java、JSP等摘要:在经济全球化和信息技术飞速发展的今天,通过邮件收发进行信息传递已经成为主流。目前,基于B/S(Browser/Server)模式的MIS(Management information system)日益…

C语言数组二维数组

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量,比如 runoob0、runoob1、…、runoob99,而是…

唤醒手腕前端 Electron Gui 桌面应用开发详细教程(流程模型、进程通信、进程沙盒化)

流程模型 Electron 继承了来自 Chromium 的多进程架构,这使得此框架在架构上非常相似于一个现代的网页浏览器。 为什么不是一个单一的进程? 网页浏览器是个极其复杂的应用程序。 除了显示网页内容的主要能力之外,他们还有许多次要的职责&a…

红黑树(Insert())

文章目录红黑树代码红黑树性质红黑树vsAVL树红黑树的实现Insert()情况一:如果我插入的新节点时红色的情况二:叔叔是黑色或者不存在情况三: cur红,p为红,g为黑,u不存在或者为黑-双旋检查erase()红黑树vsAVL树红黑树的应用:红黑树 二叉搜索树 …

分布式框架RabbitMQ详解以及编程特性Base实现

消息队列MQ MQ的主要作用有: 异步 例子: 快递员发快递,直接到客户家效率会很低。引入菜鸟驿站后,快递员只需要把快递放到菜鸟驿站,就可以继续发其他快递去了。客户再按自己的时间安排去菜鸟驿站取快递. 作用:异步能提高系统的…

基于明道云平台重建医院管理流程

一、龙华区医疗信息化建设情况 首先,给大家介绍一下龙华区医疗信息化建设的情况,龙华区位于深圳市的中部,目前下属3家公立医院,2家公共卫生机构。2017年,龙华区提出了建设智慧龙华总体框架方案,龙华区卫生…

FPGA Cameralink图像生成模板,Cameralink采集卡图像采集

FPGA Cameralink图像生成模板,Cameralink采集卡图像采集。1:采集卡安装2:FPGA产生图像模板module vga_lcd_driver(input clk,input [7:0] r_i,input [7:0] g_i,input [7:0] b_i,output [7:0] r_o,output [7:0] g_o,output [7:0] b_o,output d…

《QDebug 2023年2月》

一、Qt Widgets 问题交流 二、Qt Quick 问题交流 三、其他 1.使用 QDir::toNativeSeparators() 转换路径中的 "/" 分割符为 "\" 在网上抄代码的时候,总会遇到这样的代码: file_path.replace("/", "\\"); …

界面开发(3)--- PyQt5用户登录界面连接数据库

文章目录数据库账户注册账号登录找回密码为了实现用户登录界面的登录功能,我们必须建立一个数据库,并把账号和对应的密码,存储到数据库中。如果输入的账号和密码与数据库中的一致,那我们就允许用户登录,进入新的界面。…

win10 WSL2 使用Ubuntu配置与安装教程

Win10 22H2ubuntu 22.04ROS2 文章目录一、什么是WSL2二、Win10 系统配置2.1 更新Windows版本2.2 Win10系统启用两个功能2.3 Win10开启BIOS/CPU开启虚拟化(VT)(很关键)2.4 下载并安装wsl_update_x64.msi2.5 PowerShell安装组件三、PowerShell安装Ubuntu3.…

WMS相关知识点(二)

目录一、Android 图形显示系统1. 从下层往上层理解一、Android 图形显示系统 1. 从下层往上层理解 1.1 显示屏 显示屏上的内容,是从硬件帧缓冲区的,大致读取过程为:从Buffer的起始地址开始,从上往下,从左往右&#x…

Redis持久化RDB和AOF

Redis 是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将 Redis 中的数据以某种形式(数据或命令)从内存保存到硬盘。当下次 Redis 重启时,利用持久化文件实现数据恢复。除…

《C++ Primer》 第十二章 动态内存

《C Primer》 第十二章 动态内存 动态内存与智能指针 shared_ptr允许多个指针指向同一个对象;unique_ptr则“独占”所指向的对象,weak_ptr指向shared_ptr所管理的对象。这三种类型都定义在memory头文件中。 shared_ptr类:默认初始化的智能…

Docker容器化部署.net core API

1.为API集成Docker环境。(VS自带,傻瓜式操作) 1.1 点击项目,右键,添加,选择Docker支持 1.2 找到项目根目录中的Dockerfile文件,这是VS刚刚帮我们自动生成的。进入和做如图标红地方修改。 把文…