I am trying to use sdcc to program cc2430. The assembly code I am generating is exactly the same as the code generated by a commercial compiler from IAR but when I download my hex files onto the board, nothing works.
After careful evaluation of the hex file, I did not find anything wrong with them except for the fact that the arrangement is out of order. The placement on memory keeps jumping around in no sensible pattern.
I have reproduced below the hex code that I got for a simple program that turns on the green LED and then loops forever.
:03 0000 00020019E2
:03 0072 0002000386
:10 0003 0012000880FED29743FE0153F4FEC297808C
:02 0013 00FE22CB
:06 0048 00E478FFF6D8FD8C
:10 0026 007900E94400601B7A0090007578007593AA
:10 0036 0000E493F2A308B800020593D9F4DAF27546
:02 0046 0093FF26
:10 004E 007800E84400600A7900759300E4F309D85B
:10 005E 00FC7800E84400600C7900900000E4F0A306
:04 006E 00D8FCD9FAE7
:0D 0019 00758107120015E5826003020003E7
:04 0015 0075820022CE
I have spaced out the address bits in the code. As you can see, the code is placed in some strange pattern. Could this be the reason my code is not working? Is there a way to fix this?