首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >H7-TOOL测试凌欧LKS32MC03x的骚操作玩法支持情况,不接硬件复位引脚,SWD上电100ms复用其他功能调试下载测试(已测试没问题)

H7-TOOL测试凌欧LKS32MC03x的骚操作玩法支持情况,不接硬件复位引脚,SWD上电100ms复用其他功能调试下载测试(已测试没问题)

作者头像
Simon223
发布2025-10-16 08:56:22
发布2025-10-16 08:56:22
1110
举报

【背景】

这个骚操作,骚就骚在SWD接口引脚复用其他功能了,板子还没有把硬件复位引脚接出来,硬件复位引脚是专治这种场景的。

虽然客户的程序搞了个上电后延迟100ms才复用,但JLINK,ULINK,STLINK,DAPLINK在MDK下都已经无法控制这个芯片下载,但使用第3方的烧录可以下载,且客户近期不方便提供他的测试程序让我们测试。 【解决办法】 1、测试代码, 使用芯片LKS32MC034DF6Q8B

swd.7z (311.11 KB) 2、配置SWD 转 GPIO

代码语言:javascript
复制
// src file: main.c
#include "basic.h"
#include "hardware_init.h"
#include "hardware_config.h"
#include "lks32mc03x.h"
#include "rtt_debug.h"
#include "delay.h"
 
/* USER CODE BEGIN Includes */
void SWD_to_GPIO(void) {
    // 等待芯片上电复位后的100ms
        delay_ms(200);
 
    // 向SYS_IO_CFG寄存器的第6位写入0,开启复用功能
        SYS_WR_PROTECT = 0x7a83;
        SYS_IO_CFG &= ~BIT6;      /*SWD复用普通GPIO*/
        SYS_WR_PROTECT = 0;
         
    // 配置P1.8和P1.9为GPIO
    /* USER CODE END Main */
    Common_GPIOInit();
}
/* USER CODE END Includes */
 
/* USER CODE BEGIN Defines */
 
/* USER CODE END Defines */
 
 
int main()
{
    __disable_irq();
    Clock_Init();
    delay_init(MAIN_CLOCK);
    __enable_irq();
         
        SWD_to_GPIO();
         
    while(1)
    {
        /* USER CODE BEGIN MainWhile */
         
        /* USER CODE END MainWhile */
        PRINTF("run main.while()...\r\n");
        delay_ms(1000);
    }
}
 
 
/*************** (C) COPYRIGHT LINKO SEMICONDUCTOR *****END OF FILE**************/

3、配置后,确实如官方文件所说,任何LINK都无法使用MDK和IAR下载了,即使接上硬件复位并且配置使用硬件复位引脚也无法解决,比如jlink下载,效果如下:

4、使用我们H7-TOOL测试

复用后,TOOL的默认配置会提示芯片不存在

(1)解决办法1:接硬件复位,并且这里选择硬件复位,可以反复烧录,烧录的程序是100ms复位的固件

动态效果

(2)解决办法2:不接硬件复位,这里选择断上电复位,也可以解决

动态效果

硬件接线实物图:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档