Executing a full software from RAM

Go To Last Post
5 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello,

 

I need to execute a software from the internal SRAM on an ATSAM4E8E microcontroler but I do not find how to use Atmel Studio 7 to do that. 

My software is correctly compiled in RAM (verified using map file).

 

What is the procedure, using ATMEL Studio, to load a software in RAM and to execute it (I do not want to modify the FLASH) ?

 

Regards

Olivier

 

Last Edited: Tue. Feb 12, 2019 - 01:37 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Does somebody knows how to do that ? 

I'm working for 15 years on embeded software and it is the first time that I do not find a simple way to do that with a debugger...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You can run from SRAM with any ARM.    You select the appropriate style in Rowley.  

 

I presume that you choose an appropriate startup.S file in Keil or other IDEs

 

I would expect the debugger to debug the ARM however it is used.

Why do you want to run from SRAM?

Embedded programs "feel" safer from Flash.

 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello David,

 

I need to execute a software loaded in SRAM by the BOOTROM. I do not want to execute this software in flash as this is a simple tool and not the operating software (stored in flash).

 

My issue is coming from ATMEL Studio which looks like to not provide any way to simply load and debug a software mapped in RAM

 

Olivier

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't know the answer.   However Rowley loads the "flash programmer" into SRAM.   And executes this from SRAM.

 

I have never investigated how it works.    I presume that all other IDEs do something similar.

 

Why do you care?    I would assume the Loader "works 100%".    I only worry about debugging my errors in the application Flash.

 

It sounds a bit like trying to debug an AVR Bootloader.    Just treat it as an application that runs from a special address,   reads from UART, USB, ... and programs the "User application area" with binary data.

 

David.