Reasons for Bus Error when using IntFlash Processor Expert component?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When using IntFlash component with the configuration showed, I get BusErrors when using communication
using the SynchroSerial component, I've checked the Wait in RAM option, so there shouldn't be any Bus Errors. The error
happens everytime I use the application with debugger, but only seldom times when is running standalone (i'm catching
all resets in the application at startup)
I'm using CodeWarrior 10.3 with Processor Expert for MCU Version 10.0.0 Build: S_RT2_b1248-1334
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
When you program a flash memory you must ensure that the block of the flash memory is not accessed by any MCU device (CPU, DMA and so on). When you program a flash memory block where the interrupt table (or the interrupt routine) is placed and an interrupt is invoked the BusError occur because you program the same block of memory as it is access by CPU (access to vector table and/or interrupt routine). You must ensure that no interrupt is invoked, e.g. disable all interrupts by Cpu_DisableInt method.
See also the Flash memory configuration - number of Flash memory blocks that are available for the MCU derivative you are using.
Note: When you use UART with DMA the DMA cannot access the flash memory block during execution of write/erase operation (it causes the bus error too).
Best Regards,
Marek Neuzil