wzl 发表于 2020-10-21 19:40:38

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

机智云自动生成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系列都正常,没再出现硬件出错死机现象。


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

wzl 发表于 2020-10-22 19:59:09

找到问题了,是uint32_t *outDataLen产生了bug......

admin 发表于 2020-10-26 14:20:44

;P棒哦
页: [1]
查看完整版本: 机智云自动生成MCU源码,移植到STM32L071系列出现硬件错误