- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello all,
I have an issue trying to erase the Flash memory and specifically any sector above S8 of XMC4800. I am using the following function:
XMC_FLASH_EraseSector((uint32_t*)0x0C040000);
and it completely freezes the microcontroller when running over this command. In the other hand the following
XMC_FLASH_EraseSector((uint32_t*)0x0C020000);
It succeeds. My firmware is running in S0-S4. The weird thing is that if I use the XMC4800_E196x2048 version it works but I my board has the XMC4800_F144x2048. Is anyone aware of any errata related?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I was able to track down the problem. So during the Flash erase the MCU is consuming significantly more power than in normal operation causing by power supply to be unstable but without droping completely the voltage. This behavior caused the MCU to hang in a very unknown state.
The XMC4800F100 looks like is consuming a bit more power than is documented during at least the flash erasing in maximum CPU freq
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Thank you for contacting Infineon Technologies. Can you please share the screenshot of the issue and if possible send the code.
Thank you
Regards,
Bushra
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Can you please provide full MPN of the Flash memory you are using?
Thank you
Regards,
Bushra
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello BushraH,
The uC I am using is XMC4800F100K2048 (AA 84pkva73x08 G2023)
hope that helps
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is the main.c of the project, the project is just newly created as Dave simple main project and everything is the default. Attached you can find the dave project as zip file.
The code will go through the erase of sector 8 but will hang during erasing of sector 10
/*
* main.c
*
* Created on: 2022 Mar 02 10:04:07
* Author:
*/
#include "xmc_common.h"
#include "xmc_flash.h"
/**
* @brief main() - Application entry point
*
* <b>Details of function</b><br>
* This routine is the application entry point. It is invoked by the device startup code.
*/
int main(void)
{
XMC_FLASH_EraseSector(XMC_FLASH_SECTOR_8);
XMC_FLASH_EraseSector(XMC_FLASH_SECTOR_10);
/* Placeholder for user application code. The while loop below can be replaced with user application code. */
while(1U)
{
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Bushra,
I also realized that the problem is not consistant through the 25 PCBs I have but with some of them I cannot even erase the S8. So is it possible that somehow the Flash memory is corrupted and if so is there a way to repair each sector?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Bushra,
Do you have any news regarding this issue?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Is this the custom board you are using ? When the failure is happening is the control is going to any fault handlers ? Have you been able identify the fault if that is happening at your end ?
Best Regards,
Vasanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I was able to track down the problem. So during the Flash erase the MCU is consuming significantly more power than in normal operation causing by power supply to be unstable but without droping completely the voltage. This behavior caused the MCU to hang in a very unknown state.
The XMC4800F100 looks like is consuming a bit more power than is documented during at least the flash erasing in maximum CPU freq