Hi, I'm using LPC23xx family and I create option in my code to send the existing code thrue the rs485 to all other unit that are connected. I add extra memory to each unit and one (main) unit (after it updated manually -with ulink) and then it send the new firmware to all other unit. after the units gets the new firmware it automatically update using IAP the exist firmware. Everything works... I Want that the main unit send only the 'code' part of itself so it must found the end of the code. When I look at the MAP file I notice that at the end of the code there is 'Region$$Table anon$$obj.o' So if I could use this location as a parameter in my code I will know how long it is. Maybe there is other way to know the size of my code? I don't want to check every time the size and add it manually (as I do it now) ,I want it to be automatically.. Any solution?
Yes - the way to do it is to have a symbol of known name linked last. Then you know exactly how much you need to copy. You may either play with one of the Keil-supplied symbols - in this case Region$$Table$$Limit - and use that to initialize a variable. Or add your own symbol that you specify to be placed last by modifying the scatter file.