收藏官网首页
查看: 39020|回复: 2

[求助] 机智云自动生成MCU源码,移植到STM32L071系列出现硬件错误

13

主题

35

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
跳转到指定楼层
楼主
 楼主| 发表于 2020-10-21 19:40:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
机智云自动生成MCU源码(默认为STM32F103C8x),移植到STM32L071系列出现硬件错误:
在机智云后台设计产品,为变长方式,无论设计啥数据点,机智云自动生成MCU源码(默认为STM32F103C8x),移植到STM32F105系列正常,但移植到STM32L071就在【static int8_t ICACHE_FLASH_ATTR gizDataPoints2ReportData(dataPoint_t *dataPoints , uint8_t *outData,uint32_t *outDataLen)】函数中,最后一句【gizMemcpy(outData,allDatapointByteBuf,*outDataLen);】直接出现错误,跳入到硬件错误处理函数...

我判断最后一句【gizMemcpy(outData,allDatapointByteBuf,*outDataLen);】----内存越界,硬件出错...

只是不理解的是STM32F105系列正常(RAM存储为20K),而STM32L071系列(RAM存储为20K)内存容量一样,为啥出现硬件出错?


后来我在机智云后台改为定长方式,因函数原型为【static int8_t ICACHE_FLASH_ATTR gizDataPoints2ReportData(dataPoint_t *dataPoints , devStatus_t *devStatusPtr)】,而此函数里再没gizMemcpy()函数,无论是STM32F系列,还是STM32L系列都正常,没再出现硬件出错死机现象。


百思不得其解,哪位大神指教下,谢谢~!~

变长的案例.jpg (154.09 KB, 下载次数: 71)

函数原型

函数原型

进入死循环.jpg (173.53 KB, 下载次数: 85)

最后一句gizMemcpy

最后一句gizMemcpy

死循环.jpg (69.54 KB, 下载次数: 62)

进入硬件出错函数

进入硬件出错函数

log日志显示错误.jpg (52.59 KB, 下载次数: 84)

日志提示错误

日志提示错误

13

主题

35

帖子

1330

积分

金牌会员

Rank: 6Rank: 6

积分
1330
沙发
 楼主| 发表于 2020-10-22 19:59:09 | 只看该作者
找到问题了,是uint32_t *outDataLen产生了bug......
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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