I have an NXP MCU connected to FRAM flash over a SPI peripheral connection. I am trying to create a flashloader for the MCU that can program, erase, and read data from the FRAM chip.
Currently everything appears to be working in Debug mode in SES. I have some dummy data in the main.c file and can read, erase or program the FRAM. However, it doesn't work as well in JLink or JFlash using the Release version.
In JFlash I can't do anything, it says that the FRAM flash bank is overlapping with the internal flash of the MCU. The internal flash of the MCU starts at 0x0 and is 0x00100000 bytes (1 MB). I currently have the FRAM flash bank base address set at 0xE0083000 and it is 0x20000 bytes (128 kB) long. I wasn't sure what the base address should be but in the MCU reference manual, it said that area wasn't used. So I don't see how those are overlapping at all. (this first issue isn't that big of a deal because ultimately I plan on using JLink Commander with script files to automate things and JFlash won't be used but its still odd)
However, I can erase parts of the FRAM flash bank in JLink Commander (and I can verify that the erase operation worked by reading the flash back in SES debug mode). However, I can't read the flash data properly in JLink Commander because when I use the "mem" command and do something like this:
It just returns the memory at the address 0xE0083000 in the MCU. So how can I read back the memory at address 0x0 in the FRAM flash? Ultimately I would want to use the SaveBin command but that just reads back the same data as the mem command.
Currently everything appears to be working in Debug mode in SES. I have some dummy data in the main.c file and can read, erase or program the FRAM. However, it doesn't work as well in JLink or JFlash using the Release version.
In JFlash I can't do anything, it says that the FRAM flash bank is overlapping with the internal flash of the MCU. The internal flash of the MCU starts at 0x0 and is 0x00100000 bytes (1 MB). I currently have the FRAM flash bank base address set at 0xE0083000 and it is 0x20000 bytes (128 kB) long. I wasn't sure what the base address should be but in the MCU reference manual, it said that area wasn't used. So I don't see how those are overlapping at all. (this first issue isn't that big of a deal because ultimately I plan on using JLink Commander with script files to automate things and JFlash won't be used but its still odd)
However, I can erase parts of the FRAM flash bank in JLink Commander (and I can verify that the erase operation worked by reading the flash back in SES debug mode). However, I can't read the flash data properly in JLink Commander because when I use the "mem" command and do something like this:
It just returns the memory at the address 0xE0083000 in the MCU. So how can I read back the memory at address 0x0 in the FRAM flash? Ultimately I would want to use the SaveBin command but that just reads back the same data as the mem command.