Hi all,
I have a quick question that I've been wondering. I use IAR work bench to write C code that gets compiled to the machine instructions understood by the ARM Cortex M MCU on my TM4.
What I want to know is at some stage the machine instructions which I see as hex codes in the debugger within the disassembly view get converted to 1's and 0's by the assembler right? So when they get downloaded to the TM4C board - what memory does it go into? the 256K Ram? EEPROM? Which part of the memory?
I understand the RAM to be nothing more than an organised table of bytes which are just numbers in memory represented in binary so once compiled and downloaded the "download" process throws the assembly code into the memory as 1's and 0's right?
Is there a more elegant explanation of this process? It does intrigue me. Obviously because the TM4C has no operating system the device just has the one program we write sitting in the memory of the device which gets executed when it's turned on.
Like what I want to know as well is when we hit the download button to put our compiled / assembled code into the memory of the device is this a "file" or does it literally write the 1's and 0's to the memory in "real time" so to speak?
Sorry for all the questions but a good explanation of this to me would really satisfy my intrigue as to how this works.
How a .exe file in windows actuall works baffles me because there's the OS as well which makes it all that little more complicated. What's the key difference between say a .exe file in windows being loaded into memory as 1's and 0's compared to our simple TM4C with no OS? Is an exe file literally 1's and 0's?