|
机智云自动生成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系列都正常,没再出现硬件出错死机现象。
百思不得其解,哪位大神指教下,谢谢~!~
|
|