Bootloader for XMOS?

Technical questions regarding the XTC tools and programming with XMOS.
User avatar
monk_is_batman
Active Member
Posts: 38
Joined: Wed Jun 09, 2010 3:20 am
Location: Maine, USA

Bootloader for XMOS?

Post by monk_is_batman »

I received a comment on my project asking about whether some code-loading routines could be turned into a bootloader for the XMOS. I was so interested I though I would try starting a thread and see what kind of other interest there is in the community and how useful it would be.
Any thoughts on implementing a bootloader e.g. over UART using the same code-loading routines you already have? Looks like a great project!
So if you're interested post on here what kind of a setup you would be using a bootloader in and how much it would benefit your project.

My only current XMOS platform is an XC-1A so for the most part a bootloader wouldn't save me any hardware, but it could lead to the capability of wireless programming, which could be nice.


User avatar
bsmithyman
Experienced Member
Posts: 126
Joined: Fri Feb 12, 2010 10:31 pm

Post by bsmithyman »

I definitely like the idea for a few reasons, wireless bootloading (e.g. over bluetooth or xbee) being one of them. Additionally, it would potentially decrease the cost and footprint of some designs by removing the need for an XTAG2 and header. I think it's likely SFE, for example, would welcome the chance to make a board that uses their standard 6-pin UART header (possibly including an unpopulated set of XTAG pads).

Not requiring any special hardware is one of the reasons Arduino has taken off, which is also making Atmel chips highly desirable and easy to transition to for new developers. This also seems like a smart way to design a small stamp-like board, where the standard header is potentially a large percentage of the board size. From a software point of view, it would simplify bootloading via another system (e.g. an embedded Linux board) that isn't capable of running the full XMOS toolsuite.

In terms of implementation, it seems like both live bootloading and flashing to SPI would be important features. There's also the question of a remote reset capability if using wireless bootloading; this might be hardware specific.
User avatar
skoe
Experienced Member
Posts: 94
Joined: Tue Apr 27, 2010 10:55 pm

Post by skoe »

A week ago or two I finished a bootloader which can update itself and the main application from an SD-Card. Should be easy to change it to use other sources and other flash ICs.

If anybody is interested, it's in the Easy41 code repository.

Sorry, monk_is_batman, didn't want to hijack your thread.