让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

相关文章

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

Python包管理工具uv下载python版本慢问题解决办法

《Python包管理工具uv下载python版本慢问题解决办法》uv是一个非常快的Python包和项目管理器,用Rust编写,使用热缓存安装Trio的依赖项的速度对比,:本文主要介绍Python包... 目录发现问题对于 MACOS / linux 用户 (zsh/bash):对于 Windows 用户:总

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

使用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