I don't know how to compile software for a Palm. On a Palm? With a crosscompiler on PC? But I guess there is a C compiler, and the bit size is 32 bit. Then it shouldn't be a great problem. Just adapt the routines for opening, reading and writing to serial ports and network connections to what Palm OS provides.
Thomas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There is a SDK and GCC to compile applications for Palm. Every application can be tested on an emulator which is running on Linux and Windows and has a serial port.
I've tried to compile it (at first: nodave and testMPI). Therefore I defined __palmos__ like AVR to reduce the compiler errors.
But now I get errors where I've no idea what that means like:
"Signed .word overflow; switch may be too large; 33584 at 0x264"
I mean that is a wrong compiler-/linker-switch...
Joe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think it's because a signed word with 16 bits has a maximum value of 32767, and there was an attempt to write the value 33584 to a signed word, which results in that error. Libnodave expects the width of an integer with 32 bit, and it seems that it's 16 bit on a Palm.
Axel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I guess the error must be in daveStrerror which returns a message text for an error number. As error numbers can be greater than 32767 AND less than 0, the best way would be to use a 32 bit signed integer as int is on LINUX. Try to find a type for that. Than introduce a conditional define #ifdef __palmos__ and declare the parameter to daveStrerror to be of that type in case of __palmos__. If for some some reason the compiler cannot generate switch statements based on that type, than consider to split the switch statement into three, for <0, for 0 to 32767 and for >32767.
Thomas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
is it possible to compile the library to run on a Palm because such devices you can get very cheap now.
Would be great for some quick diagnostics.
Joe
I don't know how to compile software for a Palm. On a Palm? With a crosscompiler on PC? But I guess there is a C compiler, and the bit size is 32 bit. Then it shouldn't be a great problem. Just adapt the routines for opening, reading and writing to serial ports and network connections to what Palm OS provides.
Thomas
There is a SDK and GCC to compile applications for Palm. Every application can be tested on an emulator which is running on Linux and Windows and has a serial port.
I've tried to compile it (at first: nodave and testMPI). Therefore I defined __palmos__ like AVR to reduce the compiler errors.
But now I get errors where I've no idea what that means like:
"Signed .word overflow; switch may be too large; 33584 at 0x264"
I mean that is a wrong compiler-/linker-switch...
Joe
I think it's because a signed word with 16 bits has a maximum value of 32767, and there was an attempt to write the value 33584 to a signed word, which results in that error. Libnodave expects the width of an integer with 32 bit, and it seems that it's 16 bit on a Palm.
Axel
Yes, probably you are right. That is my guess too. Because _every_ error has a value > 32767.
I'll think about how can I fix this problem with a minimum of costs (if it is possible).
Joe
I guess the error must be in daveStrerror which returns a message text for an error number. As error numbers can be greater than 32767 AND less than 0, the best way would be to use a 32 bit signed integer as int is on LINUX. Try to find a type for that. Than introduce a conditional define #ifdef __palmos__ and declare the parameter to daveStrerror to be of that type in case of __palmos__. If for some some reason the compiler cannot generate switch statements based on that type, than consider to split the switch statement into three, for <0, for 0 to 32767 and for >32767.
Thomas