On 2012-02-13, at 8:25 AM, Attila Lendvai wrote:
If the configure script and makefiles are not working for you in your environment, you could simply call the C compiler on all the .c files. An example of this is in misc/vcexpress.bat (that's for Visual C++ Express, but just use it as a template to call the C compiler in your SDK).
thanks, that's good to know!
- modular compilation, because e.g. there's no floating point on the device
What do you mean by "modular compilation"? This might be a problem because Gambit represents time information (such as timeouts) using floating point numbers. Isn't there a floating point software emulation of some sort?
not a properly setup one for sure. they only give me years old gcc versions compiled for cygwin... argh!
to be honest, i'm amazed by the incompetency of the support they have. how do they want to sell their devices??? e.g. i need to send 5 mails to get all the tools needed to compile and flash the example app. then they send me out of sync stuff, doc newer then the API libs and incompatible, etc...
my plan for now is to compile the scheme VM and a smaller loader/bootstrap code that can download, signature check and eval scheme bytecode/text, which will be the program implementing the actual business logic.
Sounds neat!
it may sound neat, but it's a much more rough road than what i expected...
for now i've managed to compile chibi for the better vega5000 device, write some bootstrap code in C that reads and executes a main.scm file that prints hello world.
but the edit/compile/run turnaround circle is still some 5 mins with everything possible automated. and that's unbearable for my mind spoiled using CL and slime... :)
Do you need to compile at every iteration of the development cycle, or can you use an interpreter? With Gambit I typically compile the files which implement the FFI, and then I use the interpreter to develop the main application.
if i can reach a point where the bootstrap code can download and run scheme from the net, and log stuff to the net which shows up on my laptop, then this will go down a lot lower, but seems like there's still a long way there.
i'm planning to try lua also, because it has a history of embedded device use, so maybe the roads that way are more cleared.
as of gambit, it's still on my radar, but the float issue is quite a bit of headache. i may try to ask for the gcc config/sources so that i can compile a properly configured one for myself on linux, but given the incompetency of the SDK itself, i have doubts about whether i should even ask for it..x.
Gambit used to work without the need for a floating point unit. Eventually Gambit started using floats to simplify some things (like fine granularity timeouts, and multiplication of large bignums using FFT). In general, there are few dependencies on floating point, so if you don't need these things, you can probably provide a floating point emulation layer that always returns 0.0 as a result for all operations and I'm 99% sure that Gambit will still "work".
Marc