Porting ioio to other microcontroller boards

90 views
Skip to first unread message

giskard

unread,
Nov 7, 2011, 4:22:09 AM11/7/11
to ioio-users
Hi,

just wondering how difficult is it to port ioio to other
microcontroller boards and what things need to be taken
care of.

Do i just need to port the bootloader ? how much effort would it
take ?

I have an AT90USBKEY lying around which I would like to use with my
android device.

Will dig into the code but just wanted to get a feel of things before
starting out.


Thanks
Manish

Ytai Ben-Tsvi

unread,
Nov 7, 2011, 1:23:35 PM11/7/11
to ioio-...@googlegroups.com
You'd need to port everything (bootloader + app).
A lot of the stuff is pure C code, so should be easy, but there's also a lot of device-specific code, mainly using the peripherals, USB stack and all the memory bookkeeping associated with the bootloader.
You may have better luck checking out MicroBridge, which is an ADB implementation for Arduino.
BTW, how are you going to handle USB? ATtiny doesn't have USB host...


--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To post to this group, send email to ioio-...@googlegroups.com.
To unsubscribe from this group, send email to ioio-users+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/ioio-users?hl=en.


giskard

unread,
Nov 8, 2011, 12:21:23 AM11/8/11
to ioio-users
Yes was hoping to get pointers to the device dependent modules
so i know which to replace .

I'll also look into microbridge but i like ioio's concept of loading
different embedded apps ... makes it very flexible.

I am not using ATtiny, the processor is at90usb1287 which has usb otg
so hopefully that should work right ?


On Nov 7, 11:23 pm, Ytai Ben-Tsvi <yta...@gmail.com> wrote:
> You'd need to port everything (bootloader + app).
> A lot of the stuff is pure C code, so should be easy, but there's also a
> lot of device-specific code, mainly using the peripherals, USB stack and
> all the memory bookkeeping associated with the bootloader.
> You may have better luck checking out MicroBridge, which is an ADB
> implementation for Arduino.
> BTW, how are you going to handle USB? ATtiny doesn't have USB host...
>

Ytai Ben-Tsvi

unread,
Nov 8, 2011, 2:12:22 AM11/8/11
to ioio-...@googlegroups.com
Just start reading the code to get a sense of the general structure there. In short, all the ADB stuff is completely platform-independent as well as a lot of the bootloader sequence. In the app-layer, the app protocol is also platform-independent. Then you have all the flash-writing code in the bootloader and all the function modules in the app-layer (e.g. UART, PWM, etc) that are very platform-specific.
And of course, the USB stuff is not only platform-dependent, but relies heavily on the Microchip USB framework. You'll have to learn the equivalent Atmel environment.

If you're to do this porting, you should know that you're getting into a non-trivial amount of work. You'll have to re-write large portions and understand each hardware module of your target processor intimately. There's also a chance that some portions will be hard to port  due to certain features not being supported on your target device.
Having said all that, if you do go through with it, once you're done, you have really mastered your target device and several protocols. By doing so, I really learned a whole lot of cool stuff that I didn't know before.

mark gross

unread,
Nov 8, 2011, 4:03:59 PM11/8/11
to ioio-...@googlegroups.com
And check the copyright on the micro chip code.  You may need to replace it for whatever target you are thinking about due to copy right stipulations. (Note: I have not yet looked at whatever is written there but you should watch out.)

--mark
do interesting things.

Ytai Ben-Tsvi

unread,
Nov 8, 2011, 4:50:32 PM11/8/11
to ioio-...@googlegroups.com

Yep. It's free only for usage on microchip.

Reply all
Reply to author
Forward
0 new messages