Go Down

Topic: Tools to develop 32U4 bootloader (Read 379 times) previous topic - next topic

liuzengqiang

Last time I did this with caterina bootloader fro 32U4 was a few years ago. I remember that the last version that included make.exe which was needed to make the bootloaders was included in IDE 1.0.6 but not included in later versions. A project I am doing now involves 32U4 bootloaders. I checked my IDE 1.8.4 today and it doesn't include make.exe.

So is it correct to assume that I need IDE 1.0.6 to tweak bootloaders or is there another version if IDE that includes the tools as well? Or do I have to get AVR GCC tool chain just to tweak a line?

The good news might be that there has been little change to the bootloaders since I left off:


https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/caterina

Thanks.
Serial LCD keypad panel,phi_prompt user interface library,SDI-12 USB Adapter

pert

There has never been a version of the Arduino IDE that included make since 1.0.6. That's still a reasonable place to get it, or you can get it elsewhere.

liuzengqiang

Thanks Pert. I'll find out which version of LUFA I can install with that version of AVR toolchain. Last I recorded in my notes was a version dated March 1 2014 :)
Serial LCD keypad panel,phi_prompt user interface library,SDI-12 USB Adapter

westfw

Quote
Or do I have to get AVR GCC tool chain just to tweak a line?
The Atmel GCC toolchain doesn't include "make", either.  :-(
That leaves Arduino 1.0.6, or WINAVR, both of which have really ancient versions of gcc itself :-(
(or, you can install make for windows separately: http://gnuwin32.sourceforge.net/packages/make.htm (also pretty old.))
Quote
I'll find out which version of LUFA I can install with that version of AVR toolchain. Last I recorded in my notes was a version dated March 1 2014
That's probably what all the Arduino 32u4 boards are still using (maybe check if Adafruit has an update?)
Bootloaders aren't updated very often (with good reason!)

liuzengqiang

Thanks Westfw. It looks like I probably won't need to include a bootloader for this project. With some reviews of my own notes and more online research and source code reading, it seems that the whole user code has all the software facilities to enumerate all the interfaces, without the bootloader, which probably enumerates a slightly different interface Product ID.

Right now I'm working on where the user code's device descriptor is and its other descriptors. I'm also looking for the code that reads/writes to the end point buffers.

My goal is to emulate a specific HID. I have it and extracted its descriptors with a lsusb -v. If I could first inject it somewhere in user code initialization, making it appear on my win 10, it would be a solid progress. Next I have to find out ways to read/write end points. Still working on it. Any arduino-type references on this would be appreciated.
Serial LCD keypad panel,phi_prompt user interface library,SDI-12 USB Adapter

westfw

Yes, that's true.  AFAIK, *none* of the Arduino bootloaders are required in order to run sketches; the sketch/core/etc has all of the code needed...


liuzengqiang

Thanks for confirming my guess! I can safely ignore bootloader and move to understand things like what does PluggableUSB actually do.
Serial LCD keypad panel,phi_prompt user interface library,SDI-12 USB Adapter

Go Up