We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Dear Sir/Madam I am using uvision to plan a software project which SDA555X TVText Pro from Infineon has been used in it. Now the volume of the program has been reached larger than 64KBytes and uvision messages me the error. So, would you please advise me how i can manage the settings of the uvision to handle this situation. Thanks and best regards Faranak Mahjoobi
The problem is this... The new optimization levels are NOT performed by the compiler...they are performed by the linker. Err, the LX51 Linker. In order for the linker to perform the optimizations, the compiler must generate an intermediate object file format that the linker uses to optimize. So, the only way to do linker-level optimizations is by starting in the compiler. The benefit of linker-level optimizations is that they are performed over the whole program. And, that generates better results (smaller programs). The new optimizer levels are only listed when using the LX51 linker. The optimizer level is listed in a drop-down list box and I'm pretty sure there is no way to grey out an item in the list. Also, note that the linker options change when the LX51 linker is selected. This is because the LX51 linker does a lot more stuff and offers several new features that are not found in the BL51 linker. As for the manuals, the PDF manual that comes with the tools includes descriptions of the new optimizer levels. Jon
My main program has some include files to access some functions calling them. But this has made my main program size very large. So i had to seperate the include files from main and insert them as a source file in another bank. I expected can call every function properly. But unfotunately when i began to build the rpoject, the compiler gave me error message some undefined identifier. Really the compiler did not know my functions in main program that had been defined in anothe files in anothe bank. Ofcourse i have defined the bank area correctly first. Would you please give me some advise to solve this problem Faranak
This sounds like a standard 'C' issue rather than anything to do with code banking. I think you need to read up a standard 'C' text on how to define functions in one file and call them in another. "Really the compiler did not know my functions in main program that had been defined in anothe files" Sounds like you haven't (properly) declared (as distinct from defined) your functions in your 'main' file. This is usually done by means of function prototypes in a header file (or files)
The SDA555x has on-chip banking hardware that is currently supported only by BL51. You need also a special library for this device. Please email your request along with your serial number to: support.intl@keil.com We will then send you details instructions on how to use code banking with this device.