Skip to main content

Poll

The latest Bus Pirate firmware fills the entire PIC chip, now what?

Remove unpopular modes (PC Keyboard?)
[ 4 ] (23.5%)
Split the firmware into multiple chunks
[ 10 ] (58.8%)
Remove features (suggestions?)
[ 0 ] (0%)
Nothing, maintenance development only from now on
[ 2 ] (11.8%)
I will spend hours pouring over the code and submit patches for an optimized version or a version that works with compiler optimizations.
[ 1 ] (5.9%)

Total Members Voted: 17

Voting closed: August 02, 2010, 12:17:27 pm

Topic: Bus Pirate out of space, now what? (Read 8849 times) previous topic - next topic

Re: Bus Pirate out of space, now what?

Reply #15
Quote
SDCC is a retargettable, optimizing ANSI - C compiler that targets the Intel 8051, Maxim 80DS390, Zilog Z80 and the Motorola 68HC08 based MCUs. Work is in progress on supporting the Microchip PIC16 and PIC18 series. SDCC is Free Open Source Software, distributed under GNU General Public License (GPL).

As we are using a PIC24F series device, SDCC will not work IMO.

Re: Bus Pirate out of space, now what?

Reply #16
[quote author="tayken"]
I'm trying to build the latest C30 compiler (3.23b) on Linux (found one tutorial but wine caused some problems) so after I'm finished, it might solve some problems with Linux users. My only problem is time currently as my major masters exam is closing in.
[/quote]

that is good news. Too bad exams are more important ;) Better finish those first.

[quote author="rsdio"]
[quote author="Sjaak"]AFAIK MPLAB only works on windows[/quote]What about the open source sdcc?  I would not want to develop a new firmware with it, but it might be fine for firmware that has already been debugged.
[/quote]

I thought ssdc was more 8051 specific?

Edit: like tayken says?

Re: Bus Pirate out of space, now what?

Reply #17
[quote author="tayken"]
I'm trying to build the latest C30 compiler (3.23b) on Linux (found one tutorial but wine caused some problems) so after I'm finished, it might solve some problems with Linux users.
[/quote]
I've tried as well. The compiler builds, but I sure can't make it actually compile anything.


This just HAS to be made to work though -- it's the only way out of this windows-only mess you get when using PICs in the first place. Once there's a proper build environment on linux or similar, this sort of problem becomes simple -- lots of ways to select/deselect modules to make the firmware fit the target device.


For reference, I used the instructions and build script found here:


http://www.electricrock.co.nz/blog/microchip-c30/


This is the error I get (tons of these):


[tt:]/home/bert/pic30/bin/../lib/gcc/../../share/pic30-nonfree/support/PIC24F/h/p24FJ64GA002.h:14: error: syntax error before ‘__attribute__’[/tt:]

Re: Bus Pirate out of space, now what?

Reply #18
That is the same tutorial I was talking about Bert. Now I'm using the same patches as in that blog but I'm using an older tutorial which creates .deb packages and installs them.

Quote
This just HAS to be made to work though -- it's the only way out of this windows-only mess you get when using PICs in the first place.

Well for libraries we still need a Windows machine but only for that. I think these guys should start supporting Linux.

Re: Bus Pirate out of space, now what?

Reply #19
OK, I haven't bought my own Bus Pirate, yet, but can't the code be swapped to external memory(I2C,SPI)? That probably causes trouble with a bootloader but it would be a quick fix.

Re: Bus Pirate out of space, now what?

Reply #20
[quote author="paul.tech"]can't the code be swapped to external memory(I2C,SPI)? That probably causes trouble with a bootloader but it would be a quick fix.[/quote]As I mentioned on the first page of this thread, the PIC cannot execute program code directly out of I2C or SPI memory. Thus, adding external serial memory would just allow an alternate source for programming a limited internal Flash. As Sjaak has already pointed out, there really is no advantage to storing alternate firmware in serial memory when your USB host computer has infinite disk storage. Any solution requires re-Flashing the internal memory, so it really does not improve the situation to have onboard storage when Flashing is required.

If the PIC could execute code from RAM (and if there were more RAM) then external serial memory might be an improvement because this would not require re-Flashing the internal code memory.

Re: Bus Pirate out of space, now what?

Reply #21
Hi, I just ordered my Bus Pirate couple minutes ago, came to this forum  saw this thread and I was thinking great... mine has not yet left the factory and it's already obsolete new with 256k will be here soon :( So my vote goes to multiple chunks... It's nothing new... Cisco for example had 44 versions of their firmware with different subset of features (though they now have "only" 8).  So i would definitely not mind to re-flash bus pirate if a  new device comes under it's test probes ;) 

Re: Bus Pirate out of space, now what?

Reply #22
[quote author="siklosi"]So i would definitely not mind to re-flash bus pirate if a  new device comes under it's test probes ;)[/quote]Also, since the Bus Pirate is rather cheap compared to most test equipment, you could potentially dedicate a different Bus Pirate to each kind of device that you might want to test.  You'd probably want to make a different case for each one, with dedicated markings and firmware.  The only glitch would be some way to distinguish the variations from the computer, but that may already have been solved (?).

Re: Bus Pirate out of space, now what?

Reply #23
We still haven't reached the point where anything has been dropped, but we are riding that line :) Sjaak has implemented a multiple chunk scheme. The main firmware is pretty much what we have now. The secondary firmware will have new features as they become available (none currently, maybe the JTAG user terminal mode in the future).

Unfortunately, the 256K one is just a dream at this point... The first prototype is already a bit messed up, and there's a ton of testing, improvement, and (mostly) firmware work (USB library) to do. The v3 is the only Bus Pirate at this point, and for the forseeable future, we won't hold anything back ;)
Got a question? Please ask in the forum for the fastest answers.

Re: Bus Pirate out of space, now what?

Reply #24
[quote author="siklosi"]
Hi, I just ordered my Bus Pirate couple minutes ago, came to this forum  saw this thread and I was thinking great... mine has not yet left the factory and it's already obsolete new with 256k will be here soon :( So my vote goes to multiple chunks... It's nothing new... Cisco for example had 44 versions of their firmware with different subset of features (though they now have "only" 8).  So i would definitely not mind to re-flash bus pirate if a  new device comes under it's test probes ;)
[/quote]

With IOS15 you'll only get one, with an enforced licensing model to get your features.

As Ian says the new buspirate will take some time (I optimistly guess 3-6 months) to finish.

 

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.02402738216session_write_close ( )...(null):0
20.02432869768ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.02442870544Database_MySQL->query( ).../DatabaseHandler.php:119
40.06903009232Database_MySQL->error( ).../Db-mysql.class.php:273