I am designing an application to run on the Si Labs C8051F046 MCU with uVision 3. Yesterday I created a new project, but forgot to include one of the source modules. This produced a line during the link in the Output Window:
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
============================================================ Gary Lynch | To send mail, change no$pam in lynchg@no$pam.com | my domain name to stacoenergy
There seems to be two communities of users of the Keil '51 software: There is the "C is C" community that refuse to accept that the '51 is weak in certain respects which makes it advisable to avoid certain constructs. I guess that those also do not use the unique features of the '51 that makes it strong in other respects: I implement a state machine with a table of function pointers Then there is those that adapt to the realities: Personally, I'd have loved to have used my normal function-pointer table approach to FSMs, but found all the manual Linker tweaking far too risky - so I used switches instead. Erik
I think it should be possible to use function pointers in C51 without having to manually tweak the Linker's call tree? On the other hand, I know that the switch approach works. Hence my choice!
I think it should be possible to use function pointers in C51 without having to manually tweak the Linker's call tree? But you have nevertheless accepted reality :) Everyone has something they would like to see different, it may and may not be included in the next release. Do I have 'things', absolutely. Do I sit doen and whine about them? abaolutely not. Now, for a real BUG. I would send 47 e-mails every day till it was fixed. Erik