让SYD8821 SYD8811更好的下载仿真

2023-10-21 07:40

本文主要是介绍让SYD8821 SYD8811更好的下载仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对于在KEIL中SYD8821的下载不了的解决办法:
SYD8821下载或者仿真要额外接上复位线,一共五根线:VDD,GND,SWDCLK,SWDSDA ,REST,传统jlink的复位管脚如下:
在这里插入图片描述
另外可以用验证过的JLINK连接:https://item.taobao.com/item.htm?ft=t&id=669881942076
因为SYD8821是通过复位管脚复位,所以KEIL中做如下设置:
在这里插入图片描述
对于下载上面的配置足够了,因为SYD8821运行后有可能把芯片配置成不可以仿真的状态,所以要对SYD8821进行仿真,如下两种情况要注意并且做好相应配置:
因为SYD8821的GPIO31和SWD的DATA线复用,所以如果上电后程序把GPIO31设置为GPIO的模式,那么仿真器将连接不上SYD8821。
在这里插入图片描述
另外还有一种情况也会造成连接不上SYD8821,因为M0内核的SWD模块能够正常工作的前提条件是MCU的clock必须要存在,如果在休眠的时候把MCU的clock关闭了也会造成SWD连接不上,比如使用了如下方式进行休眠或者不睡眠:
SystemSleep(POWER_SAVING_RC_OFF, FLASH_LDO_MODULE, 11000 ,(PMU_WAKEUP_CONFIG_TYPE)(FSM_SLEEP_EN|PIN_WAKE_EN|TIMER_WAKE_EN|RTC_WAKE_EN));

SYD8821的加载脚本可从这里下载:https://download.csdn.net/download/chengdong1314/19684013

对于SYD8811芯片在仿真或者下载中会卡死在BleInit函数中的解决办法:
如果使用KEIL来下载或者仿真会体验到下载完代码后程序不能够运行的问题,这时候用jlinkcommander halt芯片的时候可以看到PC指针大概停在0X00006718的位置:
在这里插入图片描述

出现这个问题的原因是在使用SWD来复位(KEIL下载后自动复位或者jlinkcommander输入r命令复位)SYD8811的时候,SYD8811的M0内核是能够得到正常复位的,但是RF模块并没有得到正常的复位,这时候在BleInit函数中去操作RF的时候将会开机!但是对于上电复位或者复位键的复位依旧软件设置寄存器复位就不会有这个问题,所以这时候解决办法就是把SYD8811的复位线拉到jlink管脚上,但是不幸的是SYD8811的复位管脚默认是GPIO模式,所以复位管脚不一定都有复位功能。在上电复位对于带电池的方案又比较麻烦,那这里只能够通过想方设法通过设置复位寄存器来软件复位了,我们知道SYD8811的软件复位的方式是往0x5000100D寄存器写入0x00。
所以在KEIL中可以这样做,在debug的设置界面中的Initializationfile处导入本工程目录下的debug.bin脚本,脚本的作用就是在仿真之前通过软件复位来复位MCU:
在这里插入图片描述
在这里插入图片描述

通过大量的测试发现上面的方式能够解决SYD8811仿真是卡在BleInit函数的问题。但是这样并没有能够解决下载后复位运行卡在BleInit函数的问题,所以还要在Utilities设置界面中的Initfile处导入和仿真复位相同的脚本,如下:
在这里插入图片描述
SYD8811的加载脚本可从这里下载:https://download.csdn.net/download/chengdong1314/19683981
到这里复位和仿真卡在BleInit函数的问题都能够彻底的解决。

这篇关于让SYD8821 SYD8811更好的下载仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/252943

相关文章

Python如何快速下载依赖

《Python如何快速下载依赖》本文介绍了四种在Python中快速下载依赖的方法,包括使用国内镜像源、开启pip并发下载功能、使用pipreqs批量下载项目依赖以及使用conda管理依赖,通过这些方法... 目录python快速下载依赖1. 使用国内镜像源临时使用镜像源永久配置镜像源2. 使用 pip 的并

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

python 3.8 的anaconda下载方法

《python3.8的anaconda下载方法》本文详细介绍了如何下载和安装带有Python3.8的Anaconda发行版,包括Anaconda简介、下载步骤、安装指南以及验证安装结果,此外,还介... 目录python3.8 版本的 Anaconda 下载与安装指南一、Anaconda 简介二、下载 An

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

2. 下载rknn-toolkit2项目

官网链接: https://github.com/airockchip/rknn-toolkit2 安装好git:[[1. Git的安装]] 下载项目: git clone https://github.com/airockchip/rknn-toolkit2.git 或者直接去github下载压缩文件,解压即可。

前端form表单+ifarme方式实现大文件下载

// main.jsimport Vue from 'vue';import App from './App.vue';import { downloadTokenFile } from '@/path/to/your/function'; // 替换为您的函数路径// 将 downloadTokenFile 添加到 Vue 原型上Vue.prototype.$downloadTokenF