STM32 SRAM写入16位数据时死机问题
STM32 SRAM写入16位数据时死机问题
一、问题背景:在写入short类型、长度不固定的数据进入SRAM时,发现某些时候会出现死机问题。
HAL_StatusTypeDef mid_SramWrite_16b(uint32_t pAddress, uint16_t *pBuffer, uint16_t len)
{
HAL_StatusTypeDef sta;
sta = HAL_SRAM_Write_16b(&hsram1, (uint32_t *)pAddress, pBuffer, len);
return sta;
}
原因:写入数据长度必须是偶数,不能为奇数。因为需要实现字节对齐,不然下一次在写入就会出现内存崩溃问题。