硬汉嵌入式论坛

 找回密码
 立即注册
查看: 593|回复: 9
收起左侧

[问题解答] H7-TOOL调试STM32L051K8时出现问题(6楼分享正常调试L051内置EEPROM工程代码)

[复制链接]

1

主题

14

回帖

17

积分

新手上路

积分
17
发表于 2023-5-24 17:26:53 | 显示全部楼层 |阅读模式
在使用keil连接H7-Tool调试STM32L051K8时,我操作写入单片机内部的EEPROM,这时会弹出调试失败的窗口,在使用J-link调试时,不会出现这个问题
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
发表于 2023-5-24 17:29:41 | 显示全部楼层
方便的话,分享你的工程到百度云。

我手头有个STM32L051C8T6,正好可以测试下。
回复

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2023-5-31 09:58:31 | 显示全部楼层
eric2013 发表于 2023-5-24 17:29
方便的话,分享你的工程到百度云。

我手头有个STM32L051C8T6,正好可以测试下。

链接:https://pan.baidu.com/s/1iGW4ENeRWfPdaoXk5zybqw?pwd=fyfg
提取码:fyfg
--来自百度网盘超级会员V6的分享
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
发表于 2023-5-31 10:47:45 | 显示全部楼层
有正常的例子吗,你发的例子我无法编译通过

下载 (3).png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
发表于 2023-5-31 11:15:29 | 显示全部楼层
修改了下,可以调试了,我这里用JLINK,STLINK和DAPLINK.

1245.png

JLINK 直接在初始化阶段卡死:

555777.png

STLINK同样初始化阶段卡死:

33.png

TOOL DAPLINK也是卡死:

下载 (4).png

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
发表于 2023-5-31 11:50:59 | 显示全部楼层
我自己做了个L051的eeprom读写调试工程,jlink,stlink,daplink均正常,下面是我们tool调试效果动态图和对应的MDK工程:


L051 EEPROM.7z (637.43 KB, 下载次数: 9)

12.gif

eeprom读写API:

[C] 纯文本查看 复制代码
/* USER CODE BEGIN PFP */
#define EEPROM_BASE_ADDR    0x08080000
#define EEPROM_BYTE_SIZE    0x03FF

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
//Byte write
void EEPROM_WRITE(uint16_t BiasAddress, uint8_t *Data, uint16_t len)
{
   uint16_t i;
   HAL_StatusTypeDef status = HAL_OK;

   HAL_FLASHEx_DATAEEPROM_Unlock();
   for(i=0;i<len;i++)
   {
       status +=HAL_FLASHEx_DATAEEPROM_Program(FLASH_TYPEPROGRAMDATA_BYTE, EEPROM_BASE_ADDR+BiasAddress+i, *Data);
       Data++;
   }
   HAL_FLASHEx_DATAEEPROM_Lock();
 }

 //Byte read
void EEPROM_READ(uint16_t BiasAddress,uint8_t *Buffer,uint16_t Len)
{
   uint8_t *wAddr;
   wAddr=(uint8_t *)(EEPROM_BASE_ADDR+BiasAddress);
   while(Len--)
   {
       *Buffer++=*wAddr++;
   }
}

回复

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2023-5-31 14:05:47 | 显示全部楼层
eric2013 发表于 2023-5-31 11:50
我自己做了个L051的eeprom读写调试工程,jlink,stlink,daplink均正常,下面是我们tool调试效果动态图和对 ...

谢谢测试,我调试时使用的是H-Tool,在最后才加入EEPROM的写操作的,实际测试读写正常的,后来使用J-link调试发现没有弹窗退出调试,所以感觉是H7-Tool的问题,发给你的代码可能是我删除了部分代码导致
回复

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2023-5-31 14:13:06 | 显示全部楼层
eric2013 发表于 2023-5-31 11:50
我自己做了个L051的eeprom读写调试工程,jlink,stlink,daplink均正常,下面是我们tool调试效果动态图和对 ...

该源码经测试可以正常编译,Jlink可以正常调试
链接:https://pan.baidu.com/s/10PFIO12Ojb9B80uLyZzO8w?pwd=2r2o
提取码:2r2o
--来自百度网盘超级会员V6的分享
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
发表于 2023-5-31 14:29:08 | 显示全部楼层
紫宸星光 发表于 2023-5-31 14:05
谢谢测试,我调试时使用的是H-Tool,在最后才加入EEPROM的写操作的,实际测试读写正常的,后来使用J-link ...

参考我6楼分享的代码实现即可,任何link都可以正常调试L051的eeprom使用,非常顺畅丝滑。

你提供的工程我不再测试了。
回复

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2023-5-31 15:55:34 | 显示全部楼层
eric2013 发表于 2023-5-31 14:29
参考我6楼分享的代码实现即可,任何link都可以正常调试L051的eeprom使用,非常顺畅丝滑。

你提供的工 ...

谢谢大佬
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-7 07:39 , Processed in 0.347878 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表