3 ms·
Great article and well timed for me. I've been toying with the idea of trying to bring a Go program up on the following (as I have a couple lying around): htt
by eckyptang 14y ago
Great article and well timed for me.
I've been toying with the idea of trying to bring a Go program up on the following (as I have a couple lying around):
https://www.olimex.com/dev/lpc-e2468.html https://www.olimex.com/dev/lpc-e2468.html
The only problem is that it doesn't support "normal" linux - uCLinux only.
- 4ad 14y agoI did a quick grep of the go tree to search things that are unsuported by uClinux, but I haven't found any. It might just work. edit: the CPU is ARMv4T, the gc Go compilers generate code only for ARMv5 and higher, so it will not work.
- eckyptang 14y agoThanks much appreciated!! Go's syscall interface looks clean so it wouldn't be too much to deal with either way. I'd be happy with put+get char to start with! I don't mind writing a new backend as the compilers are quite easy to work with by the looks. Plus it'll exercise my brain more than typical CRUD apps.
- 4ad 14y agoThe C compiler in the Go tree that's used to compile the C bits of the runtime already supports ARMv4 (unsurprisingly, since it was written a long time ago for Plan 9 and Inferno), only the Go compiler would need modifications. The compiler suite is a pleasure to work on, really clear code, just like all the other code Ken Thompson wrote. Good luck.
- eckyptang 14y agoEven nicer. Thanks for the info. I'll submit results if I get anywhere - might take a month or two :-) Currently trying to a (any) toolchain online first to test the board and get a ucLinux kernel up (gcc cross-compiler + OpenOCD + Olimex ARM-JTAG + ThinkPad Ultrabay parallel port stack should be 'fun').
- eckyptang 14y agoReplying to myself. ucLinux + hello world + gdb via OpenOCD online at 4AM :) Now for the go toolchain...