Hello,
I have followed procedures as shown below (in RED) using the PGA900 GUI and the USBTOANY interface board.
I can not get a simple application that sets the GPIO1 output high. I am doing this because I want some indication that the remapped software does actually execute. We are having a very difficult time using the PGA900EVM and GUI. Nothing seems to work. Is there something I am missing in order to have the remapped hex file code run?
After I download the new hex file into DEVRAM I set the REMAP bit and start the microcontroller.
The PGA900 GUI indicates that the REMap register is set to use the new hex code and the microcontroller register indicates that the microcontroller is running. Yet nothing works. I am measuring the GPIO1 output and it stays low.
FYI, I can use the PGA900 GUI to manually set the GPIO1 as an ouput and set the GPIO1 HIGH. So, I know I am on the correct test pin on the PGA900EVM.
I also don't see how your procedure to load a hex image into DEVRAM located at 0x21000000 then set the DEVRAM to look at 0x00000000 and restart the microcontoller can work.
I would assume that the microcontroller will start at 0x00000000 which is also the OTP. Well if the new image is loaded at 0x21000000 but the microcontroller runs from 0x00000000.
How then is the new code possibly going to run?
With that thought in mind I also attempted to load the new hex image into DEVRAM with it remapped to 0x00000000 ie REMAP bit set. Then restart the microcontroller. If the microcontroller starts at 0x00000000
and the new hex image is loaded at 0x00000000 well it has no choice but to run the new application right? No it does not work.....
I can only assume that either the operation is some how flawed or my application starts but crashes immediately. If its crashing, I have no visibility into that without the Debug probe.
Procedure as per Matt Sullivan:
To program in DEVRAM, make sure to put the microcontroller into reset by pressing the the button on the top left corner of the GUI. (Or you can write a 0x03 to the MICRO_INTERFACE_CONTROL register in the low level page).
Then you can program the device using the DEVRAM programming instructions as you had followed in the User's Guide.
After that, Press the button that says "REMAP Disabled" on the programming page to enable REMAP. This maps the DEVRAM in the correct location for operation with the M0.
From there, you need the memory loaded into the microcontroller, so take it out of reset by pressing the button on the top left again.
Procedure as per Javier Valle:
When REMAP bit is 0
- DEVRAM is at 0x21000000
- OTP is at 0x00000000
When REMAP bit is 1
- DEVRAM is at 0x00000000, that is it overlays the OTP
- OTP is at 0x00000000
The DEVRAM downloader in the PGA900GUI has been coded to download the hex file to memory address starting at 0x21000000. That means, you have to have REMAP bit set to 0 before downloading software to DEVRAM. So the sequence for downloading and executing out of DEVRAM is:
- Reset MICRO
- Set REMAP to 0
- Download to DEVRAM
- Set REMAP to 1
- Unrest the Micro
It would be very helpful if someone can respond with some suggestions.
Thank you,