Hi, my programme is loaded to flash memory of my arm, but it is executing in arm's ram (i achived it using scatter file). I generated a hex file. I also generated hex file for same programme which is loaded to flash and is executing in flash. All above i did in keil uVision. Both hex files are the same. I want to load hex file in an other way then keil IDE. And here is my question: is it possible that hex file would have information where code should be executed. or is it caused by keil ide. i also would like to know how it works in keil and is it possible to execute code in arm's ram if i would load a hex file even with a simple programme. Thanks in advance
A PC program can't just copy a hex file into your ARM chip.
Depending on what processor you use, there are a number of tools specially designed for downloading firmware. FlashMagic is a good tool to program NXP chips.
What is SAM-BA? Do you mean the Samba program for Windows SMB networking and available for Linux and BSD machines? In that case, you will not be able to use file-sharing to copy a hex file into your ARM chip unless you implement networking and file-system support in the ARM chip. And it would still be a sub-optimal way of loading new firmware since the framework application would be a truly huge bootloader...
Pc application whiich is a tool designed for downloading firmware. I mean Atmel's SAM-Ba. I made a mistake. I compare two same hex files that is way they were the same. but few moment ago i compare hex file with code executed in flash and code executed in Sram and there are many diffrences. I believe that just hex file will do the work. But i must check this out. thanks again
Note that the ARM compiler can produce location-independent code that only contains relative references, allowing the code to run at different locations.