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 - arhi

2131
General discussion / Re: PIC programming under Linux
[quote author="IPenguin"]
Let us know how the MicrochipOpen build did go ... btw. it was released on sourceforge by a Microchip employee ...
[/quote]

It went ok, sorry I forgot to post results

Code: [Select]
[arhimed@gedora10 trunk]$ pic32-trunk-20100720/cross-build/
bfd/           config.status  gas/           intl/          libiberty/     opcodes/       sim/          
binutils/      etc/           gcc/           ld/            mmalloc/       readline/      utils/        
[arhimed@gedora10 trunk]$ pic32-trunk-20100720/
cross-build/   install-image/ src/          
[arhimed@gedora10 trunk]$ pic32-trunk-20100720/install-image/
bin/     include/ info/    lib/     man/     pic32mx/
[arhimed@gedora10 trunk]$ pic32-trunk-20100720/install-image/bin/
mypic32-addr2line  mypic32-bin2hex    mypic32-gcc        mypic32-ld         mypic32-objdump    mypic32-run        mypic32-strip     
mypic32-ar         mypic32-c++filt    mypic32-gccbug     mypic32-nm         mypic32-ranlib     mypic32-size       pic32mx-gcc-3.4.4 
mypic32-as         mypic32-cpp        mypic32-gcov       mypic32-objcopy    mypic32-readelf    mypic32-strings   
[arhimed@gedora10 trunk]$ pic32-trunk-20100720/install-image/bin/mypic32-gcc --version
mypic32-gcc (GCC) 3.4.4   microchipopen.com ccompiler4pic32 v1.10(B)-20091123
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[arhimed@gedora10 trunk]$

It is based on 3.4.4 gcc .. hopefully the will move to 4.x soon :), have not tested it yet, it just compiled and "runs"

with regards to "microchip employee released it" - was it released "illegally" or ?[/code]
2132
General discussion / Re: PIC programming under Linux
[quote author="IPenguin"]
Both are for PIC32MX only - MicrochipOpen is the open version of the C32 release 1.10B compiler while CodeSourcery G++ Lite MIPS ELF is the gcc toolchain built for all MIPS based CPUs/MCUs.
[/quote]

interesting, anyone made any comparison of those (generated code size / speed / quality, types of optimisations ...)? I'm compiling microchip open attm, will try it out :)
2134
General discussion / Re: PIC programming under Linux
[quote author="tayken"]
you obviously need Microchip libraries as they contain the header files and linker scripts
[/quote]

ah I did added them, I even installed them on windoze (some of the libs come as a install package that you have to install - never figured out why) and then copied all the files to linux, added all the paths etc .. no luck ... (tried installing on the linux directly, no luck also) .. anyhow, I solved it by having a single XP box for pic related stuff (and for proteus as I just can not use eagle nearly as fast as I can use proteus both for schematic drawing and for making pcb's - and proteus exports excellon files and most pcb manufacturers take those so no problem there too :) ) ... anyhow, would be cool to have a full pic toolchain working on linux (btw the ccs-c worked propely but I have only the 10/12/14/16F licence purchased and I do not like "fixed" software so for 18F I have to use c18 and for higher up C30)
2135
General discussion / Re: PIC programming under Linux
if you figure out how, please share ... I tried everything / went trough everything I could think of and there was always something that does not work. I managed to get almost everything works with C18 and C30 and CCS-C except the USB library from microchip and few other things from microchip (SD/FAT..) and I finally just decided it is not worth the single XP license I already have. In addition, I also have commercial windows emulator, no difference .. after a lot of trials and errors I gave up and installed XP under virtual box, set the usb pass trough so I use pickit2/pickit3/easypic from the XP inside virtualbox... I left the XP on the SP2 as SP3 does not bring anything important .. the same virtual machine runs also PROTEUS (ISIS+ARES) and some other windoze only apps that had issues working on linux and have no replacement among linux native apps.

TI MSP430 tool-chain on the other hand works perfectly on linux (gcc 4.4 based toolchain even supports devices with extended memory)

btw, I heard there's gcc toolchain for pic's that should work properly on linux (from what I see the C30 is also based on gcc) so there should be a way to use that and forget about microchip libs .. but I never tried
2136
Open Bench Logic Sniffer / Re: Alternative Java client
not sure why but ..

Code: [Select]
[INFO] Compilation failure
/home/arhimed/Dev/OBLS/Alternate/ols/util/src/main/java/nl/lxtreme/ols/util/DisplayUtils.java:[110,18] unmappable character for encoding UTF8
...
[INFO] Compilation failure
/home/arhimed/Dev/OBLS/Alternate/ols/util/src/test/java/nl/lxtreme/ols/util/DisplayUtilsTest.java:[63,25] unmappable character for encoding UTF8


In both files the problematic character is greek mi char (micro seconds), replacing it with u solves the problem
2137
Open Bench Logic Sniffer / Re: obls - any way to query specs
never used one with up and down counter ... was considering also 74VHC4040 (12 bit counter)  but iirc it only has reset and up .. no down pin nor direction pin ..

what I was thinking when I was designing the initial la was to use the ram chip for scanning data (was not implementing no triggers) so I was just clocking the sram and it was fetching data on the input. when I fill the ram, I reset the counter and then read it at the speed mcu can send it back to client (the sram data lines were both probes and connected to mcu)... of course this was without triggers and 8bit only but enough for what I needed att, now however I think that sump does the pretty good job scanning those 16 buffered lines and that we can use the other 16 ones as a sram wing (so even if we use all 16 it is still ok imho)

with regards to real time data .. I tought about it and .. I'm still not sure .. the usb is fast but the protocol is so god darn stupid and overloaded with crap .. I don't think it will work trough serial so ..
2138
Open Bench Logic Sniffer / Re: obls - any way to query specs
[quote author="jack.gassett"]
A good thing to start thinking about is a way to add a real time mode. It would be nice to be able to stream a capture realtime up to the 12Mb/s that the USB supports.
[/quote]

yup, that is very interesting idea but for the realtime you either need to implement some fifo buffer in fpga (/me have no idea how) or you don't need a fpga at all (take a pic with a lot of io and usb and that's it, but this is usually not as fast as one would like it to be)

Quote
Also, your idea about integrating a counter into a SRAM Wing has really got me thinking. I have some other things I have to wrap up first but I would like to give it a shot when I get the time. In the meantime I've been trying to find an appropriate counter IC since a CPLD will work but a counter IC will be easier. I figure that with the 16 bit Wing header we can use 1 pin for the up clock and 1 pin for the down clock. That leaves 14 pins for data which I think should be a pretty good deal for most people.

I was thinking maybe something like two of these to handle 16 address lines:
http://search.digikey.com/scripts/DkSea ... 69D,602-ND

looks nice but the "non stock" always frighten me .. and it is 8bit only so you'd need two of them (just like with 74hc579 with hc579 maybe being easier to acquire). having a 16bit counter might be better but I never found one in a single chip. anyhow up/down is not necessary ... up and reset is all you need, again 2 pins, + 8 pins for the data that leaves only 6 pins for "custom use" not 14? and you would have to implement into fpga how to use this external sram
2139
Open Bench Logic Sniffer / Re: obls - any way to query specs
[quote author="IPenguin"]
The VHDL code has a command interpreter (decoder) ... however, in the initial SUMP design the Set Flag channel commands are used only to exclude channels from data transfer (ignores them), they do not change the buffer depth/channel width configuration, really. 
[/quote]
Yes, but (again how small mickey imagines things work), without changes in "protocol" the fpga can decide what mem depth to use. It sounds simple from where I stand (theory :D not practice :D )

[quote author="IPenguin"]
You didn't mention what CPLD board you have
[/quote]
SK-CRII-L-G  - it is XC2C256-TQ144 with some atmel mcu on board with "locked firmware" - no memory on board - 2x16 lcd, 4 7seg's and few buttons and switches... pretty cool kit to learn cpld :D

Quote
but there are a couple of LA implementation for Xilinx Coolrunner CPLDs (so most with 8/16 channels only). However, the implementations require CPLD boards with external SRAM (interesting part, the person who implemented a SUMP like LA on a Coolrunner CPLD board did it for an "easy getting started with CPLD/FPGA" project. :)
I have also 2 bs62lv4006pip55 (SRAM 512K X 8 bit 55ns) that are left overs from the LA with pic+counter project. I was thinking about trying to make a LA with this cpld and these two sram chips, just need to first get a hold of vhdl bit better :D (a counter example worked last night :D .. now to something more complex, cpld seems pretty limited compared to fpga I have in HW-SPAR3AN-SK-UNI-G. Both kits I purchased recently as a doorway to cpld/fpga so again I apologize if some of (or all) my ideas / questions are out of place / stuped :)

Quote
For the SRAM part it doesn't matter if you use a Coolrunner CPLD or some other circuitry ... the logic is the essential part and you could describe/synthesize it in VHDL for any configurable logic device with enough gates ... the essential part is the design you want to use for it:
- rsdio pointed at dual-ported SRAMs (real neat stuff for video and other applications that require independent simultaneous access to the memory from two sides)
- FIFO (a FIFO with sufficient buffer could do the job, even better, a FIFO with RLE could allow for endless capture streams provided that you have sufficient bandwith to send the data to the host)
- standard SRAM with the (address) counter you described (first it captures the data in SRAM, then the SUMP engine reads the captured data from the SRAM and transmits it to the host)
- serial SRAM (one chip per channel) - some serial SRAMs have auto-increment adressing driven by a clock signal - and a multiplexer to read the captured date from one channel (serial SRAM) after the other
... just some examples. You can implement/synthesyze each design concept in VHDL and simulate the design without physically implementing the hardware (memory and logic) in hardware (regardless if discrete logic, CPLD or FPGA ...). There are many options, so I doubt there will be many who will actually design and build a capture buffer shield/buffer with memory for the current OLS version. The 100-pin package of the Spartan-3E used in the OLS v1/1.1 design puts a rather stringent limit on the number of I/O lines for an efficient and performant external capture buffer memory. We could actually add memory to the 16 buffered input lines and use the unbuffered header to control the memory ... but then some may look into a redesign of the OLS, a version 2 that may use the 144-pin version of the Spartan-3E or a completely different FPGA (i.e. Actel SmartFusion or ALTERA Cyclone) ....

I was thinking about "simple" extension of the current system. redesigning system is a completely different task :) ... anyhow I first need to digest the veggies before I go for meat so .. gimme a month :D maybe I will have some good ideas then :)
2140
Open Bench Logic Sniffer / Re: OBLS - case - print your own
seen too many reprap pages in last couple of years, finding those posts is really not easy :( but here are some examples regarding those buttons:

http://qik.com/video/3602985
http://www.youtube.com/watch?v=UegySW_FBk0

but in general reprap can really produce usable parts - it is still only one material printer (there is a multi head machine by bitsfrombytes, and there;s fab@home project with 2 syringes for silicone and similar materials...)
2141
Open Bench Logic Sniffer / Re: obls - any way to query specs
[quote author="IPenguin"]
How will a "combined bitstream/VHDL deisgn" know what configuration the client expects it to use without a command that will tell the VHDL core what configuration to use? Currently the SUMP command set does not have any special commands for that ... for this the command set will need an extension for a "combined bitstream" (i.e. use 6kx32Bit/channels config, use 12k/16Bit/channels 24kx8Bit/channels). Sure we could/will use the Set Flags - channel groups commands (for compatibility) but the commands will require extensions ....
[/quote]
I'm new at this, but I understood that you send to fpga info on what groups (0/1/2/3) you want to capture (8bits per group) - I was under impression this would be used on the fpga side to decide how to proceed.


Quote
Hmmm, you could use your HW-SPAR3AN-SK-UNI-G as a SUMP LA ...

wow, yes I know but I kinda went from c to vhdl overnight... attm I'm trying out different stuff with coolrunner2 (cpld) and I think I figured it out (I got it only a week ago and I do have a "real work" beside this hobby :( so it's not a lot of time I can spend playing). I believe after another week of playing with cpld I'll go try to read a few demo vhdl's for fpga ... I want to implement the sump on this spartan3an fpga myself (from scratch) as a learning process, using premade vhdl would not help me (I purchased obls as a working solution for the sniffing part so I do not need another sniffer :D and a bus pirate to speed up some other things) ... I still have issues with some terminology and some concepts with cpld/fpga but getting there :D

On the sram wing, I think it should be possible but I can't say how :( .. I know how to configure coolrunner2 cpld (but those smaller xc95xx might be better for the job) to act as a counter (at least I think I know), and interfacing sram chip should be easy .. now not sure how fpga talks to external sram (no idea really how it talks to internal one :D :D :D ) so ..
2142
Open Bench Logic Sniffer / Re: obls - any way to query specs
with regards to multiple bitstreams and "capability id" - with "auto configuring" memory depth (like what you were talking in the video that you want to create) then the capability id becomes redundant, but donno how far you are from the auto configuring bitstream.

with regards to sram shield, if we take the unbuffered connector for sram shield we anyhow have only 16 channels to scan so that's not limitation imho. some long time ago (before I figured out cpld/fpga is something one should learn) I made a simple logic analyzer with a simple 8bit pic, external oscillator and sram chip and a simple ttl counter (iirc I used 2 74hc579 to get 16bit address counter) and I was storing data directly to sram (data lines from sram were connected to both pic and "probes") .. not a very good design but I was able to get pretty fast readings. The cpld might be better choice here then 74hc579 (would probably cost less and have smaller footprint then two 74hc579)

donno if the full 200mhz could be achieved this way but in most cases I find that 50mhz sampling rate is enough (for all things I use obls, it is)
2143
Open Bench Logic Sniffer / Re: obls - any way to query specs
[quote author="IPenguin"]
The point is that we FIRST want to merge the 6k/32Bit, 12k/16Bit and 24k/8Bit bitstreams - actually create a VHDL model that will support all 3 configurations.
[/quote]
I seen the video on the gadget page and I like the idea but can't help with it :( (as I said, mine first experience with fpga started few weeks ago with HW-SPAR3AN-SK-UNI-G :D so I'm still struggling with basics, sorry if I ask stupid questions)

Quote
This code will need an extension to the standard SUMP command set. A version id and check should rather be implemented in the VHDL code than "post-tag" the version/revision to the bitstream in SPI flash memory.
Why would merging firmwares have to extend the sump set? From what I read the protocol, you say what blocks you want to scan, can't the VHDL "recognise" what to do without it being told explicitly "using the a*b config"? (sorry again if that was a stuped question :D I still look at vhdl as at programming language :D and not as hardware description)

Quote
At this point the OLS is not intended as a low-cost general FPGA development platform

:D was not intending to use it as one :D (got my HW-SPAR3AN-SK-UNI-G for that), just seen the potential in that big eprom as attm you have to push from pc the bitstream if you want "larger memory smaller scan size" or vice versa, having 2 of them in the eeprom and just selecting which one goes into fpga sounds like a cool idea :D

Quote
FPGA development boards usually offer different forms of external configuration memory (serial flash, parallel flash), so essentially you can load 4 images in the configuration memory (2 in SPI flash, one forward, one backwards and 2 in parallel flash) - read ug332.pdf for details ;)
thanks for the hint, reading the pdf immediately :D

one not related question - could we add a sram on the unbuffered connector? (again a "how child imagines things worl question?" is there a sram chip with "counter" for address bus or we have to add a counter too?)
2144
Open Bench Logic Sniffer / Re: obls - any way to query specs
imho it would be better if the fpga can answer (exactly like on 0x02 - 4 bytes {how many kb of ram, how many scan bits or how many scan groups, major version, minor version} for example)

the double size of the spi is interesting ... I just started playing with cpld/fpga (got me a coldrunner2 and spartan3an dev boards) and on this board I can for e.g. load 4 different bitstreams and chose with jumpers wich one to load (not sure how that works, especially as this spartan is witn non volatile ram ..but from what I read that's "universal example") - so we might be able to load both 24K 8bit and 12K 16bit bitstreams in the eprom and choose "somehow :D " which one the xilinx will load (not that it is too much trouble to push the new firmware when you need it)
2145
Open Bench Logic Sniffer / Re: OBLS - case - print your own
clay is a wonderful material (also reprappable) but it needs curing and I don't think the electronics components will like the curing temperature of the clay :(

polyclay also requires curing but at temperatures much closer to what electronics can withstand, I even heard there are some "polyclay's that can be cured simply by drying in the air" - but never had any contacts with those - that would be a very interesting material :)

With regards to encasing objects like this usb device, I seen ppl in reprap community do following (I never tried myself so this is second hand talk) - they make a "mold" out of ABS/PLA, then they spray the mold with PTFE filled oil, then they fill the mold with electronics potting resin and stick the electronics in - when resin cures they remove the ABS/PLA mold. I even seen mold made for buttons and guy then poors silicon in the mold, put the metal plate on one side and when it cures he use that to make keypads for his projects :)

but we are going way out of scope of this forum now :D

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