STM32 SRAM写入16位数据时死机问题

时间:2024-10-30 12:35:29

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;
}

原因:写入数据长度必须是偶数,不能为奇数。因为需要实现字节对齐,不然下一次在写入就会出现内存崩溃问题。