Hi, I am porting my code from compiler C51 ver6.23 and BL51 to the new compiler and linker , C51 ver 7.00 and LX51 ver3.30 . This was to take advantage of the optimisation features of the LX51's linker code packing. The code when compiled and linked while disabling the Linker code packing works just fine. But once I enable the linker code packing the executable doesn't function properly on the target hardware. I feel some corruption of my data is occurring. Just by using this feature I could straight away reduce the code size by 3%. Any suggestions on how I could debug this?? And another problem I faced is untill I decalare my PDATA variables as static PDATA the LX51 linker doesn't put them into PDATA Segment...!! Thanks, -Binu
"Linker code packing is enabled for modules compiled with the objectadvanced directive. That's all that the linker code packing check box does." Do you mean that the check box controls whether the OBJECTADVANCED directive is used or not? I can see the OBJECTADVANCED directive in the compiler control string window in the C51 tab and the linker code packing check box is checked with a greyed out tick. I cannot uncheck the check box or find any other way of removing the OBJECTADVANCED directive other than disabling it for the entire project via the target options. Any ideas?
I can see the OBJECTADVANCED directive in the compiler control string window in the C51 tab and the linker code packing check box is checked with a greyed out tick. I cannot uncheck the check box or find any other way of removing the OBJECTADVANCED directive other than disabling it for the entire project via the target options. Ahh yes. I see now. Well, sorry for that suggestion. That check box was enabled in a BETA version and I thought it would continue to be available. Jon