I can't seem to find an answer to this one,
if I was to write my own firmware (or edit someone else's which is more likely) what program is used to compiled the .C files and .H files (and any others) down into the HEX format?
I can't seem to find an answer to this one,
if I was to write my own firmware (or edit someone else's which is more likely) what program is used to compiled the .C files and .H files (and any others) down into the HEX format?
what program is used to compiled the .C files
There are no C files. The Arduino is programmed in C++.
Why wouldn't you use the supplied IDE? Using other means to compile and link and upload the code is possible, but not a beginner project.
What do you mean by "firmware"? The bootloader and the application progam can both be considered "firmware" depending on context.
You use gcc to compile the source files. If you set teh IDE to verbose mode, you can see all the gory details.
Thanks for the replies guys, I mean bootloader
I'm wanting to make a Ardiuno Uno based HID device by putting the board into DFU mode and flashing the firmware with Amtel's Flip program,, so it isn't Ardiuno IDE territory.
I have lots of example .C and .H files
e.g. Like these here
gcc thanks, I'll have a look.
If you load the IDE, it provides the correct version of the gcc toolchain. I assume you want to program the extra processor on the board. There are examples on the website about that, specifically how to create a midi device.
I have no idea what a gcc tool chain is and I can't see anything about it in ardiuno IDE
I'll admit this is spiralling out to be a nightmare, I can set the hardware fairly easily, I can probably do the application program as a serial device, but the HID part keeps throwing up stuff that I have no idea about and and there is no beginners documentation,
(it took me a whole day to find out if 128 buttons @1bit and 48 pots @ 8bit was even possible)
Outsourcing seems like the most sensible option, disappointing but realistic
That is because the arduino is designed to hide all that from the user, but it is required to program the chip. Did you even try running the IDE in verbose mode to see what goes on behind the scenes?
Here is a tutorial on how to program the USB processor on the UNO:
http://forum.arduino.cc/index.php/topic,111.0.html
USB software is a nightmare for experts, let alone beginners! That is why we all just let it pretend to be a serial port.
Thanks for the link, that would have been great about a week ago, (it's still good now) as for verbose , I have absolutely no idea how.
http://forum.arduino.cc/index.php?topic=206669.0
That link was not hard to find. It was on the arduino UNO product page!
So following the how to program the usb processor thread,
And looking at the type of stuff in each file at unojoy
Unojoy.C needs my new buttons/pots adding to it
also dataController_t.h
and physical buttons list_t.h
and possibly ButtonMapping.txt
Then I change the usb.gamepad.C so the HID report also has all the buttons & the changed report counts so it has space for the inputs.
Also I need to change sendPS3Data(dataForController_t btnList) @ line 353
Then I add the buttons and the data size to usb.gamepad.H
But then how do I compile all this to hex?, I've looked at amtel studio, and M$VSE but I'm lost.