diff options
author | bryan newbold <bnewbold@leaflabs.com> | 2013-12-04 11:46:33 -0500 |
---|---|---|
committer | bryan newbold <bnewbold@leaflabs.com> | 2013-12-04 13:03:30 -0500 |
commit | 6799bf57fda003c2e8e3a1fa397ed69b7b8d4e18 (patch) | |
tree | a839c73d45e6551a6b713604783b6789705353a5 /README | |
download | uioctl-6799bf57fda003c2e8e3a1fa397ed69b7b8d4e18.tar.gz uioctl-6799bf57fda003c2e8e3a1fa397ed69b7b8d4e18.zip |
initial commit
Diffstat (limited to 'README')
-rw-r--r-- | README | 54 |
1 files changed, 54 insertions, 0 deletions
@@ -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 |