I just updated from 5.7 to 6.0 of the STM platform. My previously working code is now broken. I have identified 2 differences:
My interrupt routines that had the flag clearing anywhere except VERY FIRST THING all failed, mocing the register clear to be the very first command in the functions fixed this.
The following code is compiling, but then failing, It is part of the statistics displaying for freeRTOS. It uses a few structs to describe a task and then creates an array of them. It fails on the last line starting with “memset”. Not sure what the problem is:
uart1_printf("Starting task manager\n"); signed char *pcWriteBuffer; TaskStatus_t *pxTaskStatusArray; volatile UBaseType_t uxArraySize, uxArraySize2, x; unsigned long ulStatsAsPercentage, ulTotalRunTime; /* Make sure the write buffer does not contain a string. */ /* Take a snapshot of the number of tasks in case it changes while this function is executing. */ //uxArraySize = uxTaskGetNumberOfTasks(); /* Allocate a TaskStatus_t structure for each task. An array could be allocated statically at compile time. */ uart1_printf("Creating task array\n"); pxTaskStatusArray = (TaskStatus_t*)pvPortMalloc( uxArraySize * sizeof(TaskStatus_t)); uart1_printf("Allocating task array\n"); memset(pxTaskStatusArray, 0, uxArraySize * sizeof(TaskStatus_t));