| ??? 11/02/07 19:16 Modified: 11/02/07 19:19 Read: times |
#146524 - Porting FreeModbus |
We're considering porting freemodbus to a SiLabs C8051F41x. Has anybody tried doing this before? Is this even feasible given the HW constraints?
So I took some time to try this out - and after removing some unused code (we're just doing simple ASCII read/writes from a holding register over RS485), changing some 16-bit counters to 8-bit, and selecting "Large: variables in XDATA" in Keil, we still get "UNRESOLVED EXTERNAL SYMBOL" warnings for a good number of functions in the freemodbus code. *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: _?EMBFUNCREPORTSLAVEID MODULE: mb.obj (MB) *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: _?EMBFUNCREADHOLDINGREGISTER MODULE: mb.obj (MB) *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: VMBPORTCLOSE MODULE: mb.obj (MB) *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: _?EMBFUNCWRITEHOLDINGREGISTER MODULE: mb.obj (MB) *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: _?EMBFUNCREADDISCRETEINPUTS MODULE: mb.obj (MB) *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: _?EMBFUNCREADINPUTREGISTER MODULE: mb.obj (MB) (etc...) Program Size: data=17.1 xdata=373 code=7062 Do I have to do something special to tell the compiler to look for these functions which I think may have been moved to XDATA? If they're not in XDATA, then where did the compiler put them? |
| Topic | Author | Date |
| Porting FreeModbus | 01/01/70 00:00 | |
| they are not | 01/01/70 00:00 | |
| Is this even feasible | 01/01/70 00:00 | |
| compiler warnings | 01/01/70 00:00 | |
| The table and function pointer | 01/01/70 00:00 | |
More on function pointers in Keil C51 | 01/01/70 00:00 | |
| more porting to do | 01/01/70 00:00 | |
| You mean linker | 01/01/70 00:00 |



