1
0
mirror of git://projects.qi-hardware.com/ben-blinkenlights.git synced 2024-12-28 04:15:30 +02:00
Commit Graph

256 Commits

Author SHA1 Message Date
Werner Almesberger
fc4b8e720a ubb-patgen/Makefile (CFLAGS): even -O1 isn't safe; use -O0 instead
In ubb-la, -O1 still exhibited problems. Didn't verify for ubb-patgen,
but let's play this safe for now.
2013-01-24 18:33:08 -03:00
Werner Almesberger
62284fb78e ubb-la/ubb-la.c: add command-line options, keyboard abort 2013-01-24 18:26:34 -03:00
Werner Almesberger
bac21bf8cb ubb-la/Makefile (CFLAGS): even -O1 isn't safe; use -O0 instead
While -O1 gets rid of the unexpected read in the simple code of a synthetic
test, it's still there in the more complex environment we have in ubb-la.c
Turning off optimization completely seems to do the trick.
2013-01-24 17:35:52 -03:00
Werner Almesberger
00ef01ada8 ubb-patgen/Makefile (CFLAGS): -O9 is currently unsafe; use -O1
Higher optimizations can cause the generation of code that unexpectedly
does the equivalent of  PDFUNS = PDFUNS;

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56098
2013-01-24 15:34:04 -03:00
Werner Almesberger
e1eea4fa86 ubb-la/Makefile (CFLAGS): -O9 is currently unsafe; use -O1
Higher optimizations can cause the generation of code that unexpectedly
does the equivalent of  PDFUNS = PDFUNS;

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56098
2013-01-24 15:31:59 -03:00
Werner Almesberger
2c5b3625a7 ubb-la/: data capture via UBB and MSC+DMA (WIP) 2013-01-23 11:54:23 -03:00
Werner Almesberger
d4c1f5666c ubb-la/hw/: proof-of-concept passive LA adapter board
Note that the pull-ups on DAT1 through DAT3 and the pull-whichever-way on
DAT0 are likely to get in the way of any real-life use. But it's good enough
for exploring the system's characteristics and limitations.
2013-01-23 11:52:11 -03:00
Werner Almesberger
5025f360cc ubb-patgen/ubb-patgen.c: use symbolic bit/field definitions for DMA 2013-01-20 19:16:36 -03:00
Werner Almesberger
5efafd6fcc libubb/include/ubb/regs4740.h: add symbolic bit/field definitions for DMA 2013-01-20 19:16:17 -03:00
Werner Almesberger
486471e8fc ubb-patgen/ubb-patgen.c: use symbolic bit/field definitions for MSC_* 2013-01-20 17:34:39 -03:00
Werner Almesberger
4cb68b7ece libubb/mmcclk.c: use symbolic bit/field definitions for MSC_* 2013-01-20 17:34:17 -03:00
Werner Almesberger
8509c1f7b9 libubb/include/ubb/regs4740.h: add symbolic bit/field definitions for MSC_* 2013-01-20 17:34:01 -03:00
Werner Almesberger
a31351545c ubb-patgen/timeline.fig: timeline of pattern generation (description in README) 2013-01-18 14:18:44 -03:00
Werner Almesberger
8dda1200c1 ubb/solder-cable.fig: drawing to illustrate soldering a cable to UBB 2013-01-16 22:53:14 -03:00
Werner Almesberger
f920c6695b ubb-patgen/README: add "!\r" to UART example 2013-01-16 12:08:10 -03:00
Werner Almesberger
5be0b56aa1 swuart-chat/chat.c: options -r and -t to select pins; bit rate argument 2013-01-16 12:07:27 -03:00
Werner Almesberger
b8f2a8b764 ubb-patgen/ubb-patgen.c (send_buffer): track physmem_xlat_vec renaming 2013-01-16 10:30:41 -03:00
Werner Almesberger
e669a1b2d1 libubb/physmem.c (physmem_xlat_vec): rename to physmem_xlat 2013-01-16 10:29:46 -03:00
Werner Almesberger
35d4b9f381 libubb/physmem.c: remove physmem_xlat; cache open pagemap fd
To avoid contamination, we open the pagemap file with O_CLOEXEC.
2013-01-16 10:26:51 -03:00
Werner Almesberger
2de15b9aec ubb-patgen/ubb-patgen.c (send_buffer): use physmem_xlat_vec 2013-01-16 10:16:09 -03:00
Werner Almesberger
3161d5555b libubb/physmem.c (physmem_xlat_vec): more general version of physmem_xlat 2013-01-16 10:15:24 -03:00
Werner Almesberger
66080fe72e ubb-patgen/ubb-patgen.c: support trigger sequences, e.g., 01 for a rising edge 2013-01-16 04:45:49 -03:00
Werner Almesberger
4729d00b30 ubb-patgen/ubb-patgen.c: run at realtime priority while waiting for trigger 2013-01-16 03:56:17 -03:00
Werner Almesberger
6d749fafb8 ubb-patgen/ubb-patgen.c (main): sort options alphabetically in "switch" statement 2013-01-16 03:45:22 -03:00
Werner Almesberger
2161341267 ubb-patgen/ubb-patgen.c: new option -w to add delay before sending the pattern 2013-01-16 03:44:30 -03:00
Werner Almesberger
0129a59f86 ubb-patgen/ubb-patgen.c: new option -d to debounce the trigger 2013-01-16 03:30:04 -03:00
Werner Almesberger
39f4e48f8d ubb-patgen/ubb-patgen.c: new option -i to select frequency by cycle time 2013-01-16 01:58:16 -03:00
Werner Almesberger
c124e1a819 ubb-patgen/ubb-patgen.c: accept SI suffixes and a unit for durations as well 2013-01-16 01:11:57 -03:00
Werner Almesberger
9930ae6576 ubb-patgen/ubb-patgen.c: move frequency difference warning into select_freq
This way, all frequency selections print a warning when there's a difference.
2013-01-15 23:48:57 -03:00
Werner Almesberger
ff38f1c249 ubb-patgen/ubb-patgen.c (send_buffer): use physmem_flush instead of cacheflush 2013-01-15 23:31:30 -03:00
Werner Almesberger
a8f905a85f libubb/physmem.c: new function physmem_flush to flush cached writes to memory
This is mainly a wrapper for the "cacheflush" system call.
2013-01-15 23:30:02 -03:00
Werner Almesberger
752a77f015 ubb-patgen/ubb-patgen.c (show_frequencies): show duplicate entries only one
This only affects "quiet" operation since entries with the same frequency
differ in the why it's calculated in non-quiet operation.
2013-01-15 23:14:25 -03:00
Werner Almesberger
d5ea5d9ae9 ubb-patgen/README: brief description how ubb-patgen works 2013-01-15 19:34:58 -03:00
Werner Almesberger
0bb711e625 ubb-patgen/ubb-patgen.c: new option -t 0|1 to start pattern on TRIGGER/CLK
The trigger delay is typically in the order of 2 us but, since we're not
disabling interrupts or such, could also be much larger.
2013-01-15 18:40:16 -03:00
Werner Almesberger
10b0dea29c libubb/mmcclk.c (BUS_LIMIT_MHZ): explain the 56 MHz limit 2013-01-15 18:01:27 -03:00
Werner Almesberger
1c76cab66c ubb-patgen/ubb-patgen.c: new option -m MASK to choose which DATx lines to use 2013-01-15 17:40:49 -03:00
Werner Almesberger
d60ef14022 ubb-patgen/ubb-patgen.c: new option -p to force interpretation as pattern
In the unlikely event that we have a file with the same name.
2013-01-15 17:09:08 -03:00
Werner Almesberger
69aba6ae19 ubb-patgen/ubb-patgen.c: accept file (- for standard input) as pattern source 2013-01-15 17:05:33 -03:00
Werner Almesberger
653910b64b ubb-patgen/table/mktab: make the long vertical axes thinner
Looks a bit less old-fashioned that way.
2013-01-15 16:45:08 -03:00
Werner Almesberger
3c9443294d ubb-patgen/table/: generate a PNG with a table of MMC bus clock frequencies 2013-01-15 16:14:48 -03:00
Werner Almesberger
1aedd4b57b ubb-patgen/ubb-patgen.c: option -q when dumping frequencies suppressed details
... and avoids pretty-printing.
2013-01-15 16:10:14 -03:00
Werner Almesberger
eedb0f0106 ubb-patgen/ubb-patgen.c: "ubb-patgen -f FREQ" calculates the frequency
This can then be used by generators to generate an oversampled pattern.
2013-01-15 14:42:00 -03:00
Werner Almesberger
1111156a97 ubb-patgen/ubb-patgen.c: remove pattern frequency and use -f for bus clock
Let's leave fancy oversampling calculations to the user.
2013-01-15 14:24:00 -03:00
Werner Almesberger
6e6767175f ubb-patgen/ubb-patgen.c: clean up usage (-c selects clkout only; -C to monitor)
... and active_s is no longer used with a pattern.
2013-01-15 14:08:38 -03:00
Werner Almesberger
72f2125287 libubb/mmcclk.c (mmcclk_start): also reset the MMC controller 2013-01-15 14:08:03 -03:00
Werner Almesberger
a5fbf55419 ubb-patgen/ubb-patgen.c: clean up section structure 2013-01-15 13:02:19 -03:00
Werner Almesberger
dad97398d3 ubb-patgen/ubb-patgen.c (dma_pattern): mlockall (before address translation and DMA) 2013-01-14 23:32:37 -03:00
Werner Almesberger
c6306ff591 ubb-patgen/ubb-patgen.c: DMA works now. Get rid of the PIO option. 2013-01-14 23:29:23 -03:00
Werner Almesberger
b6ee672266 ubb-patgen/: flush dcache and write buffer before doing DMA 2013-01-14 23:26:24 -03:00
Werner Almesberger
908b0631d1 ubb-patgen/ubb-patgen.c: DMA has mystery glitches. Use PIO for now. 2013-01-14 22:18:46 -03:00