joshuaflanagan / the-bus-pirate

Automatically exported from code.google.com/p/the-bus-pirate
Other
0 stars 1 forks source link

Patch to compile on Linux #55

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
The attached patch contains a Makefile to compile the firmware on Linux.

I had to fix some #include's because the Linux preprocessor is case sensitive.

Also please note that your source files have mixed Windows and Unix line 
endings (CRLF vs LF). I left that as is.

Original issue reported on code.google.com by stephan....@gmail.com on 14 Nov 2010 at 2:00

GoogleCodeExporter commented 8 years ago
Oops... forgot to fix UART.c

Original comment by stephan....@gmail.com on 14 Nov 2010 at 2:08

Attachments:

GoogleCodeExporter commented 8 years ago
applied and commited. Thanks! Please also consider joining us in the forum, 
it's a lot more active there :)

How was the Linux compile? Do you like MPLABx?

Original comment by ianles...@gmail.com on 14 Nov 2010 at 2:33

GoogleCodeExporter commented 8 years ago
Thanks for the quick reply.

There was a problem with your commit: eetext.s should have been renamed to 
eetext.S (capital S).
Apparently there's a bug in SVN because renamed files don't show up in the 
patch.

Also compiling the BPv4 variant does not currently work. I'll have to figure 
out where to get the USB header files...

Original comment by stephan....@gmail.com on 14 Nov 2010 at 4:11

GoogleCodeExporter commented 8 years ago
Hi Stephan,

I've fixed eetext.s into eetext.S
Your makefile works against the current SVN.
But there is also a new Makefile made automatically from my MPLABX conversion, 
in busPirate.X/busPirate which works too.
What I don't understand is the difference in size between your .hex and mine:
main.hex: 154804
busPirate.production.hex: 205080

Original comment by yob...@gmail.com on 16 Nov 2010 at 4:51

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Hi,
Thanks for fixing my Makefile! As for the file size, I'm using "-Os" to 
optimize for size. It's strange that the could should be 25% smaller, but I 
checked that all modules are included.

For BP_MAIN I get a main.hex of 176792 bytes
For BP_ADDONS it's 154804 bytes

If I use "-Os" in MPLABX, I get a hex size of 147992 and 169980, respectively

Original comment by stephan....@gmail.com on 16 Nov 2010 at 6:19

GoogleCodeExporter commented 8 years ago
Hum there is definitively something to explore here...
I could make a firmware containing both MAIN & ADDONS module (except I2C_HW for 
which compil fails ATM) and the device seems working fine!! (I tried self-test 
& UART sniffing)

Original comment by yob...@gmail.com on 16 Nov 2010 at 7:37

GoogleCodeExporter commented 8 years ago
I tried to compare your Makefile with MPLABX one and I see the following diffs:

Yours:
 space optimization: -Os
 ee.c & eetext.S

MPLABX's:
 via elf format: -omf=elf
 def intern symbols, probably not needed:
 -Wa,--defsym=__MPLAB_BUILD=1
 -Wl,--defsym=__MPLAB_BUILD=1

ee?? is it a kind of easter egg?? And people say the firmware is full, pfff :-)
So I think all diffs you saw come from the optimization flag and this ee 
stuff...

What do you suggest for both Makefiles?
Can we add properly the -Os flag in the IDE so we can keep the sole MPLABX 
Makefile?
It's a bit less neat than your but, well, it's there anyway and managed by the 
IDE...

Original comment by yob...@gmail.com on 16 Nov 2010 at 10:24

GoogleCodeExporter commented 8 years ago
Would it be possible to move this to the development forum:
http://dangerousprototypes.com/forum/index.php?board=28.0

Can I also give you SVN access so you can commit these patches as needed?

Original comment by ianles...@gmail.com on 17 Nov 2010 at 10:25

GoogleCodeExporter commented 8 years ago
Done, see 
http://dangerousprototypes.com/forum/index.php?topic=1450.msg13354#msg13354 for 
Makefile discussion

Original comment by yob...@gmail.com on 17 Nov 2010 at 11:03