打印
[学习资料]

H7-TOOL测试凌欧LKS32MC03x的骚操作**支持情况,不接硬件复位引脚,SWD上电100ms复用其他...

[复制链接]
38|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2024-11-1 10:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

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


【解决办法】
1、测试代码, 使用芯片LKS32MC034DF6Q8B
swd.7z (311.11 KB)


2、配置SWD 转 GPIO
// 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:不接硬件复位,这里选择断上电复位,也可以解决



动态效果





硬件接线实物图:



————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/Simon223/article/details/143304810

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1867

主题

15482

帖子

11

粉丝