PDA

View Full Version : 8051 running hex file loaded in memory


carlos villarino
03-06-01, 12:13 PM
I have a NMIY-0031 board. I tried to execute a hex file, but I donīt known in what position of memory starts.<br>How can I get start position of my hex file to make the command X <position>?

nmitech
03-06-01, 01:35 PM
Here is the memory map of the NMIY-0031,<br>U2 - monitor eprom installs (0x0000 - 0x1FFF program memory socket, it can be expanded up to 0xFFFF)<br>U3 - Manufacture default 8 K SRam installs. (0x8000 - 0x9FFF program/data memory socket. It can be expanded up to 0xFBFF)<br>U4 - empty (0x0000 - 0x7FFF data memory socket.<p>Your code address must set based on the memory above, in this case when you use with the Monitor, your code now must place in the program/data memory U3. You can start your code anywhere from 0x8000 up to your limit of the memory available on your board. You must know where you set your code address in the programm in order to execute your code.<br>

gmontie
06-21-01, 10:18 AM
Hi
Where does the monitor load my Intel hex code when I use the 'L' command?
Once the re-locatable code is loaded do I use another monitor command to put the
code at 0x8000h? Do I use the 'X' command giving it the argument 08000 to jump
to where my starts? Also do I have to include startup code - as if I'm programming
my own raw 8031 board?

Thank you

nmitech
06-21-01, 01:05 PM
The Monitor loads the code based on the intel hex file
and the intel hex generated based on your code address.

I.E. if your program reset vector contains ORG 0x8000 the monitor will load your code at 0x8000, Regardless of what device memory you have at 0x8000 because the monitor does not verify. So make sure you have the Ram install where you want to put your code. By manufacture default, the Ram is installed on U3, memory start at 0x8000 - 0x9FFF for 8K-Byte ram.

Once the code is loaded, you must use the command "X 8000" to execute your code.