As of 2/16/12 the usb_cdc_acm.c library cannot compile on Linux Mint 12 64-bit with SDCC #5416 (Feb 3 2010) (that's all 'sdcc --version' gives me).
There are multiple structs defined in the usb.h library header in the form:
typedef struct STRUCT_NAME
usb_cdc_acm.c attempts to use the types 'struct STRUCT_NAME', when it should just use 'STRUCT_NAME'. It compiles without trouble after changing all occurrences.
It may be that it would compile fine with a current version of SDCC (I haven't tried yet), but the version I have is the one currently in the Apt repositories, so I figure it's the version that most Mint/Ubuntu users would have.
usb_cdc_acm library: Got rid of unnecessary uses of the word "struct"…
…. This fixes #1 ( #1 ) but I'm not totally sure that the Wixel SDK will function properly with versions of SDCC prior to 3.0.0.
Hey alexanderhiam. Sorry for taking so long to respond to this! It sounds like you have a version of SDCC prior to 3.0.0 because 3.0.0 was released on 2010-11-01. The last time I checked, Ubuntu 10.04 also had an old version of SDCC. We recommend using SDCC 3.0.0 or later with the Wixel SDK even if you have to compile it from source.
I fixed the issue as you requested but I'm still not convinced that the Wixel SDK will work on versions of SDCC prior to 3.0.0.
When we upgraded our development to SDCC 3.0.0, I had to change the way that we're defining the addess of the XPAGE register and some other things, so I'm not sure that the current wixel-sdk code will work. You should take a look at your app's map file and make sure that the address of XPAGE is 0x93. The .map file should have a line that is something like:
00000093 __XPAGE xpage