Hi all I've an application which uses 4 banks an I can compile it without problem using uvision with L51 linker, but when I change my configuration to use LX51 (Use Extended Linker and Extended Assembler) from "Options for target" menu at "Device" Tab, my project gives following error and I can't build my project.
*** ERROR L204: INVALID KEYWORD POS: 4099 ANKAREA (0X002000, 0X00FFFF) PRINT (.\LCD1.map) IXREF IBANKING BANK0 (
it's teling you that the 'BANK0' keyword is invalid - check the Manual
I've fixed some error but now uvision2 dont gives following error.
*** ERROR L210: I/O ERROR ON INPUT FILE: EXCEPTION 0021H: PATH OR FILE NOT FOUND FILE: C:\KEIL\C51\LIB\L51_BANK.OBJ
You're talking about two different linkers (BL51 and LX51) - so it is not unreasonable to expect that they do things differently! You will need to check the manuals for both linkers and spot the differences! Have you checked that L51_BANK.OBJ exists, and is in the specified directory? What is your specific reason for moving from BL51 to LX51?
***************** My reason ( Motivation ) earn additional space with using LX51 because I saw that ( from my previous build experiences ) with LX51 I can earn 2 KB space with " Code Packing " option which is available only for LX51 suite. ****************** there is no such file at my project but there exist a L51_BANK.A51 file ( I guest I've to change it for my target system ). After I choose LX51 with "Code Packing" uvision start to ask for this file.
"( I guest I've to change it for my target system )." Don't guess! Read the manual and find out for sure! Also check-out the Application Notes & Knowledgebase. No doubt there will also be explanatory comments in the source file...