When I compile: Build target 'Target 1' compiling main.c... compiling Config.c... assembling L51_BANK.A51... assembling STARTUP.A51... compiling Misc.c... compiling MenuSettings.c... compiling MenuHandler.c... compiling relay.c... compiling DSP_Data.c... compiling TestAlgorithm..c... compiling comuni.c... compiling device.c... compiling KeyBoard.c... assembling PROBNA.ASM... PROBNA.ASM(1999): warning A73: TEXT FOUND BEYOND END STATEMENT - IGNORED compiling display.c... compiling MEASURE.C... compiling SomeMenuFunctions.c... compiling Menu.c... linking... *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: NEW_TICKS/MISC *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: INIT_REAL_TIME_CLOCK/COMUNI *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: PEO_DLY1/DEVICE *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: PEO_DLY2/DEVICE *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: FLASH1/DEVICE *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: FLASH2/DEVICE *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: GET_MEASURED_PRELIMINARY/MEASURE *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: SHOW_PRIMARY/MEASURE *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: GET_VT_TEST/MEASURE *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: GET_CT_TEST/MEASURE *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: SHOW_VT_PARAMETERS/MEASURE *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: GET_CT_RATIO/MEASURE *** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS NAME: SHOW_VT_D/MEASURE Program Size: data=90.0 xdata=866 const=0 code=67101 creating hex file from ".\AnalyzHEX\Meter"... ".\AnalyzHEX\Meter" - 0 Error(s), 14 Warning(s). Everithing seems to be ok.(there are some uncalled functions currently), but ... it's ok BUT !!! When I want to load it... It loads only .... about 12.4KB of the 65.5KB? Load "C:\\Documents and Settings\\Angel\\Desktop\\SilverCygnal\\FirmWare\\AnalyzHEX\\Meter" Flash Erase Done. Flash Image Update Complete. Beginning programming... Flash Program Done: 12738 bytes programmed. Flash Verify Done: 12738 bytes verified. Can someone explain why? The project settings are: Device: C8051F120 Extended Linker Memory model: small CodeRomSize: large OS: None Output hex file: HEX-386 Debug Information Browse Information C51 Code Optimization Level: 11 Emphasis: Favor size There are the following files in the output directory: 03/20/2006 05:25 PM 173,487 comuni.obj 03/20/2006 05:25 PM 18,975 Config.obj 03/20/2006 05:25 PM 49,723 device.obj 03/20/2006 05:25 PM 77,004 display.obj 01/28/2006 10:41 PM 51,587 DSP_Data.obj 01/28/2006 10:41 PM 20,480 KeyBoard.obj 03/20/2006 05:25 PM 69,933 main.obj 01/28/2006 10:41 PM 570,928 Measure.obj 01/28/2006 10:57 PM 162,343 MenuHandler.obj 01/28/2006 10:41 PM 60,438 MenuSettings.obj 03/20/2006 05:25 PM 273,746 Meter 03/20/2006 05:25 PM 45,114 Meter.hex 03/20/2006 05:25 PM 292 Meter.lnp 03/20/2006 05:25 PM 11,715 Meter.plg 03/20/2006 05:25 PM 178,004 Meter.SBR 01/28/2006 10:41 PM 213,346 Misc.obj 03/20/2006 05:25 PM 131,066 MMC.obj 03/20/2006 05:25 PM 15,664 PROBNA.obj 01/28/2006 10:41 PM 25,597 relay.obj 01/28/2006 10:41 PM 58,644 TestAlgorithm..obj 20 File(s) 2,208,086 bytes 2 Dir(s) 683,499,520 bytes free
12.4K of code sound abour right for a 45K hex file.
let us see the (top of) the M51 Erik
Sorry, I have copyed an incorrect directory listing. Here is the correct: 03/29/2006 05:57 PM 172,188 comuni.obj 03/29/2006 05:57 PM 18,657 Config.obj 03/29/2006 05:57 PM 60,557 device.obj 03/29/2006 05:57 PM 155,060 display.obj 03/29/2006 05:57 PM 55,180 DSP_Data.obj 03/29/2006 05:57 PM 24,224 KeyBoard.obj 03/29/2006 05:57 PM 1,390 L51_BANK.obj 03/29/2006 05:57 PM 118,738 main.obj 03/29/2006 05:57 PM 628,922 MEASURE.obj 03/29/2006 05:57 PM 893,826 Menu.obj 03/29/2006 05:57 PM 158,549 MenuHandler.obj 03/29/2006 05:57 PM 63,103 MenuSettings.obj 03/29/2006 05:58 PM 1,190,956 Meter 03/29/2006 04:41 PM 100,333 METER.B01 03/29/2006 04:41 PM 111,701 METER.B02 03/29/2006 04:41 PM 96,287 METER.B03 03/29/2006 04:41 PM 110,379 Meter.H01 03/29/2006 04:41 PM 123,794 Meter.H02 03/29/2006 04:41 PM 102,289 Meter.H03 03/29/2006 05:58 PM 298,775 Meter.hex 03/29/2006 05:58 PM 305,589 Meter.HTM 03/29/2006 05:57 PM 839 Meter.lnp 03/29/2006 06:47 PM 194 Meter.plg 03/29/2006 05:58 PM 823,087 Meter.SBR 03/29/2006 05:57 PM 252,019 Misc.obj 03/29/2006 05:57 PM 15,664 PROBNA.obj 03/29/2006 05:57 PM 28,262 relay.obj 03/29/2006 05:57 PM 260,265 SomeMenuFunctions.obj 03/29/2006 05:57 PM 772 STARTUP.obj 03/29/2006 05:57 PM 56,886 TestAlgorithm..obj 30 File(s) 6,228,485 bytes 2 Dir(s) 672,133,120 bytes free And what is M51 ?
And what is M51 ? the .m51 file that the linker generates Erik
Here it is: BL51 BANKED LINKER/LOCATER V5.11 03/29/2006 16:41:16 PAGE 1 BL51 BANKED LINKER/LOCATER V5.11, INVOKED BY: C:\KEIL\C51\BIN\BL51.EXE COMMON {.\AnalyzHEX\main.obj}, COMMON {.\AnalyzHEX\TestAlgorithm..obj}, COMMON {.\AnalyzHEX\PRO >> BNA.obj}, COMMON {.\AnalyzHEX\KeyBoard.obj}, COMMON {.\AnalyzHEX\device.obj}, COMMON {.\AnalyzHEX\display.obj}, COMMO >> N {.\AnalyzHEX\comuni.obj}, COMMON {.\AnalyzHEX\Config.obj}, COMMON {.\AnalyzHEX\L51_BANK.obj}, COMMON {.\AnalyzHEX\S >> TARTUP.obj}, BANK1 {.\AnalyzHEX\relay.obj}, BANK1 {.\AnalyzHEX\DSP_Data.obj}, BANK1 {.\AnalyzHEX\MenuSettings.obj}, B >> ANK1 {.\AnalyzHEX\MEASURE.obj}, BANK2 {.\AnalyzHEX\Menu.obj}, BANK3 {.\AnalyzHEX\MenuHandler.obj}, BANK3 {.\AnalyzHEX >> \Misc.obj}, BANK3 {.\AnalyzHEX\SomeMenuFunctions.obj} TO .\AnalyzHEX\Meter BANKAREA (0X0000, 0X7FFF) PRINT (.\Meter.m >> 51) RAMSIZE (256) XDATA (0X0000-0X7FFF) MEMORY MODEL: SMALL WITH FLOATING POINT ARITHMETIC INPUT MODULES INCLUDED: .\AnalyzHEX\main.obj (MAIN) .\AnalyzHEX\TestAlgorithm..obj (TESTALGORITHM_) .\AnalyzHEX\PROBNA.obj (PROBNA) .\AnalyzHEX\KeyBoard.obj (KEYBOARD) .\AnalyzHEX\device.obj (DEVICE) .\AnalyzHEX\display.obj (DISPLAY) .\AnalyzHEX\comuni.obj (COMUNI) .\AnalyzHEX\Config.obj (CONFIG) .\AnalyzHEX\L51_BANK.obj
I just have compiled the AN130 from sillabs. There also uVision2 reports 2k when compiled, and 1k when loaded, but works ... maybe that is bug like a what is the size of the last bank loaded on the chip... I don't know ... I will cut mu code to some hello world functions from the different banks ...