00:53.36 | *** join/#openjtag ByronT (n=byron-po@nslu2-linux/ByronT) |
01:01.47 | beewoolie | ulf_k_: I wonder if you are asking about the openwince jtag software |
01:02.06 | beewoolie | vmaster: Are you on? |
01:02.39 | ulf_k_ | hi beewoolie |
01:02.51 | beewoolie | hi |
01:06.29 | ulf_k_ | well later on i realized that openwince and openjtag are not the same |
01:08.28 | lennert | openjtag isn't much, so far |
01:08.44 | lennert | nothing but untold megabytes of irc logs :) |
01:08.59 | lennert | and a bit of code here and there |
01:15.59 | *** join/#openjtag vmaster_ (i=vmaster@p549B6E47.dip.t-dialin.net) |
01:16.39 | beewoolie | lennert: Hi lennert |
01:16.57 | beewoolie | lennert: I'm doing a timing test on the code as implemented in openwince |
01:17.07 | beewoolie | It is interesting to note that the usleep function really blows. |
01:17.54 | lennert | hi beewoolie |
01:17.54 | lennert | hehe |
01:18.04 | lennert | pmc3386 driver from radisys did something like |
01:18.17 | lennert | os_linux_enp_udelay(int MicroSeconds) |
01:18.18 | lennert | { |
01:18.21 | lennert | int i; |
01:18.29 | lennert | for (i=0;i<MicroSeconds*50000;i++) |
01:18.29 | lennert | ; |
01:18.29 | lennert | } |
01:18.37 | beewoolie | Um, ....yeah. |
01:18.49 | beewoolie | In a word...poop. |
01:18.58 | lennert | hell yeah |
01:19.26 | beewoolie | It turns out that without a delay, we get about 268KHz. |
01:19.39 | beewoolie | Moreover, I am using a very different design from openwince. |
01:19.41 | lennert | parallel cble? |
01:19.51 | beewoolie | My inner loop is much faster. |
01:20.05 | beewoolie | At the moment, I'm testing the Xilinx III. |
01:20.13 | beewoolie | It makes it possible for me to verify my code. |
01:20.20 | lennert | right |
01:20.32 | lennert | i could download the spartan3 via jtag at 700khz or so |
01:20.39 | lennert | but i think that pc had a fast parallel port |
01:20.50 | lennert | http://svn.wantstofly.org/vhdl/utils/ (very incomplete) |
01:21.16 | beewoolie | Well, keep in mind that I'm looking at the clock signal. |
01:21.28 | beewoolie | This doesn't say anything about the data throughput. |
01:21.57 | lennert | i'm still not 100% sure what you're doing.. are you running openwince and looking at TCK with a scope? |
01:22.06 | beewoolie | Moreover, I'm using the PPDEV interface which, I suspect, isn't as fast as the direct port access interface. |
01:22.15 | beewoolie | Actually, no. |
01:22.27 | beewoolie | I'm working on code to manipulate the JTAG scan chains. |
01:22.29 | lennert | oh, yeah -- i'm just bitbanging the parallel port i/o ports from userspace (ugh ugh) |
01:22.37 | beewoolie | I can read registers and do lots of interesting things already. |
01:22.48 | beewoolie | I decided that I wanted to see what the throughput limit was. |
01:23.07 | lennert | so time how long an MMIO cycle takes? |
01:23.08 | beewoolie | Well, the goal is much grander. |
01:23.21 | beewoolie | MMIO? I don't know what that means in this context. |
01:23.33 | lennert | sorry, not mmio |
01:23.40 | lennert | time how long it takes to do a parallel port write, i mena |
01:23.49 | lennert | that gives you the throughput limit |
01:23.55 | lennert | or am i still not understanding you correctly :-/ |
01:25.07 | beewoolie | Well, the inner loop of this test is write clock high, write clock low, repeat. |
01:25.16 | beewoolie | I'm getting about 268KHz. |
01:25.29 | lennert | right, that's what i did too |
01:25.30 | beewoolie | I'm going to see what happens if I use the port directly without ppdev. |
01:25.34 | lennert | i got 700khz |
01:25.41 | beewoolie | Perhaps your machine is faster. |
01:25.48 | beewoolie | Are you using ppdev? |
01:25.54 | lennert | try http://svn.wantstofly.org/vhdl/utils/test_speed.c ;-) |
01:26.07 | lennert | no, direct port i/o, which makes it much faster as it avoids the kernel round-trip |
01:26.13 | lennert | but much less portable so not a good solution |
01:26.28 | beewoolie | Um, that code doesn't do anything. |
01:26.35 | beewoolie | Whatsa jtag_flush? |
01:26.41 | lennert | jtag.c should be called xilinx_parallel3_cable_specific_hacks.c |
01:26.46 | lennert | see jtag.c in that directory |
01:26.55 | lennert | i'm ashamed to even show you this stuff |
01:27.15 | beewoolie | OK. That's using the port directly. |
01:27.33 | beewoolie | I'm using the user-mode interface at the moment. The code runs without root privileges. |
01:27.45 | lennert | which is a big plus |
01:27.57 | beewoolie | Except that what we really care about is speed. |
01:28.00 | lennert | i'm just saying, if you want to benchmark pure port accesses you can use that |
01:28.08 | lennert | instead of having to hack it up yourself |
01:28.11 | lennert | well, true |
01:28.13 | beewoolie | I think I might look into using root to gain access to the port and then dropping priviledges. |
01:28.21 | lennert | you need root then though |
01:28.25 | beewoolie | Ah, right. |
01:28.28 | lennert | you could use root if you have it and ppdev otherwise |
01:28.38 | beewoolie | Or, we can make the exec file be setuid. |
01:29.17 | beewoolie | Let me see what your code does... |
01:30.14 | beewoolie | Is this a subversion repo being exposed? |
01:30.17 | lennert | yes |
01:30.24 | lennert | you can check it out with svn checkout http:// etc |
01:30.27 | beewoolie | Ah, Interesting. I use subversion, but I've never exported anything. |
01:30.35 | lennert | mod_dav_subversion iirc |
01:30.42 | beewoolie | Hmm. let me try that... |
01:30.44 | lennert | plugs directly into apache |
01:31.45 | beewoolie | elf@cerise ~...lennert/utils > sudo ./test_speed |
01:31.45 | beewoolie | parallel jtag cable not installed |
01:31.49 | beewoolie | Ooops. |
01:31.55 | lennert | it's not in lpt1? |
01:31.56 | beewoolie | I'll bet I know what it is. |
01:32.32 | lennert | my digilent cable shorts some input and some output pin |
01:32.34 | lennert | so it checks that |
01:33.04 | beewoolie | It just exits. |
01:33.16 | lennert | yeah |
01:33.18 | lennert | bluntly |
01:34.21 | beewoolie | Um, I don't get it. Are you just timing the loop? |
01:34.25 | lennert | yeah |
01:34.34 | beewoolie | ah. I've got a scope on it.... |
01:34.46 | lennert | you can put a "tck ^= 1;" in the inner loop if you want |
01:34.57 | lennert | but whether you write tck as 0 0 0 0 or 0 1 0 1 won't make difference in speed |
01:35.02 | lennert | i just use 'time' to time 16777216 writes |
01:35.49 | beewoolie | OK. It's running at 326KHz. Faster, but not twice as fast. Interesting. |
01:36.07 | lennert | it depends a lot on your motherboard chipset |
01:36.14 | beewoolie | Thanks. That saved me some time. I'll probably still support the direct access mode just for the fun of it. |
01:36.19 | beewoolie | How is that? |
01:36.20 | lennert | specifically, the 'distance' between your cpu and southbridge |
01:36.29 | beewoolie | Isn't this just a matter of the speed of the CPU? |
01:36.32 | lennert | i.e. how long it takes to do a write to a register in the southbridge |
01:36.36 | lennert | nooo, not at all |
01:36.44 | lennert | my pentium 200 is likely faster at this than your p4 3.6ghz |
01:36.49 | beewoolie | Interesting. |
01:36.59 | beewoolie | This is a notebook running at 1.6GHz. |
01:37.07 | lennert | for ages, robert olsson fastest routing box was a supermicro 933mhz pentium iii |
01:37.13 | beewoolie | It's not a p4. It's a pentium M, I believe. |
01:37.15 | lennert | why? because the pci access latency is so damn low. |
01:37.25 | lennert | it creamed the xeons in every test |
01:37.37 | beewoolie | I have a supermicro box, too. It was really great, but the athlon 64 single proc was still faster. |
01:37.48 | lennert | in this test, the cpu is stalling thousands of cycles for each I/O port write.. it really is that slow. |
01:37.48 | beewoolie | Ah. Nice. I like that company's machines. |
01:38.00 | beewoolie | I've been waiting for them to release a dual-proc AMD machine. |
01:38.05 | beewoolie | ...that I can afford. |
01:38.24 | lennert | 1.6 GHz / 326 kHz = a whopping 4907 cycles per parallel port i/o write |
01:39.13 | lennert | if i get one board i was hoping to get, i'll need a pci-express mobo to put it in |
01:39.15 | beewoolie | Even giving instructions 10 cycles per execute, we are at 500 to 1. |
01:39.27 | lennert | so i'll have to buy a new mobo, and might as well just buy a nice AMD box anyway |
01:39.27 | beewoolie | Actually, 500 to 2 since we are writing twice. |
01:39.55 | beewoolie | This also helps with understanding the real advantages of the USB dongle. |
01:40.00 | lennert | an i/o port write will likely break the pipeline completely and put the cpu in microcode |
01:40.15 | lennert | that could be a couple hundred cycles |
01:40.17 | beewoolie | I don't see what you mean. |
01:40.31 | beewoolie | Oh, you're saying that the IO itself is really really inefficient. |
01:40.33 | lennert | then to get the write to the northbridge.. to the southbridge.. and wait for the ack |
01:40.37 | lennert | yes |
01:40.40 | lennert | the i/o itself is dog slow |
01:40.51 | beewoolie | that's why memory mapped IO is so nice. |
01:40.57 | lennert | most PC NICs use memory-mapped I/O (i.e. memory transactions instead of i/o transactions) because of that |
01:41.00 | lennert | yeah :) |
01:41.13 | beewoolie | The port thing has been stupid for a really long time. |
01:41.16 | lennert | well, on most embedded boards pci i/o is done with memory transactions anyway.. but that's a whole nother sotry |
01:41.25 | beewoolie | I can kinda see it when there is only 64K of address space. |
01:41.31 | beewoolie | Right. |
01:41.38 | beewoolie | This IO port stuff is legacy. |
01:41.40 | lennert | yeah |
01:41.48 | lennert | and pc makers don't bother optimising i/o accesses at all |
01:42.09 | lennert | (not that pci memory latency is much better, but oh well...) |
01:42.33 | lennert | latency has been steadily going down the tubes |
01:42.43 | lennert | bandwidth keeps improving by leaps and bounds, but latency.. |
01:42.48 | lennert | latency of latency |
01:42.53 | lennert | s/of/oh/ |
01:43.47 | beewoolie | It's really killing us. |
01:43.56 | beewoolie | Makes it even more important to get more cores. |
01:44.46 | lennert | so that we can sacrifice half of the cores to stalling on i/o :) |
01:44.59 | beewoolie | Right! |
01:45.01 | lennert | and the other ones to our firewall software and virus and malware scanners |
01:45.14 | lennert | and Word will still run slow |
01:45.15 | beewoolie | More cores! More cores! Bring on the cores!!!!! |
01:45.24 | lennert | haha |
01:45.25 | beewoolie | CORES CORES CORES |
01:45.29 | lennert | i'm all for more processing power :) |
01:45.32 | beewoolie | SPAM SPAM SPAM SPAM.... |
01:45.46 | lennert | :)) |
01:45.48 | beewoolie | Wonderful cores! Wonderful cores! |
01:46.10 | lennert | get your cheap cores! $100 a hundred! |
01:46.14 | beewoolie | I saw an interesting link about a really small power supply... |
01:46.52 | lennert | a power supply for each core? :) |
01:47.10 | beewoolie | Looking... |
01:47.15 | lennert | i'm very interesting in efficient hardware |
01:47.21 | lennert | s/interesting/interested/ |
01:47.22 | beewoolie | http://www.bit-tech.net/news/2006/01/07/pico_psu/ |
01:47.36 | beewoolie | What I don't get is why this is interesting. |
01:47.51 | lennert | before i got the epia i was thinking about making my internet gateway an arm box |
01:48.13 | lennert | 120 watt.. damn, pretty small thing |
01:48.20 | beewoolie | That's been on my agenda, too. I got close, but the slug crashes. |
01:48.35 | beewoolie | 10A at 12V is OK by me. |
01:48.36 | lennert | and my slug has amnesia |
01:48.48 | lennert | i was thinking of a simtec atx or mini-itx board |
01:48.59 | lennert | but in the end the epia was cheaper, and doesn't draw much more power anyway |
01:49.36 | beewoolie | I've been most interested in low power -> low noise. |
01:49.42 | lennert | same |
01:49.51 | lennert | my previous box was a dual xeon |
01:50.03 | lennert | booting it was like firing up a jet |
01:50.46 | beewoolie | My most common maintenance task has been replacing fans. |
01:51.45 | lennert | i have an atx-size case with 4x200g disks and i just don't know how to keep it cool other than leaving the side panels off and pointing a big desk fan at it |
01:52.21 | lennert | the epia board has a fan on the cpu, but since it's a 1.0ghz and i always run it at 500mhz, and since the psu fan _and_ the case fan blow/suck the exact area where the cpu, i can probably rip the cpu fan off |
01:52.43 | lennert | (epia is a different box) |
03:23.31 | *** join/#openjtag dyoung-away (n=dyoung@nslu2-linux/dyoung) |
05:26.41 | beewoolie | Quiet day. |
05:29.15 | ka6sox-laptop | ya...Hi beewoolie |
05:29.22 | beewoolie | ka6sox-laptop: Hey man. |
05:29.40 | ka6sox-laptop | are you able to get all the parts for ep1220's interface? |
05:29.43 | beewoolie | ka6sox-laptop: Did I tell you I repaired the JTAG you sent me? |
05:29.51 | ka6sox-laptop | what was wrong with it? |
05:29.54 | beewoolie | ka6sox-laptop: I'm waiting on a resistor, of all things. |
05:30.00 | ka6sox-laptop | ha! |
05:30.02 | beewoolie | One of the resistors on the device failed. |
05:30.07 | beewoolie | It broke in two. |
05:30.14 | ka6sox-laptop | weird. |
05:30.20 | beewoolie | I replaced it with one from the most recent order. |
05:30.21 | ka6sox-laptop | thanks for fixing it. |
05:30.35 | beewoolie | Luckily I bought a couple extras...erm...194 extras. |
05:30.57 | ka6sox-laptop | ha ha! |
05:30.59 | ka6sox-laptop | thats funny. |
05:30.59 | beewoolie | NP. It was kinda cool that I figured it out. I mean, I'm no wizz with the hardware. |
05:31.10 | beewoolie | It was only $3 for 200. |
05:31.23 | beewoolie | Or, may be $4. Still, hardly worth buying anything less. |
05:31.28 | ka6sox-laptop | ya |
05:31.43 | beewoolie | I've been using it to write JTAG code. |
05:31.51 | beewoolie | It's interesting how the thing is setup. |
05:31.56 | beewoolie | Mostly, it works without too much hassle. |
05:31.58 | ka6sox-laptop | are you using linux for fpga stuff? |
05:32.10 | beewoolie | There are somethings I don't yet understand. |
05:32.11 | ka6sox-laptop | (ie the ISE in Linux?) |
05:32.27 | beewoolie | ka6sox-laptop: No, I'm working to replace the functionality of the BDI. |
05:33.01 | ka6sox-laptop | w00t! thats what I want too! |
05:33.07 | beewoolie | ISE...um...International Securities and Exchange? |
05:33.20 | beewoolie | Yeah. I'm at the stage of reading lots of scan chains. |
05:33.24 | ka6sox-laptop | the FPGA developement environment. |
05:33.53 | beewoolie | I'm not yet sure how to get access to system registers. I suspect I need to send ARM instructions over one of the JTAG chanins. |
05:33.56 | beewoolie | Ah. |
05:34.10 | beewoolie | I don't think I need to learn yet another set of skills...right now. |
05:34.24 | beewoolie | I'm OK with getting some high qwality JTAG going. |
05:34.28 | ka6sox-laptop | I hope to use the S3e and ep1220's board. |
05:35.45 | beewoolie | Interesting note, the fastest we can signal from my laptop is about 260KHz. |
05:36.19 | ka6sox-laptop | not very fast. |
05:36.23 | beewoolie | With the parallel interface. |
05:36.26 | beewoolie | No, not fast. |
05:36.28 | beewoolie | That's without delays. |
05:36.53 | beewoolie | Also, I now know why the openwince code suxks so badly when we change the frequency. |
05:37.07 | ka6sox-laptop | oh? why? |
05:37.20 | beewoolie | The usleep () call they use to slow down signaling makes the frequency no greater than 250Hz. |
05:37.39 | beewoolie | Sound familiar. Yep, that's the 10ms limit to the jiffies timer. |
05:37.47 | ka6sox-laptop | heh |
05:38.01 | beewoolie | In order to make the signaling more adjustable, I'll have to do something fancier. |
05:38.14 | beewoolie | Like the bogomips loop. |
05:38.57 | beewoolie | Also, openwince is really dumb about detecting cores. |
05:39.02 | ka6sox-laptop | I remember playing with this when we were trying to figure out why the Slugs were sooooo slow. |
05:39.12 | beewoolie | If there is nothing on the chain, it takes a really long time to detect it. |
05:39.39 | beewoolie | Are you referring to our speed-up of the slug? or of the sluggish upload over jtag? |
05:39.45 | beewoolie | no pun meant. |
05:39.56 | ka6sox-laptop | the slugs were running at 1/2 speed. |
05:40.03 | beewoolie | Right. |
05:40.09 | beewoolie | That's was a welcome discovery. |
05:40.33 | ka6sox-laptop | okay so if we use the S3e to do the heavy lifting of talking to the chains. |
05:40.47 | beewoolie | it turns out that methods for dealing with the IXP core are quite different from methods using on the others. I'm been working with an ARM9 since I have so many. |
05:41.05 | beewoolie | yeah. it would be awesome to get somthing that could signal as fast as 40MHz. |
05:41.31 | beewoolie | My code is being designed to construct buffers of signals. I compose a command list and then process it by a driver. |
05:41.41 | beewoolie | I mean, it is designed that way. |
05:41.50 | beewoolie | It works pretty well and the code is really simple. |
05:42.09 | beewoolie | The next phase will be to get the USB chip to accept a translation of these commands. |
05:43.07 | ka6sox-laptop | cool |
05:45.29 | ka6sox-laptop | even if we come up with replacement hardware (for the BDI) we still will need a good user interface :) |
05:46.03 | ka6sox-laptop | the EP1220 boards are essential to allow it to be universal. |
05:48.28 | beewoolie | There is a bothersome ommission on his design. |
05:48.31 | beewoolie | We really need sRST. |
05:48.36 | beewoolie | nSRST. |
05:48.51 | beewoolie | I hope that there is a extra GPIO line we can commandeer. |
05:49.02 | ka6sox-laptop | this is the first rev...and I think that I can make that work with the S3e |
05:49.12 | ka6sox-laptop | I hope to have mine in Feb. |
05:49.17 | beewoolie | Great. |
05:49.28 | beewoolie | You mean, you expect an S3e in Feburary? |
05:50.41 | ka6sox-laptop | yes |
05:50.53 | ka6sox-laptop | I already have the board from EP1220 |
05:51.00 | ka6sox-laptop | they are really nice. |
05:53.47 | ka6sox-laptop | next time we see him I need to get with him. |
05:57.12 | beewoolie | Have you met him before? |
05:57.32 | ka6sox-laptop | no...we have just spoken here and via email :) |
05:57.54 | beewoolie | I look forward to the day we have our first conference. |
05:58.23 | ka6sox-laptop | that would be fun. |
05:59.31 | ka6sox-laptop | I think that I'll be able to get a Schematic for the S3e board real soon now :) I need it so that I can start working with the memory controller. |
05:59.47 | ka6sox-laptop | they have 32MB of sdram on board. |
06:01.23 | beewoolie | That ought to be plenty. |
06:01.49 | beewoolie | It would be handy to come up with a protocol so that the S3e could be somewhat autonomous. |
06:03.00 | ka6sox-laptop | thats what I want to do. |
06:03.30 | ka6sox-laptop | make it so that we can set breakpoints and do other things with the S3e being a little independent. |
06:03.57 | beewoolie | One of the things I've toyed with is code to follow the state of the TAP. That's what the openwince version does. |
06:03.58 | beewoolie | However, I've not found it necessary. |
06:04.16 | beewoolie | Actually, I was thinking that the S3e would only know about JTAG. The details of how debugging is done with be handled by the host. |
06:04.31 | beewoolie | If we want to put the debug info into the device, we'll have to specialize for every target. |
06:04.47 | beewoolie | On the other hand, the JTAG scanning is standardized. |
06:04.51 | ka6sox-laptop | yep |
06:04.53 | beewoolie | All we need to do is feed it commands. |
06:05.00 | ka6sox-laptop | okay lets start simple :) |
06:05.07 | beewoolie | The handy thing would be an ability to download fragments and call them out. |
06:05.16 | ka6sox-laptop | 1st thing is FAST programming |
06:05.20 | beewoolie | There is a 'reset TAP' fragment that is really obvious. |
06:05.32 | beewoolie | Others require scanning through several chains to get a result. |
06:05.35 | beewoolie | Macro-like. |
06:05.39 | beewoolie | Right. |
06:05.44 | ka6sox-laptop | then 2ond we can start scanning the chain for things : |
06:05.49 | beewoolie | OK, here's my idea for that. |
06:06.11 | beewoolie | There is a 32 bit port available on the ARM cores. |
06:06.17 | beewoolie | We can send data back and forth. |
06:06.34 | beewoolie | Well, we could write a program for the ARM that looks at this port and writes the data to flash. |
06:06.57 | beewoolie | It adds an extra step, but it allows us to program as fast as the device can go. |
06:07.26 | beewoolie | It also means that we don't have to write anything more that the data to program into the device. |
06:07.57 | beewoolie | Plus, the program running on the core can buffer data, overlapping IO with the JTAG device with programming to flash. |
06:08.17 | beewoolie | If we make it possible to perform buffered writes, we should be able to go blazing fast. |
06:08.40 | beewoolie | The really slick method for doing this would be to put the code into cache. |
06:08.49 | beewoolie | Then, we wouldn't even need RAM. |
06:12.10 | beewoolie | Nice chatting. |
06:12.20 | *** part/#openjtag beewoolie (n=beewooli@206.124.142.26) |
07:17.46 | *** join/#openjtag dyoung-a1ay (n=dyoung@cpe-24-94-88-62.hawaii.res.rr.com) |
08:18.39 | ka6sox-laptop | [23:07] <ka6sox-laptop>they mis labeled the package and therefore they sent it the "wong way" |
08:18.39 | ka6sox-laptop | [23:07] <ka6sox-laptop>er wrong way! |
08:18.39 | ka6sox-laptop | [23:08] <ka6sox-laptop>we need to call 800-622-4205 (between 7am and 6pm CST) to complain and ask for the shipping charges back. |
08:18.39 | ka6sox-laptop | [23:08] <ka6sox-laptop>they *will* deliver the package tommorrow. |
08:18.41 | ka6sox-laptop | [23:08] <ka6sox-laptop>it has been re-routed to Goleta and they did verify my address and phone number. |
08:18.43 | ka6sox-laptop | [23:28] <--dyoung-away has quit (Read error: 110 (Connection timed out)) |
08:18.46 | ka6sox-laptop | eeek |
08:48.50 | *** part/#openjtag NAiL (n=repvik@nslu2-linux/pdpc.active.repvik) |
10:35.02 | dyoung-away | Hmm, okay |
10:35.20 | dyoung-away | I have a feeling that was for a differnt window eh. :-) |
10:36.07 | dyoung-away | Sounds good though. |
10:36.19 | dyoung-away | I wonder if you can call for me; or if I need to do it. |
10:36.26 | dyoung-away | I gotta pack |
11:27.56 | *** join/#openjtag GyrosGeier (n=richter@p549960E4.dip.t-dialin.net) |
11:49.09 | lennert | hehe |
11:54.26 | dyoung-away | Hi Lennert. |
11:54.43 | lennert | hi dyoung-away |
11:54.47 | lennert | how is it? |
11:55.02 | dyoung-away | When you absolutely need to lose a package overnight, use Fedex ! |
11:55.14 | lennert | or DHL |
11:55.17 | lennert | any will do, really |
11:55.22 | dyoung-away | heh heh |
11:55.31 | dyoung-away | Doing ok |
11:55.32 | lennert | Droppit Hideit Loseit |
11:55.50 | dyoung-away | having trouble keeping up with all the new developments. |
11:55.58 | lennert | new developments? |
11:56.08 | dyoung-away | oh, all of them. |
11:56.15 | lennert | name them ;) |
11:56.17 | dyoung-away | the whole debian debicle. |
11:56.21 | lennert | oh, that |
11:56.34 | lennert | well, at least all our work is now obsolete ;-) |
11:56.34 | dyoung-away | etc, etc... |
11:56.47 | dyoung-away | Seems so eh? |
11:56.52 | lennert | yeah |
11:57.02 | dyoung-away | Thats okay. I still use. |
11:57.12 | lennert | and me |
11:57.21 | dyoung-away | Just for Fun we should do Etch too. |
11:57.26 | lennert | yeah |
11:57.32 | lennert | just to show 'em :P |
11:57.52 | dyoung-away | Yep, and while we're at it, Ubuntu with EABI. |
11:57.54 | dyoung-away | heh |
11:58.02 | lennert | hehe |
11:58.10 | lennert | eabi with gcc 4.0 is a no-go |
11:58.24 | dyoung-away | We should proably follow up on the security stuff at some point.... |
11:58.27 | lennert | and.. all gcc 4.1 snapshots i tried don't build right for me |
11:58.37 | lennert | indeed |
11:58.42 | *** join/#openjtag ka6sox (n=ka6sox@nslu2-linux/ka6sox) |
11:58.54 | dyoung-away | Yeah, I'm kind of having my own personal toolchain nightmare myself. |
11:59.13 | dyoung-away | but on the plus side, I got Xen working just how I like it with instances for cross33 and cross34 |
11:59.21 | lennert | really? what nightmare? |
11:59.46 | dyoung-away | Its proably user error. |
12:00.09 | lennert | that's what i kept thinking with gcc 4.0/4.1 |
12:00.23 | lennert | but as it turns out, gcc 4.0 only has a part of the eabi bits needed |
12:00.35 | lennert | and the 'eabi' binaries it produces aren't eabi in any way apart from insignificant ways |
12:00.47 | dyoung-away | hmmpf. so 3.4 is the latest EABI workable version ? |
12:00.47 | lennert | s/from/from some/ |
12:00.57 | lennert | 3.4 needs codesourcery patches |
12:01.10 | dyoung-away | At least they are available. |
12:01.13 | lennert | 3.4-out-of-the-box doesn't know about eabi |
12:01.22 | lennert | true, but sarge uses 3.3 and sid uses >= 4.0 |
12:02.12 | dyoung-away | oh well. |
12:02.18 | dyoung-away | Guess we suck. :P |
12:02.28 | lennert | yeah |
12:02.38 | lennert | we do :P |
12:03.05 | dyoung-away | "Beaten Paths are for Beaten Men." |
12:03.05 | dyoung-away | I aint beat yet. |
12:03.11 | lennert | hehe |
12:03.21 | lennert | "i can will it all away." :-) |
12:03.48 | dyoung-away | I'm throwing in the towel on recycled disks though |
12:04.16 | dyoung-away | I'll have a nslu2 with disk for special builds, but I think its all going to be NFS root from now. |
12:04.28 | dyoung-away | I ate like 6 disks. |
12:04.40 | dyoung-away | or rather sarge did... |
12:05.04 | *** join/#openjtag bullet (n=bullet@189.51.203.62.cust.bluewin.ch) |
12:05.24 | lennert | "sarge ate my disks!" |
12:05.33 | lennert | and now it's declared obsolete |
12:05.37 | lennert | did the disks die in vain?? |
12:05.56 | dyoung-away | Kinda looks that way. |
12:06.20 | dyoung-away | I was trying to make a sad looking sculpture out of them; but its not quite enough to do something cool |
12:06.29 | lennert | hmmm |
12:07.02 | lennert | not sure what to do with them either |
12:07.13 | lennert | maybe just the disks themselves can be turned into an exhibition |
12:07.36 | lennert | some small looking rectangular object with "The Bone Grinder" written on it is sure to attract _some_ interest |
12:10.58 | dyoung-away | hhe |
12:11.16 | dyoung-away | If I take um all apart, there should be enough stuff to make something cool looking |
12:11.51 | lennert | a number of packages don't build on nfs root, though |
12:12.00 | lennert | mostly anything that uses db3 or db4, it seems |
12:12.12 | lennert | probably because my nfs root setup has nonexistent file locking |
12:12.19 | dyoung-away | Yeah, thats what the one special nslu2 will be fore.... |
12:12.41 | lennert | it would be nice to have a small ramdisk that can do a 'proper' nfs mount, pivot into that, and dissolve itself from existence |
12:13.22 | dyoung-away | Luckily, thats how the nfsroot works under OpenSlug and friends. |
12:13.27 | lennert | great |
12:13.30 | dyoung-away | it boots the internal ramdisk first. |
12:13.37 | lennert | the kernel nfs root sucks |
12:14.08 | dyoung-away | Its on my todo list. :-) |
12:14.20 | dyoung-away | I'm really stoked about Xen btw. |
12:14.26 | lennert | stoked = ? |
12:14.32 | lennert | excited or pissed off? :) |
12:14.47 | lennert | !dict stoked |
12:15.20 | dyoung-away | feeling of elatement? |
12:15.25 | dyoung-away | Its a good word |
12:15.39 | dyoung-away | sorry, thats a surfer word |
12:16.09 | dyoung-away | When you have a really good wave, "I was stoked about that last ride!" |
12:18.28 | lennert | ah, okay |
12:18.32 | lennert | stoked |
12:18.38 | lennert | i'll remember that word |
12:19.21 | dyoung-away | I just assumed the meaning was well known, as all my french friends knonw it; but theyre all surfers. :-) |
12:19.38 | lennert | hehe |
12:19.46 | lennert | well, i had never heard it before |
12:19.59 | lennert | except as a last name, 'Stoker' :) |
12:20.15 | dyoung-away | 0220. |
12:20.16 | lennert | i only woke up like half an hour ago |
12:20.24 | lennert | 02:20 PM here |
12:20.32 | lennert | so it's 01:20 in holland |
12:20.32 | dyoung-away | funny how that works. :-) |
12:20.36 | lennert | hehe |
12:20.42 | lennert | i went to bed at 06:00 |
12:20.46 | lennert | reading ixp23xx documentation |
12:20.48 | dyoung-away | my new years resolution is to do something cool with the S3 |
12:21.09 | dyoung-away | Collecting Dust isnt cool. |
12:21.31 | lennert | i might might might might get an ixp23xx loaner board |
12:21.38 | dyoung-away | I'm kind of dead in the water atm because my T42 caught fire. |
12:21.45 | lennert | t42? calculator? |
12:21.55 | dyoung-away | IBM ThinkPad T42. |
12:22.00 | lennert | oooh |
12:22.02 | lennert | that sucks |
12:22.05 | dyoung-away | It didnt really catch fire, but all this smoke was pouring out of it |
12:22.07 | lennert | just the power supply, or something more vital? |
12:22.19 | dyoung-away | I think it was the fan controller. |
12:22.22 | dyoung-away | or something with the fan. |
12:22.34 | lennert | if you plug it back in it starts smoking again? |
12:22.42 | lennert | see, smoking is bad for your health |
12:22.56 | dyoung-away | If I turn it on, it immediately says Fan Error. |
12:23.14 | lennert | and then you say "Tell me something new." and it continues booting? |
12:23.15 | dyoung-away | Once I had let the Magic Blue Smoke out, it was done. |
12:23.23 | dyoung-away | No, it turns itself off |
12:23.29 | lennert | oh |
12:24.14 | dyoung-away | In a strange twist of happenstance, ByronT's T42 fan broke like 3 days after mine croaked. |
12:24.14 | lennert | heh |
12:24.19 | dyoung-away | I think he got his a little bit after me. |
12:24.37 | lennert | same series? |
12:24.38 | dyoung-away | The next guy from around here that has a T42 is jacques. |
12:24.50 | lennert | tell him to make backups NOW :) |
12:24.57 | dyoung-away | so if his fan goes funny, we know theres a issue. :-) |
12:24.59 | bullet | heh, i've got a t41p! |
12:25.11 | bullet | and it's still running non-smoking |
12:25.43 | lennert | bullet: lucky bastard :) |
12:25.48 | dyoung-away | I kind of wish I had a voice recorder or something, I'm pretty sure I emitted some pretty choice words. |
12:26.08 | bullet | hehe. well, a friend of mine has a t42p, and it's display went black two weeks ago |
12:26.25 | lennert | 'choice words' |
12:26.38 | lennert | BEEP BEEP BEEP |
12:26.54 | dyoung-away | you BEEPING BEEP of BEEP |
12:26.57 | dyoung-away | holy BEEP |
12:27.04 | dyoung-away | what BEEP BEEEP BEEEEEEEEEEEEEEEEEEP |
12:27.09 | lennert | you BEEEEEP fornicator |
12:27.45 | dyoung-away | I was thinking earlier its probably a sign to move to the Linux WebPack. |
12:27.54 | dyoung-away | And that was actually part of my motivation to Xen-ify. |
12:28.06 | lennert | i love xen |
12:28.25 | lennert | i scored a linux version of ISE that i'm now happily using |
12:28.32 | dyoung-away | Wow |
12:28.48 | lennert | i wrote an fm modulator to drive the vga dac on the xupv2p board.. :P |
12:28.52 | dyoung-away | does the foo-XUP target work with your version ? |
12:29.00 | lennert | foo-xup? |
12:29.07 | dyoung-away | hehe what you just said. |
12:29.11 | dyoung-away | XUPV2P |
12:29.18 | dyoung-away | couldnt remember the model. :-) |
12:29.21 | lennert | xupv2p? well, it can synthesize for the xc2vp30, which is what's on that board |
12:29.44 | lennert | i also got the fscking SystemACE figured out |
12:30.21 | dyoung-away | I need to catch up with you |
12:30.38 | dyoung-away | at this point I basically dont know what the eff I'm doing. |
12:30.51 | lennert | (the systemace is a device you hook into your jtag chain, and it's normally transparent, but you can tell it to program the devices on the 'inner' half of the jtag chain from a .ace file on a compactflash) |
12:31.29 | lennert | you need to understand the.. what, 3 basic vhdl constructs, and how they translate to flipflops |
12:31.53 | lennert | after that, it's a lot of code writing |
12:31.55 | dyoung-away | Yeah, I had to dump my VHDL knowledge to make space for other crap. |
12:32.05 | dyoung-away | so I need to just start from scratch. |
12:32.05 | lennert | don't read any vhdl, most of what's out there is crap :-) |
12:32.50 | dyoung-away | Okay. |
12:32.54 | dyoung-away | heh |
12:32.59 | lennert | mine is crap too |
12:33.13 | lennert | i like to believe you have to develop your own style.. |
12:33.23 | lennert | ..and then when you're proficient enough, dump all of that once again :) |
12:35.25 | dyoung-away | lennert: I'm going on holiday tommrow. I'll be back on the 23rd. |
12:35.35 | lennert | okay |
12:35.40 | lennert | and you won't have internet access, i guess? :) |
12:35.44 | dyoung-away | we should probably talk then a little bit about "The Plan" |
12:35.53 | lennert | i'm coming back home next monday |
12:35.57 | lennert | yeah.. 'the plan' |
12:36.02 | dyoung-away | I might have internet access... dunno yet. |
12:36.11 | dyoung-away | I'm not taking a laptop since it caught fire. :-) |
12:37.52 | lennert | maybe some snow will do it some good :) |
12:42.38 | dyoung-away | Hehe. That irritates me, I cant use my T42 in Antartica just because my fan doesnt spin. |
12:42.41 | dyoung-away | oh well. |
12:42.54 | lennert | lol |
12:43.14 | lennert | they should let you rip out the fan when ambient is under -10C, i think ;-) |
12:46.50 | vmaster | loool |
13:03.02 | *** join/#openjtag prpplague (n=billybob@72.22.152.142) |
14:52.42 | *** join/#openjtag ByronT_ (n=byron-po@nslu2-linux/ByronT) |
15:03.34 | *** join/#openjtag ByronT (n=byron-po@nslu2-linux/ByronT) |
15:17.53 | GyrosGeier | Hrm |
15:18.10 | GyrosGeier | I need a tool to diff two binaries as opcodes |
15:21.44 | lennert | objdump/diff no good? |
15:33.16 | *** join/#openjtag kas11 (n=kas11@244-120.8-67.tampabay.res.rr.com) |
15:34.37 | kas11 | good mawnin', everyone...I see most all of the usual suspects here :) |
15:39.06 | lennert | good yawnin' |
15:43.37 | kas11 | ;) @ lennert |
15:43.50 | GyrosGeier | lennert, no, as diff cannot be told to ignore addresses |
15:44.21 | GyrosGeier | lennert, and there have been instructions inserted/deleted |
15:48.42 | lennert | delete the addresses with sed or somesuch? |
15:56.06 | [g2] | ka6sox around ? |
15:56.32 | prpplague | kas11: suspects? am i being profiled? |
15:57.40 | *** join/#openjtag ByronT (n=byron-po@nslu2-linux/ByronT) |
16:06.22 | [g2] | lennert hey |
16:06.28 | lennert | hey gee two |
16:06.28 | [g2] | are you at fosdem ? |
16:06.42 | lennert | not right now :) |
16:06.51 | [g2] | is that this week ? |
16:06.52 | lennert | but i'm going there, yeah (at the end of february) |
16:06.57 | lennert | 26-27-28 feb i think |
16:07.06 | [g2] | ah |
16:07.10 | lennert | why so? |
16:07.59 | [g2] | I had the mistaken idea it was going on now |
16:09.08 | lennert | anyone here going to fosdem? |
16:14.15 | GyrosGeier | if I can find a place to stay |
16:14.24 | GyrosGeier | anyone going to Embedded World? |
16:14.44 | prpplague | not me, i have no budget this year for conferences |
16:15.10 | vmaster | i'll be at the embedded |
16:15.16 | GyrosGeier | EW is a trade fair, so it even makes less sense to go there unless you happen to be in the business |
16:15.59 | vmaster | hall 11, booth 112, iirc |
16:17.12 | lennert | 112 is the european 911 :) |
16:17.49 | vmaster | hehehe, yeah |
16:18.01 | lennert | you'll be doing emergency services? :) |
16:18.33 | vmaster | no, not really - presenting the OpenOCD |
16:18.58 | vmaster | it's a shared booth of german universities |
16:19.51 | GyrosGeier | hall 12, booth 508 |
17:07.29 | ulf_k_ | hi |
17:07.36 | lennert | hello |
17:08.18 | ulf_k_ | a question to the super gurus of you all, what is a lattice lc4032v for? |
17:08.33 | vmaster | a small cpld |
17:08.55 | ulf_k_ | can it used to write to a flashchip? |
17:09.11 | lennert | probably, yes |
17:09.17 | lennert | if you program it :) |
17:09.25 | ulf_k_ | if you have a second of time can you look this picture: |
17:09.50 | ulf_k_ | http://www.wlanhain.de/morewireless/hardware/dwl-7000/dwl-7000.jpg |
17:10.25 | ulf_k_ | there is a jtag iface as well a smal iface near by the lattice |
17:11.15 | lennert | where? |
17:11.19 | lennert | (i'm looking at the picture now) |
17:11.30 | vmaster | i can see the jtag header, but what small interface do you mean? |
17:11.39 | vmaster | ah |
17:11.40 | vmaster | ok |
17:11.47 | vmaster | top-right corner, lennert |
17:11.53 | ulf_k_ | yes |
17:11.56 | lennert | right |
17:12.00 | lennert | 8 pin header, 1 pin missing |
17:12.04 | ulf_k_ | the other corner is serial |
17:12.20 | vmaster | the 8-pin header looks like a lattice isp layout |
17:12.29 | vmaster | that's jtag, too |
17:12.34 | vmaster | the 20-pin layout is arm |
17:12.41 | lennert | yeah |
17:12.42 | ulf_k_ | aha |
17:12.46 | vmaster | didn't we talk about this a few months ago? |
17:12.52 | ulf_k_ | yes |
17:13.43 | vmaster | get the lattice datasheet, identify the tdi/tdo pins, and see if there's a connection between the 8-pin header and the tdi/o pins |
17:14.12 | *** join/#openjtag dwery (n=dwery@nslu2-linux/dwery) |
17:14.13 | ulf_k_ | well i have 5 of this boards, now i set up 3 on the roof with org. firmware running from dlink, they are wonderfull, so fast in 80211 a with wds and turbo a |
17:15.01 | ulf_k_ | because they are very good wifis i decided to look again to hack this for running linux |
17:16.11 | ulf_k_ | these 8pin (7only printed) sre somehow attached to the lattice |
17:22.02 | [g2] | ulf_k_ that's got an IXP in there right ? |
17:31.07 | ulf_k_ | ixp 420ab |
17:46.13 | *** join/#openjtag wookey_ (n=wookey@217.147.92.89) |
17:46.36 | wookey_ | I recognise a lot of these names :-) |
17:47.28 | prpplague | wookey_: greetings |
17:47.33 | lennert | hello wookey_ |
17:47.47 | *** join/#openjtag AchiestDragon (n=dave@whipy.demon.co.uk) |
17:49.08 | prpplague | wookey_: what brings you to our neck of the woods? |
17:49.09 | [g2] | wookey_ welcome |
17:49.19 | wookey_ | what is this blackdog thing then |
17:49.53 | wookey_ | you need some hardware on the end of the wire in order to do JTAG fast enough? |
17:50.00 | [g2] | Realm Systems is trying to make an enterprise biometric device |
17:50.24 | [g2] | the released project blackdog to try and get open sourcer's on board |
17:50.30 | wookey_ | prpplague: g2 just told me I would be interested |
17:50.39 | wookey_ | he is right |
17:50.44 | [g2] | and offered $75K in prize money |
17:51.04 | prpplague | http://www.linuxdevices.com/news/NS8980836353.html |
17:51.07 | wookey_ | that's a good way to get some attention |
17:51.34 | [g2] | it's like Janet Jackson at the super bowl |
17:51.40 | [g2] | short term attention |
17:51.51 | prpplague | hehe |
17:52.04 | [g2] | that that all short term attention is _bad_ :) |
17:52.34 | [g2] | So the blackdog has a PPC hard core in the FPGA and usb 2.0 |
17:52.51 | [g2] | it can connect to windows and supossedly to linux via USB-NET |
17:53.14 | [g2] | there's a MMC expansion and it runs Sarge on the PPC hard core |
17:53.36 | [g2] | I think it's got 64MB ram and 256 or 512 MB flash on board |
17:53.47 | lennert | i tried sarge ppc but that didn't run on my v2pro |
17:53.56 | lennert | something with floating point |
17:54.08 | lennert | so they're using a custom version, hm? |
17:54.09 | [g2] | based on configuration option plus a biometeric finger print board |
17:54.22 | [g2] | they released a QEMU kit |
17:54.26 | prpplague | i wonder what they are using for minuetia comparisons |
17:54.29 | [g2] | and It runs when I plug it into the PC |
17:54.38 | prpplague | i've not found any OSS apps that do very well |
17:55.22 | [g2] | wookey_ so with the blackdog, I think we could connect it to an USB 2.0 linux host, a laptop or loft or what ever |
17:55.47 | [g2] | and then reprogram the FPGA to use the MMC connections to drive high speed JTAG |
17:56.08 | prpplague | [g2]: nice |
17:56.10 | [g2] | That would work as a proto |
17:56.32 | [g2] | I've talked to Realm a while ago and are interested in OEMing later this year |
17:56.44 | wookey_ | OK that makes sense. |
17:56.48 | [g2] | or we could just layout and build our own board |
17:56.58 | wookey_ | balloon3 has a built-in FPGA which is good for this sort of thing |
17:57.20 | [g2] | but a $199 for the 256MB version it's easier (and way cheaper) to just buy Blackdogs and plug them in |
17:57.55 | [g2] | is the B3 shipping and what kinda FPGA is on there ? |
17:58.03 | wookey_ | well I was thinking that loft+blackdog is more than just balloon |
17:58.35 | wookey_ | but no its not shipping yet - prototypes this month/feb so it'll be a while before stuff actually works |
17:58.54 | [g2] | well the thing about the Loft is that you could send these out to all the production facilities and control them via VPN or they could dump info to your site |
17:59.27 | vmaster | ah, wookey, you're from aleph1, right? |
18:00.28 | wookey_ | Indeed - I'm just trying to understand why 2 computers is easier than one here (beyond expediency in terms of getting somthing up asap) |
18:00.28 | wookey_ | vmaster: I am |
18:00.28 | wookey_ | I suppose in practice you have to plug it into something (which would normally be a PC) |
18:00.28 | [g2] | wookey_ here's why I'd spilt it that way |
18:00.41 | [g2] | you just said it |
18:00.49 | [g2] | the front end can vary |
18:01.02 | wookey_ | makes sense. |
18:01.17 | [g2] | A loft would just a simple platform my there are _many_ even a NSLU2 |
18:01.46 | [g2] | I think you might want multiple dongles too |
18:01.53 | [g2] | like 32 or even 64 |
18:02.09 | [g2] | then you could test boards in parallel |
18:02.23 | wookey_ | there is presumably a speed issue - jtag needs quite a lot f data (which is why it's bloody slow down a parallel port) |
18:02.41 | vmaster | depends on how you use it |
18:02.48 | wookey_ | I have no idea how much data and thus whether 32 dongles would need a lot of bandwidth? |
18:02.48 | [g2] | vmaster exactly |
18:03.22 | [g2] | well that's part of the beauty of the Blackdog which has a hardcore local to the FPGA |
18:03.46 | vmaster | if you want speed, you have to use the debug facilites provided by your target - using the openwince approach would kill a multi-mhz speed performance wise, too |
18:03.52 | [g2] | wookey_ the Ballons are open right ? |
18:04.03 | wookey_ | [g2]: yep |
18:04.09 | wookey_ | you can build your own |
18:04.14 | [g2] | we could probably get the netlist for the V1 or V2 to use as an example |
18:04.25 | [g2] | or even help debug and setup the V3 |
18:04.37 | wookey_ | that sounds good. |
18:05.03 | [g2] | that's ARM9 based right ? |
18:05.13 | wookey_ | OK. I'll try and get you a netlist to play with shall I? |
18:05.28 | wookey_ | xscale |
18:05.28 | [g2] | not yet |
18:05.37 | [g2] | YUMMY |
18:05.48 | [g2] | 255 ? |
18:05.52 | [g2] | PXA255 |
18:06.14 | prpplague | wookey_: we've been experimenting with a wide range of solutions for doing jtag here |
18:06.30 | prpplague | wookey_: most of what we have come to realize is what [g2] is covering |
18:06.36 | wookey_ | where's here? |
18:06.41 | prpplague | openjtag |
18:06.42 | vmaster | #openjtag |
18:06.46 | wookey_ | g2 yes |
18:07.41 | [g2] | do anybody know if the xscale cores are any different for JTAG between the PXA and IXP lines ? |
18:08.11 | vmaster | you'll need a different debug handler for each one of them |
18:08.25 | vmaster | but the hardware properties are the same |
18:08.34 | [g2] | vmaster sure but this is more for BSDL |
18:09.10 | [g2] | BSDL and Flashing initially |
18:09.23 | [g2] | and all the horsepower to support debugging later |
18:09.40 | [g2] | I'd think that beewoolie would be fine with this |
18:10.00 | wookey_ | all I know is xscale has a 32K debug zone intended for JTAG access built-in |
18:10.05 | prpplague | wookey_: the ez-usb stuff can be reprogrammed fairly easy to do jtag, but the throughput doesn't come close to a dedicated device - http://www.elinux.org/wiki/EzUsb |
18:10.15 | [g2] | and we can even possibly plug ep1220/other device into the blackdog for the level shifting / FPGA front-end |
18:11.31 | [g2] | prpplague there are lots of different solutions to many different issues we are all facing |
18:11.40 | prpplague | [g2]: yep |
18:11.55 | prpplague | [g2]: although the blackdog idea sounds intriging |
18:12.11 | [g2] | prpplague I think that'd just be a POC/proto |
18:12.31 | [g2] | there are lots of different areas and to me the FPGA programming is the biggest risk |
18:13.08 | lennert | why risk? |
18:13.34 | wookey_ | [g2]: I know the engineering dept here (Cambrdige) is very keen on the FPGA thing) - that's why there is one on balloon3 |
18:13.57 | wookey_ | we might be able to get them interested in this as part of their 'multidisciplinary design project' |
18:14.01 | [g2] | wookey_ you may have the contacts to get the FPGA side done |
18:14.07 | wookey_ | also in association with MIT |
18:14.23 | [g2] | quite possible |
18:14.34 | wookey_ | see http://www-mdp.eng.cam.ac.uk/index.html |
18:14.35 | [g2] | I was thinking about just contracting a FPGA programmer |
18:14.44 | wookey_ | for bullshit about the project (which balloon is part of) |
18:14.46 | [g2] | but there are many different solutions |
18:15.13 | wookey_ | they have quite a lot of student-power available if they are enthused about something |
18:15.28 | wookey_ | not always best quality, but you get smart people very cheap |
18:16.42 | wookey_ | [g2]: are you coming to mexico debconf? |
18:17.02 | [g2] | I didn't know there was a mexican debconf |
18:17.07 | wookey_ | it being relatively close... |
18:17.11 | wookey_ | this may |
18:17.20 | [g2] | cool when ? |
18:17.50 | wookey_ | http://debconf.org/ |
18:18.10 | [g2] | do i have to be a DD ? |
18:18.14 | wookey_ | nope |
18:18.24 | [g2] | or does having a buildd machine count ? :) |
18:18.26 | *** join/#openjtag beewoolie-afk (n=beewooli@206.124.142.26) |
18:18.32 | wookey_ | Very cool way to actually meet a load people and talk about stuff |
18:18.42 | wookey_ | And do some hacking |
18:19.28 | [g2] | hopefully we'll be _done_ by may :) |
18:19.35 | prpplague | beewoolie-afk: speak of the devil |
18:19.35 | wookey_ | Indeed, but the bandwidth of standing in the same place is good |
18:19.46 | beewoolie-afk | Mornin. |
18:20.05 | beewoolie-afk | Did I hear a deadline? |
18:20.24 | wookey_ | yep - deadlines make the world go round |
18:22.39 | [g2] | beewoolie-afk hey |
18:22.49 | [g2] | beewoolie-afk you know wookey_ right ? |
18:22.50 | beewoolie-afk | [g2]: hey man. |
18:22.54 | beewoolie-afk | Haven't met |
18:23.00 | beewoolie-afk | wookey_: Pleased to meet you. |
18:23.23 | [g2] | beewoolie-afk you know the Balloon hw right ? |
18:23.36 | beewoolie-afk | URL? |
18:23.53 | prpplague | http://www.aleph1.co.uk/armlinux/index.html |
18:24.02 | prpplague | hehe i have it bookmarked |
18:24.06 | [g2] | heh |
18:24.31 | [g2] | wookey_ at aleph1 |
18:24.40 | [g2] | s/at/is at/ |
18:25.02 | [g2] | it's an open board and they working on a V3 now |
18:25.03 | beewoolie-afk | That's one of the DEC parts, right? |
18:25.19 | [g2] | the new one has a PXA255 on it |
18:25.35 | beewoolie-afk | No net? Am I missing it? |
18:25.46 | [g2] | it just a hw board |
18:26.13 | beewoolie-afk | It's all HW boards. It would have to use USB ethernet for getting out. |
18:26.17 | beewoolie-afk | Looks nice. |
18:26.19 | [g2] | I'm pitching to wookey_ the idea about starting a test fixture business |
18:26.27 | beewoolie-afk | Nice. |
18:26.42 | beewoolie-afk | I'm making progress on the JTAG stuff. |
18:26.44 | [g2] | they'd be the alpha user |
18:26.51 | wookey_ | better url for balloon is http://balloonbaord.org/ |
18:26.56 | wookey_ | better url for balloon is http://balloonboard.org/ |
18:27.49 | prpplague | hehe |
18:28.02 | wookey_ | hi beewoolie-afk who are you? |
18:28.16 | wookey_ | a man who knows about jtag? |
18:28.18 | beewoolie-afk | Sorry... |
18:28.37 | wookey_ | not afk :-) |
18:28.38 | prpplague | [g2]: that page is linked from the aleph1 site anyeay |
18:29.00 | beewoolie | Really, I'm ntk |
18:29.02 | prpplague | wookey_: beewoolie currently does the sharp line of arm sdk's |
18:29.26 | wookey_ | for zaurus ? |
18:29.28 | beewoolie | I got roped into this IRC by [g2] because I wrote a bootloader. |
18:29.34 | beewoolie | wookey_: No, LH processors. |
18:29.45 | prpplague | wookey_: hehe, no sharp has a line arm processors |
18:29.48 | beewoolie | It's targeted to commercial users mostly. |
18:29.48 | wookey_ | right |
18:30.07 | beewoolie | IMHO, they designed the processors to sell LCD panels. |
18:30.15 | wookey_ | I didn't know about that |
18:30.33 | [g2] | it's like food at the pub |
18:30.39 | [g2] | it's designed to sell beer |
18:30.48 | beewoolie | And give indigestion. |
18:30.54 | vmaster | heh |
18:30.58 | prpplague | wookey_: i work for http://www.amltd.com/ |
18:31.01 | beewoolie | OK. Salty to sell beer. |
18:31.08 | prpplague | wookey_: we do custom handhelds and portable devices |
18:31.12 | beewoolie | Nice. |
18:31.40 | beewoolie | How much are these balloon boards? |
18:32.09 | wookey_ | v2 is expensive: GBP360 in ones, about 220 in hundreds |
18:32.33 | wookey_ | v3 should be less, but we're struggling to get it down to 8 layers instead of 10. proto is going to be 10 |
18:32.33 | beewoolie | v2 is Aleph 2.05? |
18:32.39 | wookey_ | correct |
18:32.45 | wookey_ | 2.05g |
18:32.52 | *** join/#openjtag prpplague (n=billybob@72.22.152.142) |
18:32.54 | wookey_ | in fact is what we've made a lot of |
18:33.08 | wookey_ | obvioulsy build costs depnds which options you go for |
18:34.16 | wookey_ | be a lot less if you made them in china, instead of Norfolk :-) |
18:34.53 | beewoolie | I didn't realize that labor was a significant component to building boards. |
18:35.09 | wookey_ | labour and plant costs |
18:35.34 | wookey_ | you need an awful lot of expensive kit these days, so cost of borrowing matters I suppose. |
18:35.42 | beewoolie | I thought most folks hired-out board stuffing. |
18:35.50 | wookey_ | we do |
18:35.54 | beewoolie | At least, I did when I worked for a firm that had boards built. |
18:36.16 | wookey_ | but to a fairly local outfit, who are good, but not particularly cheap |
18:36.43 | wookey_ | altough simtec build their stuff in-house |
18:37.03 | [g2] | the cost of mgmt and vendor selection and time out weighs the cost of just doing it locally with a known entity |
18:37.12 | beewoolie | Is the PXA CPU expensive? |
18:37.22 | wookey_ | [g2]: indeed it does, until you reach some (large) volume |
18:37.30 | [g2] | wookey_ exactl! |
18:37.38 | wookey_ | beewoolie: in comparison to the samsung ones, yes |
18:38.02 | beewoolie | Sharp's most expensive arm9 is about $15 IIRC. It may be as much as $20. |
18:38.27 | wookey_ | I'm not doing buying but pxa255 is somewhere in the $20-$30 range I think |
18:38.27 | beewoolie | I seem to recall it's quite affordable. They even have one with a built-in MAC, but it's arm7. |
18:39.00 | beewoolie | I suspect that the benefit from low cost of very old ARM IP. |
18:39.21 | wookey_ | v3 has tried to design out quite a lot of the cost in v2 - it'll be interesting to see how well that has gone |
18:39.31 | beewoolie | Cool. |
18:39.40 | wookey_ | but board is still a bit smaller than its natural size, which makes for expensive PCBs |
18:39.52 | prpplague | wookey_: how many layers is it? |
18:39.59 | wookey_ | v2 was 10 |
18:40.04 | lennert | 19:32 < wookey_> v3 should be less, but we're struggling to get it down to 8 |
18:40.04 | lennert | <PROTECTED> |
18:40.10 | beewoolie | Is that including the raspberry layer? |
18:40.21 | wookey_ | see - lennert is watching :-) |
18:40.31 | lennert | wookey_: you bet! |
18:40.31 | wookey_ | I don't know what that is? |
18:40.41 | lennert | i'd prefer a whipped cream layer |
18:40.55 | [g2] | wookey_ are you doing a PXA270 on there ? |
18:41.17 | beewoolie | lennert: I think you might need to learn to bake some desserts |
18:41.28 | prpplague | lennert: thanks, i closed my irc client out earlier |
18:41.31 | wookey_ | no, pxa255 - (I said above) |
18:41.49 | [g2] | wookey_ the specs still say pxa270 :( |
18:41.55 | wookey_ | prpplague: ah yes - so you did - and missed that very line :-) |
18:42.12 | wookey_ | oh - well in that case the spaces are probably right and I'm wrong :-) |
18:43.06 | wookey_ | is that on the MDP Cambridge site? |
18:43.10 | [g2] | yeah |
18:43.18 | [g2] | no |
18:43.51 | [g2] | heh yeah http://www-mdp-eng.cam.ac.uk/about/mdp_balloon_spec.pdf |
18:44.04 | [g2] | the link comes from balloon.org |
18:44.07 | wookey_ | yeah - that the best info current online |
18:44.33 | wookey_ | we're just getting our finger out to fix the wiki that's been dead all year and collect the info on the site |
18:44.37 | [g2] | and the LCD interface ! |
18:44.56 | vmaster | mhh, that link doesn't work for me |
18:45.08 | wookey_ | http://www-mdp.eng.cam.ac.uk/about/mdp_balloon_spec.pdf |
18:45.18 | vmaster | ah, thx |
18:45.20 | [g2] | wookey_ thx |
18:45.25 | wookey_ | (never type URLs - fatal) :-) |
18:45.37 | *** join/#openjtag [g2-lap] (n=g2@cpe-066-057-008-035.nc.res.rr.com) |
18:45.42 | [g2-lap] | different computer |
18:45.45 | wookey_ | I need to go home and tlak to the missus for 5 minutes... |
18:45.47 | [g2-lap] | not anymore |
18:46.00 | wookey_ | more later |
18:46.07 | [g2] | wookey_ THX for talking with us |
18:46.34 | prpplague | wookey_: nice to have to stop in |
18:46.40 | prpplague | i/you |
18:47.02 | wookey_ | no, I spend far too much time just talking... |
18:47.16 | wookey_ | (which is very useful but doesn't get all the other things done...) |
18:47.45 | lennert | wookey_: bye |
18:47.55 | [g2] | cheers |
18:48.05 | beewoolie | Bye wookey_ |
18:48.58 | [g2] | Ok I'll toss this out |
18:49.30 | lennert | what are you tossing out? money? :) |
18:49.33 | prpplague | wookey_: later |
18:50.00 | prpplague | its time for those in the UK to start their friday night pub crawl anyway |
18:50.06 | [g2] | I'd know who interested in working on solving this problem of the test fixture issue |
18:50.10 | vmaster | at 18:50? |
18:50.46 | [g2] | basically it's high-speed JTAG plus netlist munger and magic |
18:51.02 | [g2] | that we could then use and sell |
18:51.39 | beewoolie | Sounds like a good target. I've been musing about what sort of pre-packaged solutions this could proved. |
18:51.44 | beewoolie | s/proved/provide/ |
18:52.35 | [g2] | beewoolie a friend is interested in having this problem solved and I'm interested in it too |
18:52.48 | prpplague | vmaster: sure.....get started early |
18:53.03 | [g2] | This is the reason to focus on the high-speed JTAG |
18:53.08 | lennert | 18:50 _early_ ?? |
18:53.14 | lennert | we always go to the bar at 17:00 |
18:53.18 | lennert | every single day |
18:53.23 | prpplague | lennert: hehe |
18:53.25 | [g2] | as it's a driving cost factor in test fixture and manufacturing time |
18:53.28 | beewoolie | [g2]: I was just talking about this with ka6sox. |
18:53.29 | lennert | workin 9 to 5, baby |
18:53.56 | vmaster | how do you get the test vectors? |
18:53.59 | beewoolie | I think we need to come up with something that can signal up to 40MHz. |
18:54.08 | beewoolie | None of our current designs go that fast. |
18:54.18 | lennert | vmaster: generate them from the netlist |
18:54.20 | [g2] | beewoolie ideally yes, |
18:54.33 | [g2] | I think we could start with 10Mhz |
18:54.38 | beewoolie | [g2]: I wrote a parser for BSDL files. It isn't so useful to me at the moment, but it will make test fixtures useful. |
18:54.53 | beewoolie | [g2]: Well, we've got something like 3MHz with the ftdi chip. |
18:55.06 | vmaster | beewoolie: not even close to that in reality |
18:55.08 | beewoolie | I've been working on the JTAG component. |
18:55.11 | vmaster | more like 1 mhz |
18:55.21 | beewoolie | vmaster: with latencies? |
18:55.25 | vmaster | yeah |
18:55.25 | [g2] | That's great for initial testing |
18:55.41 | beewoolie | heck, that isn't much of an improvement over a parallel dongle. |
18:55.53 | beewoolie | I get about 264KHz out of a parallel interface. |
18:55.56 | vmaster | if all you do is scanning around the 500+ boundary scan pins and waiting for that to return you'll end up with much less |
18:56.04 | vmaster | beewoolie: yeah, that's what i have here, too |
18:56.16 | beewoolie | That's really disappointing. |
18:56.26 | beewoolie | It makes the USB device far less interesting that I thought. |
18:56.37 | [g2] | ah |
18:56.39 | lennert | what does the xilinx platform usb cable get? |
18:56.45 | beewoolie | In fact, it makes it not worth much effort. |
18:56.49 | [g2] | I think it's great for flashing and maybe some debug |
18:56.54 | beewoolie | lennert: That's what I've been using. |
18:56.55 | vmaster | well, it really depends on what you do with it |
18:57.22 | beewoolie | I've been using it as a platform to stand on to get JTAG code working. |
18:57.28 | vmaster | if you're able to scan a lot of data without depending on the results, you can probably go beyond 1 mhz |
18:57.41 | vmaster | beewoolie: he's talking about the usb one |
18:57.43 | [g2] | hence the 3 MHz |
18:57.50 | lennert | my laptop does 740k parallel port writes per second, so that's ~370kHz |
18:58.03 | lennert | beewoolie: the platform usb one |
18:58.06 | lennert | vmaster: right |
18:58.16 | vmaster | that comes with a ez-usb and a cpld |
18:58.27 | lennert | yeah |
18:58.33 | [g2] | 3 Mhz = 6MHz / 2 for clock edges right ? |
18:58.38 | vmaster | mhh, no |
18:58.41 | beewoolie | I'll suppose I'll have to see for myself what I can make it do. |
18:58.42 | vmaster | 6 mhz is maximum |
18:58.55 | lennert | http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?sGlobalNavPick=PRODUCTS&sSecondaryNavPick=Design+Tools&key=HW-USB |
18:58.56 | vmaster | what you can set the chip to |
18:59.13 | vmaster | but with usb latencies you end up at a lot less |
18:59.38 | beewoolie | Right. So programming flash, for example, could be quite a bit faster. |
18:59.46 | beewoolie | Than reading registers from the CPU. |
19:00.08 | beewoolie | lennert: What are they selling it for? |
19:00.08 | vmaster | mhh, when programming the flash you're waiting for results, too, aren't you? |
19:00.16 | beewoolie | Not necessarily. |
19:00.18 | lennert | beewoolie: $150 ? |
19:00.26 | beewoolie | lennert: K. |
19:00.29 | lennert | beewoolie: ridiculously overpriced if you ask me |
19:00.36 | beewoolie | It depends on the method. |
19:00.39 | lennert | beewoolie: but hard to do it cheaper on your own |
19:00.39 | prpplague | beewoolie: depends on the process |
19:00.53 | beewoolie | beewoolie: The ep1220 board is going to be about $50. |
19:01.02 | prpplague | beewoolie: i usually program all the data, then go back and verify |
19:01.16 | beewoolie | lennert: er, yeah. ep1220's board is about that in parts. |
19:01.36 | lennert | beewoolie: $150 ? |
19:01.43 | vmaster | prpplague: don't you have to wait for the flash state machine to complete the last cycle? |
19:02.22 | vmaster | you could pretend that the flash is always fast enough, but at 6mhz that _could_ not hold true |
19:02.24 | beewoolie | vmaster: it depends on the way that the program data is stored. |
19:02.44 | beewoolie | It could setup SDRAM and store the data there while programming. |
19:02.45 | prpplague | vmaster: using a parport we don't have to worry about that, i've never had a timeout |
19:02.54 | vmaster | heh, yeah, not on the parport |
19:03.00 | vmaster | but on the ep1220 for example |
19:03.17 | lennert | can you read from sdram via jtag at all? |
19:03.24 | lennert | won't the ddr be a problem? |
19:03.37 | vmaster | lennert: i guess he's talking about using the processor to do the flashing |
19:03.57 | vmaster | i.e. copying the flash algorithm to the target ram, and let it run from there |
19:04.04 | beewoolie | right. |
19:04.08 | vmaster | but that's not where g2 is going |
19:04.09 | prpplague | yea you;d have to do it through the processor |
19:04.11 | beewoolie | Actually, the code could be in cache. |
19:04.13 | lennert | right.. |
19:04.31 | lennert | you'd need the cpu to access ram |
19:04.46 | beewoolie | [g2]: I thought that you were interested in verification. flashing is a secondary goal. |
19:05.07 | vmaster | i guess g2 wants to do flashing the "openwince" way |
19:05.09 | beewoolie | [g2]: Perhaps, it's fast flashing that is the secondary goal. |
19:05.25 | beewoolie | ka6sox would disagree |
19:05.36 | beewoolie | ouch. |
19:06.07 | lennert | openwince does cpu pin toggling? |
19:06.16 | vmaster | yeah |
19:06.21 | beewoolie | ouch. |
19:06.26 | lennert | that's Evil |
19:06.37 | lennert | and un-'portable' |
19:06.39 | beewoolie | Naive |
19:06.47 | lennert | (whatever 'portable' means in this context) |
19:06.48 | vmaster | yeah, but it allows you to support ANY target processor as long as you have a bsdl file |
19:07.06 | beewoolie | True. |
19:07.23 | beewoolie | It's clearly a good solution of last resort for that fact. |
19:08.03 | prpplague | vmaster: hehe and accurate bsdl file |
19:08.09 | prpplague | s/and/a |
19:08.15 | vmaster | heh, yeah |
19:08.18 | beewoolie | prpplague: You got that right. |
19:08.20 | vmaster | well, bsdl is like black magic to me |
19:08.33 | vmaster | it seems so overly complicated |
19:08.38 | beewoolie | Crummy syntax. |
19:08.45 | beewoolie | Reminds me of SGML. |
19:09.27 | beewoolie | I wrote a parser for it, but it isn't sufficient because a lot of the data is held in strings within the BSDL structure. Those strings must then be parsed. |
19:09.34 | vmaster | hehehe, yeah |
19:09.42 | vmaster | i have someone doing this for me |
19:09.45 | vmaster | writing the bsdl parser |
19:09.55 | vmaster | i guess he's done with the parsing part |
19:09.59 | vmaster | including parsing the strings |
19:10.12 | vmaster | and he cursed about these strings for days, if not weeks |
19:10.13 | [g2] | beewoolie there are several goals |
19:10.36 | [g2] | I'm no test fixture expert (yet heh) but time is important all around |
19:11.09 | vmaster | what does such a test look like? |
19:11.39 | [g2] | I think we have the opportunity to become the enablers for small board manufactures to scale better or produce much higher quality products |
19:11.46 | [g2] | i.e. they are actually verified |
19:12.11 | vmaster | i've seen some videos on the macraigor site where they demonstrated their jtag software, but what they did seemed rather limited |
19:12.43 | [g2] | vmaster wookey_ mentioned borrowing the XJTAG for the post-production build |
19:13.06 | [g2] | I'll be looking at www.xjtag.com as they may provide a lot of information |
19:13.29 | lennert | looking at it naively.. i would try to test all nets for 0 and 1 |
19:13.31 | [g2] | I'm gonna start writing up some information about this and what's needed |
19:13.37 | lennert | (except the nets that are hooked to gnd/vcc directly) |
19:13.47 | lennert | so.. inject data from each of the source pins |
19:13.52 | lennert | and test on each of the destination pins |
19:14.01 | lennert | but that's probably very naive |
19:14.05 | lennert | [g2] :) |
19:14.11 | [g2] | actually I think you want to interpret the netlist |
19:14.15 | vmaster | well, yeah, but you can only check those nets that are connected to two jtagged devices |
19:14.20 | vmaster | like, a uC and the fpga |
19:14.21 | lennert | [g2]: yup |
19:14.28 | lennert | [g2]: generate the vectors from the netlist |
19:14.33 | lennert | [g2]: iterate over the netlist, test each net |
19:14.35 | [g2] | and check stuff like all the grounds are tied together and now are tied to VCC |
19:14.53 | lennert | not sure whether you can test vcc and gnd continuity.. ? |
19:15.02 | lennert | vmaster: indeed, otherwise it's no use |
19:15.33 | lennert | well, in the second stage, you can add some intelligence like testing simple combinatorial logic devices and/or flipflops |
19:15.39 | lennert | but doing that from the netlist is harder |
19:15.52 | [g2] | vmaster this is where your understanding of JTAG may be very helpful |
19:15.55 | lennert | so, if you have an octal flipflop, and all input/output pins go to jtag-accessible devices, for example |
19:16.22 | [g2] | I think we need to talk about different models such as a single device on the chain and multiple devices on the chain |
19:16.39 | lennert | a friend of mine had a board with a broken pullup, where changing the state of a pin needed 3 seconds to propagate |
19:17.20 | beewoolie | lennert: Great test case. |
19:17.20 | [g2] | right, I want to verify all the pullup/pull downs to the processor config lines |
19:17.40 | [g2] | and by knowing the chip and the netlist and config I think you could test that |
19:17.45 | vmaster | mhh, okay, but is this something you can identify by just looking at the netlist? |
19:18.03 | [g2] | it's not a simple problem |
19:18.05 | prpplague | [g2] yea thats one of core items for jtag purpose |
19:18.22 | [g2] | prpplague yeah I think this is done is spades |
19:18.58 | lennert | generating as much test patterns as possible is key, i think |
19:19.03 | lennert | s/much/many/ |
19:19.19 | lennert | using all the info you have |
19:20.23 | lennert | let's see if wookey sends that netlist |
19:25.12 | [g2] | We can start with and old B2 netlist |
19:25.19 | [g2] | s/and/as/ |
19:25.24 | [g2] | s/as/an |
19:25.27 | [g2] | s/as/an/ |
19:25.33 | [g2] | heh |
19:25.39 | [g2] | We can start with an old B2 netlist |
19:26.13 | [g2] | wookey_ may have some B2 boards around maybe even broken ones and they'd be best as we could determine what was hosed |
19:33.44 | *** join/#openjtag ep1220 (n=NN@gate.epatec.at) |
19:34.04 | beewoolie | ep1220: hey. |
19:34.11 | ep1220 | hey beewoolie |
19:34.26 | prpplague | ep1220: hey is for horses |
19:34.46 | beewoolie | prpplague: what are you, 60 years old? |
19:35.38 | prpplague | beewoolie: i feel that old |
19:36.25 | prpplague | gotta head out , later folks |
19:36.35 | beewoolie | later... |
19:38.06 | ep1220 | beewoolie: keeping the CPU in rest while the cache is loaded, is what i referred to. |
19:38.06 | ep1220 | keeping the CPU in rest while the cache is loaded, is what i referred to. |
19:38.07 | ep1220 | keeping the CPU in rest while the cache is loaded, is what i referred to. |
19:38.09 | ep1220 | keeping the CPU in rest while the cache is loaded, is what i referred to. |
19:38.11 | ep1220 | beewoolie: to answer Your e-mail |
19:38.21 | beewoolie | Right. |
19:38.29 | beewoolie | BTW, you don't need to shout. |
19:38.32 | beewoolie | :-) |
19:38.39 | ep1220 | sorry, i know 1 time is enough |
19:38.41 | beewoolie | I'm glad to know I was wrong. |
19:39.02 | beewoolie | ep1220: What kind of performance are you seeing? Can you qualify/quantify? |
19:40.25 | ep1220 | When I send commands to the FTDI backto back I can approach 4.5Mbit effective TCK rate |
19:40.57 | ep1220 | TCKis set to 6Mhz, but the FTDI adds some pauses between every 8 databits |
19:40.59 | ka6sox-office | hi ep1220 |
19:41.06 | ep1220 | ka6sox-office: Hi |
19:41.09 | ka6sox-office | I"m back from moving and other maladies |
19:41.20 | beewoolie | ka6sox-office: hey |
19:41.22 | ka6sox-office | my board is working wonderfully;) |
19:41.29 | ka6sox-office | hiya beewoolie |
19:41.53 | ep1220 | I'm back from holidays :-) |
19:41.58 | beewoolie | ep1220: Can you write to flash as fast as the device can be programmed? |
19:43.15 | ep1220 | I have not tried flash programming so far |
19:44.39 | ep1220 | If You do progarmming thru the JTAG chain, it is not possible. |
19:44.58 | beewoolie | ep1220: it is not possible to do what? |
19:45.15 | ep1220 | to prog as fast as the device allows |
19:46.34 | beewoolie | So, the answer is kinda-yes. The JTAG is slower than the flash device when programming. |
19:47.04 | beewoolie | what have you done with your cache-loaded code/ |
19:47.54 | ep1220 | It just turned on/off one of the LEDs. |
19:48.01 | beewoolie | :=) |
19:48.08 | beewoolie | Nice. |
19:48.46 | beewoolie | it would be really handy if we could tell the compiler to produce code that doesn't perform data loads for constants. |
19:48.59 | ep1220 | well, easiest way to verify the prog i downloaded does what it is supposed to ;-) |
19:49.42 | ka6sox-office | back in 2hrs |
19:49.54 | beewoolie | ka6sox-office: later. |
19:49.54 | ep1220 | having a compiler with that option would be great |
19:50.36 | beewoolie | I've been contemplating what it would take to write something of size without pc relative loads. |
19:51.07 | beewoolie | I may just have to use some macros to handle 32 bit constants. |
19:51.34 | [g2] | ep1220 happy new year |
19:52.39 | ep1220 | [g2]: Thank You; hope you have a great year too |
19:53.44 | ep1220 | beewoolie: I believe writing a flash program in assembly should be possible as well |
19:53.57 | beewoolie | I'm working to get there. |
19:54.15 | beewoolie | I want to use the DCC port to send the data. |
19:55.02 | vmaster | beewoolie: the dcc is of limited use with the ft2232c |
19:55.06 | vmaster | because of the latency |
19:55.32 | beewoolie | That depends on how it is used. |
19:55.36 | beewoolie | ;-) |
19:55.43 | ep1220 | vMaster: No, you do not need to handshake every word |
19:56.03 | vmaster | mhh, at 6mhz you could outrun the target, couldn't you? |
19:56.06 | ep1220 | the CPU is a lot faster than the 4 or 5Mbit/sec |
19:56.20 | beewoolie | If the jtag is slower than the flash device, there is no need to wait. |
19:56.32 | beewoolie | Moreover, there are lots of way to buffer data so that it is efficient. |
19:56.40 | vmaster | a atmel at91 might be running from a 32khz clock |
19:57.03 | beewoolie | Exceptions just make the task more interesting. |
19:57.55 | *** join/#openjtag velinp (n=velinp@c88-163.cable.netissat.bg) |
20:00.03 | velinp | hi. may I collect wisdom here? :) |
20:00.18 | beewoolie | Put the money on the barrelhead. |
20:01.26 | beewoolie | :-) |
20:02.43 | velinp | nothing for free, eh :) |
20:03.01 | beewoolie | All depends on what you want? Advice is really cheap/. |
20:04.30 | velinp | well, I was thinking about fattening an NSLU2 (32M now). It seems safer to add another 32MB than cleanup and go the 256MB way. what do you think? |
20:06.09 | beewoolie | I've never done either. I know that the openslug web site has some info about it. |
20:07.34 | [g2] | ep1220 it's nice to see you again |
20:08.28 | velinp | beewoolie: yes, I saw it; thought someone of you guys did it; sorry if I was wrong. |
20:08.59 | beewoolie | I believe that ka6sox-office has done this at least once. rwhitby as well. |
20:10.39 | ep1220 | [g2]: hows Your Loft coming along ? |
20:13.20 | velinp | bewoolie: thanks; may I have ka6sox-office e-mail as rwhitby seems quite busy; I've tried ka6sox@gmail.com and tking@websb.net - no answer. |
20:17.53 | beewoolie | That's not something that we do here. |
20:18.07 | beewoolie | If they choose to be unavailable, that's their choice. |
20:18.29 | velinp | I see; sorry I asked |
20:20.02 | [g2] | ep1220 Great thx. They are pretty much in production now |
20:20.19 | [g2] | I've got about a 12 dozen left and 100 being built |
20:20.54 | ep1220 | [g2]: congrats |
20:20.57 | lennert | re |
20:21.01 | lennert | damn internet died on me again |
20:21.13 | [g2] | ep1220 thx |
20:21.30 | [g2] | I've been hearing cool things about your board |
20:21.41 | [g2] | lennert wb |
20:21.50 | lennert | thanks |
20:22.30 | velinp | hi, lennert; remember me? (aug/sep '05) |
20:23.13 | ep1220 | [g2]: Good :-), i am not up-to-date with what happened here. |
20:23.14 | ep1220 | <PROTECTED> |
20:23.48 | lennert | velinp: yup, the bulgarian guy. |
20:24.23 | velinp | yes, I am; go offline? |
20:24.48 | lennert | what? |
20:24.53 | lennert | me, go offline? |
20:24.55 | lennert | why? |
20:24.56 | lennert | :) |
20:25.18 | velinp | no, I meant not to bother the rest |
20:25.58 | lennert | you're not bothering? |
20:28.30 | velinp | ok, I go on; I have an armeb-buildd (by wouter) on my slug and am looking for help about adding ram to it; |
20:29.00 | lennert | i can't provide you that help personally, i'm afraid |
20:31.05 | velinp | anyway, thanks. it was a pleasure to meet you here; and i'm a complete newbie to irc. |
20:32.19 | lennert | well, feel free to hang around |
20:32.29 | lennert | ka6sox may come back soon and give you some help |
20:33.04 | velinp | ok, thanks; i now go into readonly mode |
20:33.23 | lennert | okay |
20:33.32 | lennert | we talk about interesting stuff here all the time :) |
20:39.19 | vmaster | we do? |
20:41.44 | lennert | vmaster: only when you're asleep, though |
20:51.36 | [g2] | anyone know what SVF and STAPL files are ? |
20:54.41 | velinp | seems xilinx related; see http://toolbox.xilinx.com/docsan/xilinx7/help/iseguide/mergedProjects/dkxilinx/html/pp_process_generate_svf_file.htm |
20:58.46 | lennert | SVF has instructions for a jtag player |
20:58.52 | lennert | XSVF is the binary version |
20:59.21 | lennert | vmaster is the expert on this |
20:59.32 | [g2-lap] | lennert can you take a look at http://www.xjtag.com/docs/XJTAG_data_sheet.pdf |
21:01.33 | lennert | looking |
21:02.25 | lennert | kind of what i had in mind |
21:02.43 | [g2] | yeah me too |
21:02.45 | lennert | but they also have something to control pins by hand |
21:03.05 | lennert | i was thinking of doing something that does everything automaticaclly first |
21:03.14 | [g2] | and a runner (production version) versus development version |
21:03.26 | lennert | i suck at GUIs |
21:03.46 | [g2] | we don't need you to do GUIs |
21:03.47 | lennert | GUIs are _hard_ to get right |
21:04.08 | [g2] | they are _hard_ to look right |
21:05.59 | wookey_ | [g2-lap]: yes I have a few broken balloon 2 boards |
21:06.31 | [g2] | wookey_ they'd make for good test kit no ? |
21:07.21 | [g2] | wookey_ can you fill me in on the Cambridge Technology Group ? |
21:07.32 | [g2] | are they spinoffs from Cambridge ? |
21:10.00 | wookey_ | [g2-lap]: playxsvf is the player xilinx probvide to inject code into their devices |
21:10.07 | wookey_ | it the binary version of svf |
21:10.15 | wookey_ | those files are compiled from thre .jed files |
21:10.25 | lennert | .bit for fpgas |
21:10.59 | wookey_ | cambridge technology group - wher is the reference? |
21:11.54 | wookey_ | btw lennert you were tsalking about patterns above - an important one is checking for shorts by setting adjacent wires to opposite state |
21:12.25 | wookey_ | I should try and get our JTAG expert on here, but I don't knwo if he does IRC |
21:12.29 | [g2-lap] | wookey_, bottom right hand corner it's three companies http://www.xjtag.com/xjanalyser.php |
21:12.44 | wookey_ | and he'll probably just say 'but XJTAG is bbloody marvellous - just use that' |
21:12.57 | lennert | wookey_: if there's a short and you drive opposite values you can blow up output buffers.. |
21:13.38 | wookey_ | hmm - well - I understnad it's something xjatg does, and we did when we wrote code to acheive the same job in pre-jtag days |
21:14.02 | wookey_ | their interface is good too - shows you a pic of the chip and you can double click on a pin to change it's state |
21:14.11 | wookey_ | very useful when you are scoping round a board |
21:14.13 | lennert | you can perhaps configure the adjacent pin as an input.. |
21:15.12 | wookey_ | lennert: if the short is going to break the hardware then it will do it when you turn it on if XJTAG doesn't spot it first, I woulod have thought - so you don't lose anything? |
21:15.52 | lennert | wookey_: but you'd like to find it before you turn it on, and possibly desolder the component if you can, i think? |
21:16.30 | wookey_ | [g2-lap]: I haven't come across the CTG before, but they are obviously local |
21:17.20 | [g2] | wookey_ I was guessing it might be associated with the uni but it's just the name |
21:17.38 | [g2] | crafty name at that :) |
21:17.47 | wookey_ | yeah, there are an awful lot of companies with 'cambridge' in the name, including some in the US |
21:18.07 | wookey_ | Quite a few are founded by ex-university people |
21:18.10 | [g2] | Cambridge Triangle Research :) |
21:18.24 | [g2] | or RTC |
21:18.31 | lennert | real time clock? :) |
21:18.31 | [g2] | instead of RTP |
21:18.38 | lennert | real time protocol |
21:18.52 | [g2] | Research Triangle Park near me :) |
21:18.57 | [g2] | NC |
21:27.28 | AchiestDragon | ok so they offer a free 15 day trial but dont tell you how much it is |
21:29.40 | lennert | AchiestDragon: 'free'? :) |
21:29.48 | lennert | it's probably one of those.. |
21:29.54 | lennert | "if you have to ask you can't afford it" things |
21:30.35 | AchiestDragon | well guess thay would charge you interest for the free trial in the price when you pay for it |
21:32.51 | beewoolie | What does the real deal cost? |
21:33.11 | lennert | AchiestDragon: they probably use the free trial to see how interested you are and charge you accordingly |
21:33.19 | beewoolie | [g2]: BTW, I added MMU support to APEX for Voodoo_Z. If it works, it will make booting from Jffs2 much faster. |
21:33.32 | [g2] | beewoolie cool |
21:33.48 | [g2] | redboot to ramdisk is lighting on the Loft |
21:33.56 | vmaster | beewoolie: Macraigor J-Scan is very similar, and costs 1895$ |
21:33.58 | [g2] | I think it's under 10 seconds |
21:34.21 | beewoolie | [g2]: redboot uses the MMU. Once it is enable on APEX, it should be the same speed. |
21:35.26 | beewoolie | vmaster: That doesn't seem to be unreasonable. |
21:35.59 | [g2] | beewoolie probably a little faster with APEX |
21:36.12 | vmaster | beewoolie: their usbdemon is a ft2232c |
21:36.24 | vmaster | beewoolie: and the usbdemon is 750$ |
21:36.27 | [g2] | I'd like to get APEX running on the board, but there's 16MB NOR |
21:36.49 | [g2] | beewoolie I think wookey_ commented something about thousands of pounds |
21:37.11 | beewoolie | [g2]: How does the larger NOR flash change things? |
21:37.35 | beewoolie | vmaster: OK, that's way too much for the hardware. |
21:38.22 | AchiestDragon | ok , couple of questions , as im new to the chan to try and find out if this is going to be sutable |
21:39.14 | [g2] | beewoolie right this second a small footprint bootloader isn't as necessary |
21:39.29 | [g2] | AchiestDragon shoot |
21:39.39 | AchiestDragon | i have a arm based board , and am building a fpga based expantion for it , i want to be able to program the device when needed using the arm cpu prefreablay by jtag |
21:39.43 | beewoolie | [g2]: Indeed. But the point of APEX wasn't just small. |
21:39.49 | beewoolie | [g2]: ...-ness. |
21:40.46 | AchiestDragon | the arm board is a ts7200 by http://www.embededarm.com and the fpga is a cyclone2 |
21:41.06 | beewoolie | AchiestDragon: seems like a reasonable goal. |
21:41.08 | [g2] | ep9302 |
21:41.12 | [g2] | processor |
21:41.16 | AchiestDragon | yes |
21:41.31 | [g2] | I've got two |
21:42.07 | [g2] | they don't bring out JTAG |
21:42.29 | [g2] | and their very low-level boot isn't open |
21:42.47 | lennert | i think he wants to use gpios |
21:42.57 | lennert | he wants to program _another_ device using the ep9302 |
21:43.11 | AchiestDragon | the jatag on there board only provides connection to the xilinx fpga that they use for decode, |
21:44.01 | beewoolie | AchiestDragon: my intuition is that you aren't going to get much out of JTAG'n this thing. |
21:44.02 | AchiestDragon | the board i am building is a pc/104 board , and was goingto use the ts7200 dio to do the jtag host |
21:44.25 | AchiestDragon | just need to program the device |
21:44.28 | beewoolie | AchiestDragon: You're better off writing code for the device and handling the work there. You can use a serial port, for example, for comm. |
21:44.44 | beewoolie | Why? |
21:45.01 | beewoolie | I mean, are you talking about performing a JTAG emulation in software? |
21:45.24 | AchiestDragon | although i am interested in linux based software for jtag for other uses also , if i dont have to spend lots of $ on adaptors |
21:45.27 | lennert | he wants to program an fpga |
21:45.33 | lennert | with a cirrus arm cpu |
21:45.37 | lennert | cause the fpga is on the daughterboard |
21:45.46 | lennert | to program the fpga, he needs jtag |
21:45.50 | lennert | as far as i understood |
21:45.53 | AchiestDragon | yes |
21:46.00 | beewoolie | Oh. I see. He wants code on the CPU to run jtag on the FPGA. |
21:46.20 | lennert | yes |
21:46.30 | beewoolie | Well, at the moment, there is code in the form of openwince's jtag, vmaster has some ftdi code, and there are a few others lying around |
21:46.49 | beewoolie | JTAG isn't that complex. |
21:47.02 | beewoolie | The closest to what you need is in the openwince code, but that requires an OS. |
21:47.31 | beewoolie | I've been hacking at some code to handle the JTAG operations. It's far from the level that you need. |
21:47.36 | AchiestDragon | the arm cpu is runing debian linux |
21:47.48 | beewoolie | If that's the case, the openwince code should suffice. |
21:47.59 | beewoolie | You'll have to write a driver to handle the lowest level IO. |
21:48.35 | beewoolie | Once you get the code to program the FPGA from your PC, only that lowest level IO part needs to be written. |
21:48.54 | lennert | probably just toggling some GPIOs |
21:48.58 | beewoolie | Right. |
21:49.27 | beewoolie | It's just a matter of implementing to their API. I haven't spent much time reading their code, so I cannot speak to the difficulty. |
21:49.38 | beewoolie | I believe you'd just have to implement a new 'cable'. |
21:50.01 | beewoolie | The parallel devices are already pretty close to that you'll need. |
21:50.06 | AchiestDragon | i have some code that will do the job , but its not oss so it would preclude distributing it , as the fpga card is intended to be a openhardware project it needs some oss tools |
21:50.35 | beewoolie | So, you already know how to do the work. |
21:50.59 | AchiestDragon | well im better at hardware than software |
21:51.16 | AchiestDragon | but could manage the driver |
21:55.09 | AchiestDragon | i gather from the chan topic that this chan is for software that is still in early development |
21:55.50 | lennert | yeah |
21:55.56 | AchiestDragon | k , kool |
22:08.54 | *** part/#openjtag ep1220 (n=NN@gate.epatec.at) |
22:55.38 | *** join/#openjtag ka6sox (n=ka6sox@nslu2-linux/ka6sox) |
23:14.06 | *** join/#openjtag bullet (n=bullet@248.215.62.81.cust.bluewin.ch) |