让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打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

使用国内镜像源优化pip install下载的方法步骤

《使用国内镜像源优化pipinstall下载的方法步骤》在Python开发中,pip是一个不可或缺的工具,用于安装和管理Python包,然而,由于默认的PyPI服务器位于国外,国内用户在安装依赖时可... 目录引言1. 为什么需要国内镜像源?2. 常用的国内镜像源3. 临时使用国内镜像源4. 永久配置国内镜

Python如何快速下载依赖

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