Hello,
I'm creating an application which runs on Dallas 89C450 microcontroller. My application uses RTX-51 Full RTOS. The versions of the tools which are integrated into my IDE are like below:
C51 Ver: 7.50 A51 Ver: 7.10
My application used to work fine but I was having problems with my available code space. So, I decided to port my application to LX51 Advanced Linker V4.24 in order to use its code packing feature. But my application started malfunctioning after enabling code packing.
What might be going wrong? How can I solve this problem? Using code packing feature is quite important for me because it seems that it would solve my problems with available code space if it worked fine.
Please send me your opinions and advises. This is an emergency case.
Best regards...
After enabling 9th optimization level and code packing, it seems that a line is not being executed in one of my tasks.
That's probably a misinterpretation. The way opt 9 and higher work means that it becomes impossible to find out whether a given line of code is executed just from stepping through the C source code in a debugger. You have to look at the assembly code.
But I would expect the code to crash entirely because of a stack overflow.
That expectation means you have some serious misconceptions about how the 8051 architecture works. The 8051 stack mechanism doesn't have a solid wall it'll run into and crash.