Hello All,I am working with an STM32H743 and am having issues reliably erasing flash (unreliable in that it fails ~95% of the time). The code which erases flash runs from RAM (functions are allocated in RAM). I disable many of the interrupts before e...
I am trying to setup the RDP programmatically on the STM32H7. I am running the code below. All functions return HAL_OK except HAL_FLASH_OB_Launch() which returns HAL_ERROR and its unclear to me why. Any ideas on how to debug this will be helpful as w...
I am trying to flash options bytes on a STM32H7 via the code below. Both the code snippets return HAL_ERROR from the HAL_FLASH_OB_Launch(). What am I doing wrong?I am referring to the following STM32Cube example code: https://github.com/STMicroelectr...
I am writing an application and bootloader to STM32H7.I append some data to the end of the application. My bootloader needs to be able to read this appended data.When my bootloader first writes the application via (erase->write to memory).When the sy...
I am trying to read/write from backup registers in STM32H7.Below is my code:__HAL_RTC_WRITEPROTECTION_DISABLE(hrtc);
HAL_PWR_EnableBkUpAccess();
HAL_RTCEx_DeactivateTamper(hrtc, RTC_TAMPER_1);
__HAL_RTC_TAMPER_CLEAR_FLAG(hrtc, RTC_FLAG_TAMP1F);
...
Once I enabled WRP. I am getting the hard fault above on the SCB_CleanDCache() execution. Note the sectors which are being erased do not have WRP. But where this code is executing from does have WRP. I would assume the next step is to use SCB_CleanD...
1) Well, you've moved the table, but the handlers still are in the flash? or they are in .RamFunc? More likely than not they are in flash. How can I move them to Ram? Would adding the .RamFunc directive be sufficient?2) By the way alignment of vector...
Fascinating. I have added SCB_CleanDCache() as per below and now I cannot reproduce the problem. Kind of annoying since I would like to reproduce it and confirm the fix.// Invalidate data cache
SCB_CleanDCache();
// Disable interrupts
__set_BASEPRI...
Thanks for your response.(1) I had already moved the NVIC to ram (ITCM) via the following code. The systick interrupt still causes an error if I do not disable interrupts.#define VECTOR_SIZE 166
uint32_t vectorTable[VECTOR_SIZE] __attribute__ ((align...
Appreciate your support.What are the possible nasty effects? When I did not have SCB_InvalidateDCache(); the issue was still happening.Couple of follow-up questions:1) One of my possible theories for this issue is that maybe I am disabling an interru...