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

简介: 芯驰(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

如下如:


640.png


1.1.4 生成PAC包


GCC编译完成后自动打包PAC镜像,PAC包位于 boards$(BOARD)\build$(PROJECT)\gcc\ 目

录下,烧录到OSPI Flash的镜像名为 ospi

$(BOARD).pac ,烧录到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/$(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/$

(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

$(BOARD).pac ,烧录到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)模式下,如下图所示:
    640.png
  2. 选择需要下载的Project(CR5核):可通过workspace窗口选择当前需激活的Project,具体截图
    可参考编译IAR工程章节;
  3. 选择Flashloader运行核:由于Flashloader需要运行在SF核上,所以在下载其他核的镜像时也需
    要Attach到SF核上,将Project→Options→Debugger→Extra Options中的Use command line
    options选项去除掉,则会默认Attach到SF核上;
    640.png
  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版本,这个是可以用的。

相关文章
|
网络协议 应用服务中间件 nginx
浏览器debug 调试一打开 Nginx 就 504 Gateway Time-out
浏览器debug 调试一打开 Nginx 就 504 Gateway Time-out
300 0
浏览器debug 调试一打开 Nginx 就 504 Gateway Time-out
|
2月前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
2月前
|
Java 开发者 Spring
Spring Cloud Gateway 中,过滤器的分类有哪些?
Spring Cloud Gateway 中,过滤器的分类有哪些?
55 3
|
2月前
|
负载均衡 Java 网络架构
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
108 5
|
1月前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
37 0
|
2月前
|
安全 Java 开发者
强大!Spring Cloud Gateway新特性及高级开发技巧
在微服务架构日益盛行的今天,网关作为微服务架构中的关键组件,承担着路由、安全、监控、限流等多重职责。Spring Cloud Gateway作为新一代的微服务网关,凭借其基于Spring Framework 5、Project Reactor和Spring Boot 2.0的强大技术栈,正逐步成为业界的主流选择。本文将深入探讨Spring Cloud Gateway的新特性及高级开发技巧,助力开发者更好地掌握这一强大的网关工具。
230 6
|
4月前
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
508 15
|
4月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
112 3
|
4月前
|
Java 微服务 Spring
SpringCloud gateway自定义请求的 httpClient
SpringCloud gateway自定义请求的 httpClient
191 3
|
4月前
|
JSON 前端开发 Java
SpringCloud怎么搭建GateWay网关&统一登录模块
本文来分享一下,最近我在自己的项目中实现的认证服务,目前比较简单,就是可以提供一个公共的服务,专门来处理登录请求,然后我还在API网关处实现了登录拦截的效果,因为在一个博客系统中,有一些地址是可以不登录的,比方说首页;也有一些是必须登录的,比如发布文章、评论等。所以,在网关处可以支持自定义一些不需要登录的地址,一些需要登录的地址,也可以在网关处进行校验,如果未登录,可以返回JSON格式的出参,前端可以进行相关处理,比如跳转到登录页面等。
123 4
下一篇
无影云桌面