I am looking for to find a way to define the placement of codes, for instance , I want to write bootloader program and as you well know , these codes have to be placed in specific address , Also, I want to know how can call this function which will be placed in specific address , is there any differences between calling the normal functions and this kind of functions?
'#pragma location=foo' or '@' places the functions, whose decleration follows the pragma in segment 'foo'. This way you can set it in a specific segment & you can control segment's address. For this you have to use additional commands to linker in either XCL file or in dialogs of IDE.
It is better for you to read carefully Compiler Ref Manual, specifically topics- 'Controlling Data & Function Placement' and 'User Defined Segments'.
Once done, turn ON all warnings & errors, especially segment overlap warnings and build it. No errors/warnings should be generated. To be sure check the map file & see nothing inCODE overlaps.