aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorbryan newbold <bnewbold@leaflabs.com>2013-12-04 11:46:33 -0500
committerbryan newbold <bnewbold@leaflabs.com>2013-12-04 13:03:30 -0500
commit6799bf57fda003c2e8e3a1fa397ed69b7b8d4e18 (patch)
treea839c73d45e6551a6b713604783b6789705353a5 /README
downloaduioctl-6799bf57fda003c2e8e3a1fa397ed69b7b8d4e18.tar.gz
uioctl-6799bf57fda003c2e8e3a1fa397ed69b7b8d4e18.zip
initial commit
Diffstat (limited to 'README')
-rw-r--r--README54
1 files changed, 54 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..1030a30
--- /dev/null
+++ b/README
@@ -0,0 +1,54 @@
+
+ _ _ _
+ _ _(_) ___ ___| |_| |
+ | | | | |/ _ \ / __| __| |
+ | |_| | | (_) | (__| |_| |
+ \__,_|_|\___/ \___|\__|_|
+
+
+trivial utility for manipulating simple Linux UIO devices ("Userspace I/O").
+eg, reading and writing bytes to memory mapped devices or monitoring
+interrupts.
+can list all devices and their mappings.
+little-endian by default.
+
+-------------------------------------------------------------------------------
+
+gcc uioctl.c -o uioctl
+
+-------------------------------------------------------------------------------
+
+./uioctl -h
+little-endian by default
+ -w select word width (default: 4)
+ -s size of mmap (default: base + length, rounded up to PAGE_SIZE)
+
+./uioctl /dev/uio0 0 -n 100 -w 1 -r 0
+./uioctl /dev/uio0 0x818 0
+./uioctl /dev/uio0 -m
+./uioctl -l
+
+also, secret trick:
+
+sudo ./uioctl /dev/mem 0x818 -n 5
+
+BUT WAIT?
+
+hexdump -C /dev/uio0 -s 0x
+
+-------------------------------------------------------------------------------
+
+UIO: user-space drivers (2007)
+https://lwn.net/Articles/232575/
+
+The Userspace I/O HOWTO (2006-2009)
+https://www.kernel.org/doc/htmldocs/uio-howto/
+
+Simple userland drivers for FPGA interfaces (eg, AXI)
+http://svenand.blogdrive.com/archive/150.html
+
+devmem2.c: Simple program to read/write from/to any location in memory
+http://sources.buildroot.net/devmem2.c
+
+pydevmem
+https://github.com/kylemanna/pydevmem