Skip to main content

Messages

This section allows you to view all Messages made by this member. Note that you can only see Messages made in areas you currently have access to.

Messages - Georg

1
CPLD programmable logic / Re: Programming XC2C64A board with linux
Just a question that is a bit off-topic: Is there a clear reason why this XSVF playing can't go to the normal firmware (e.g., it needs a lot of memory)? Or is it just that nobody had the time yet to include it to the bus pirate firmware?
2
CPLD programmable logic / Re: Programming XC2C64A board with linux
Hi,

I had a bit more time to play with the code and made my quick and dirty hack a bit more sane ... see the attached files. I now compiles with gcc under Ubuntu 10.10 by simply do

gcc main.c buspirate.c serial.c -o xsvfplayer

However, it does not compile with g++ (g++ is a bit more strict regarding code sanity and some work is needed on the original code to make it comply).

Ian, maybe you can check if it still works with Windows and put it to the release.

Cheers,

Georg
3
CPLD programmable logic / Re: Programming XC2C64A board with linux
Of course, you are right! I have uploaded the new firmware and it now works! Programming went smoothly, however, after it is finished it crashes...but the design is on the CPLD


./xsvplayer -p /dev/ttyUSB0 -f sch-CPLDIntro2Ledbutton.xsvf
-----------------------------------------------------------------------------

 BusPirate XSVF Player V.01
 http://www.dangerousprototypes.com

-----------------------------------------------------------------------------
 File is 22846 bytes,  Read 22846 bytes
 Opening Bus Pirate on /dev/ttyUSB0 at 115200bps, using XSVF file sch-CPLDIntro2Ledbutton.xsvf
 Entering XSVF Player Mode
 Waiting for first data request...ok
 Sending 4096 Bytes (1000)...ok
 Sending 4096 Bytes (2000)...ok
 Sending 4096 Bytes (3000)...ok
 Sending 4096 Bytes (4000)...ok
 Sending 4096 Bytes (5000)...ok
 Sending 2366 Bytes (593E)...ok
 End of operation reply: XSVF_ERROR_NONE
 Success!
 Thank you for playing! :-)

*** glibc detected *** ./xsvplayer: double free or corruption (!prev): 0x0000000001f73080 ***
======= Backtrace: =========
/lib/libc.so.6(+0x774b6)[0x7efffbd814b6]
/lib/libc.so.6(cfree+0x73)[0x7efffbd87c83]
/lib/libc.so.6(fclose+0x14d)[0x7efffbd719ed]
./xsvplayer[0x40186f]
/lib/libc.so.6(__libc_start_main+0xfe)[0x7efffbd28d8e]
./xsvplayer[0x400d09]
======= Memory map: ========
00400000-00403000 r-xp 00000000 08:01 529716                            /home/gkrocker/buspirate/trunk/scripts/BPXSVFPlayer/xsvplayer
00603000-00604000 r--p 00003000 08:01 529716                            /home/gkrocker/buspirate/trunk/scripts/BPXSVFPlayer/xsvplayer
00604000-00605000 rw-p 00004000 08:01 529716                            /home/gkrocker/buspirate/trunk/scripts/BPXSVFPlayer/xsvplayer
01f73000-01f94000 rw-p 00000000 00:00 0                                  [heap]
7efff4000000-7efff4021000 rw-p 00000000 00:00 0
7efff4021000-7efff8000000 ---p 00000000 00:00 0
7efffbaf4000-7efffbb09000 r-xp 00000000 08:01 948                        /lib/libgcc_s.so.1
7efffbb09000-7efffbd08000 ---p 00015000 08:01 948                        /lib/libgcc_s.so.1
7efffbd08000-7efffbd09000 r--p 00014000 08:01 948                        /lib/libgcc_s.so.1
7efffbd09000-7efffbd0a000 rw-p 00015000 08:01 948                        /lib/libgcc_s.so.1
7efffbd0a000-7efffbe84000 r-xp 00000000 08:01 692                        /lib/libc-2.12.1.so
7efffbe84000-7efffc083000 ---p 0017a000 08:01 692                        /lib/libc-2.12.1.so
7efffc083000-7efffc087000 r--p 00179000 08:01 692                        /lib/libc-2.12.1.so
7efffc087000-7efffc088000 rw-p 0017d000 08:01 692                        /lib/libc-2.12.1.so
7efffc088000-7efffc08d000 rw-p 00000000 00:00 0
7efffc08d000-7efffc0ad000 r-xp 00000000 08:01 892                        /lib/ld-2.12.1.so
7efffc282000-7efffc285000 rw-p 00000000 00:00 0
7efffc2aa000-7efffc2ad000 rw-p 00000000 00:00 0
7efffc2ad000-7efffc2ae000 r--p 00020000 08:01 892                        /lib/ld-2.12.1.so
7efffc2ae000-7efffc2af000 rw-p 00021000 08:01 892                        /lib/ld-2.12.1.so
7efffc2af000-7efffc2b0000 rw-p 00000000 00:00 0
7ffff6139000-7ffff615a000 rw-p 00000000 00:00 0                          [stack]
7ffff61ff000-7ffff6200000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
Abgebrochen
4
CPLD programmable logic / Re: Programming XC2C64A board with linux
I tried with one of the demo files and get that:

 ./xsvplayer -p /dev/ttyUSB0 -s 115200 -f sch-CPLDintro1LEDon.xsvf
-----------------------------------------------------------------------------

 BusPirate XSVF Player V.01
 http://www.dangerousprototypes.com

-----------------------------------------------------------------------------
 File is 22846 bytes,  Read 22846 bytes
 Opening Bus Pirate on /dev/ttyUSB0 at 115200bps, using XSVF file sch-CPLDintro1LEDon.xsvf
 Entering XSVF Player Mode
 Waiting for first data request...ok
 Sending 4096 Bytes (1000)...ok
 Sending 4096 Bytes (2000)...ok
 Sending 4096 Bytes (3000)...ok
Speicherzugriffsfehler

So it seems there is a segfault somewhere. Do I need another firmware for the buspirate? I already have the newest version I think.
5
CPLD programmable logic / Re: Programming XC2C64A board with linux
Hi Ian,

thanks for the link! I checked it out and tried to compile it. It works, however one has to change a few windows specific things. For example, gcc does not know about HANDLE and does also not like to assign TRUE and FALSE to int. Also, the redifinition of usleep(x) to Sleep(x) does not work. After fixing that the thing compiles fine. Because of the problem with HANDLE I had to uncomment lines 289-293 in serial.c, I'm not exactly sure what they do. I will have a closer look into that.
I also have not tested it so far but will do so when I have time.

Georg
8
Project logs / DSO nano signal generator fix
I wanted to share a project with you which I lately finished. It's actually a fix. When I was working on a small audio amp circuit I actually used my DSO nano with its signal generator to feed a signal in the circuit and watch the output of the amplifier on the scope. As things go I must have swapped some cables and fried the signal output of the nano in the process.
After a while of searching around I found out that the signal generation is done via a 74HC125, bus buffer. The buffer is driven by an output pin of the DSO nanos ARM controller and sort of 'protects' the controller. I found out that there was still a signal on this output pin so I thought it must have been the 74HC125 which died while swapping the cables. I ordered some of these from ebay and turned to the task of replacing the chip which was rather hard (I have no experience with SMD soldering and no specific equipment for this). Fortunately I succeded and the signal generator is working again.

Thought it maybe usefull if somebody else has the DSO nano and runs into the same trouble. You can read the long version with some pictures on my blog (the link to which I would like to post here but I'm not able to since I'm a new user and not allowed to post links - so you will have to wait till tomorrow...)

Edit by Ian: http://electricalbreakdown.nfshost.com/wordpress/?p=5

( ! ) 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.01412352624session_write_close ( )...(null):0
20.01442484224ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.01442485000Database_MySQL->query( ).../DatabaseHandler.php:119
40.05972623744Database_MySQL->error( ).../Db-mysql.class.php:273