Download Development of a Linux Driver for a MOST Interface and Porting to

Transcript
ISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
J
jiffies . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 112
jiffies_64 . . . . . . . . . . . . . . . . . . . . . . . . 33, 112
K
kernel modules . . . . . . . . . . . . . . . . . . . . . . . . . 23
kernel_thread() . . . . . . . . . . . . . . . . . . . . . . 108
kernelspace . . . . . . . see real-time applications
userspace vs. kernelspace . . . . . . . . . . . . 67
kfifo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
kfree() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
kmalloc() . . . . . . . . . . . . . . . . . . . . . . . . . 93, 106
L
latency
arbitration latency . . . . . . . . . . . . . . . . . . 58
interrupt latency . . . . . . . . . . . . . . . . 35, 134
scheduling latency . . . . . . . . . . . . . . 35, 138
latency.py . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
layer
data link layer . . . . . . . . . . . . . . . . . . . . . . 49
physical layer . . . . . . . . . . . . . . . . . . . . . . . 49
libmostnetservices.so . . . . . . . . . . . . . . . . 67, 72
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
LinuxPrintRoutingTable() . . . . . . . . . . . . 75
list
linked list . . . . . . . . . . . . . . . . . . . . . . . . . 122
listings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
lock
MOST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
locking
Linux driver . . . . . . . . . . . . . . . . . . . . . . . . 63
real-time driver . . . . . . . . . . . . . . . 126, 129
loops_per_jiffy . . . . . . . . . . . . . . . . . . . . . . 115
low driver . . . . . . . . . . . . . . . . . . . . . . . see driver
lseek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
lsof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
lspci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
LXRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
M
Master Latency Timer . . . . . . . . . . . . . . . . . . . 58
mb() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
mdelay() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
measuring
conditions . . . . . . . . . . . . . . . . . . . . . . . . . 132
166
environment
hardware . . . . . . . . . . . . . . . . . . . . . . . . 131
software . . . . . . . . . . . . . . . . . . . . . . . . 131
MEASURING_PCI . . . . . . . . . . . . . . . . . . . . . . . . 135
media control . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
memory
access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
allocation . . . . . . . . . . . . . . . . see allocation
copying . . . . . . . . . . . . . . . . . . . . . . . 106, 129
RTNRT framework . . . . . . . . . . . . . . . 106
virtual memory . . . . . . . . . . . . . . . . . . . . . 78
message
control message . . . . . . . . . . . . . . . . . . . . 53
Microsoft Windows . . . . . . . . . . . see Windows
mknod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
mlock() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
MnsRequestTimer() . . . . . . . . . . . . . . . . . . . . 72
mode
parallel-combined mode . . . . . . . . . 50, 75
module_exit . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
module_init . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
modules . . . . . . . . . . . . . . . . see kernel modules
MOST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Access DLL . . . . . . . . . . . . . . . . . . . . . . . . . 53
application area . . . . . . . . . . . . . . . . . . . . . 48
base driver . . . . . . . . . . . . . . . . . . see driver
bus frequency . . . . . . . . . . . . . . . . . . . . . . 57
data transfer . . . . . . . . . . . . . . . . . . . . . . . . 46
device structure . . . . . . . . . . . . . . . . 64, 126
frame . . . . . . . . . . . . . . . . . . . . . . . . . . . 46, 58
function area . . . . . . . . . . . . . . . . . . . . . . . 48
High Protocol . . . . . . . . . . . . . . . . . . . . . . 47
interrupt . . . . . . . . . . . . . . . . . . . . . . . . 51, 69
asynchronous interrupts . . . . . . . . . . 69
master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
timing master . . . . . . . . . . . . . . . . . . . . 46
MOST Cooperation . . . . . . . . . . . . . . . . . 45
MOST Edit view . . . . . . . . . . . . . . . . . . . . 75
NetServices . . . . . . . . . . . . . . . . . . . . . . . . . 49
NetServices DLL . . . . . . . . . . . . . . . . . . . . 53
NetServices driver . . . . . . . . . . . . . . . . . . 67
NetServices kernel module . . . . . . . . . . 68
network stack . . . . . . . . . . . . . . . . . . . . . . 49
PCI board . . . . . . . . . . . . . . . . . . . . . . . . . . 50
slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
synchronous kernel driver . . . . . . . . . . . 77
transceiver . . . . . . . . . . . . . . . . . . . . . . . . . 48
transfer rate . . . . . . . . . . . . . . . . . . . . . . . . 46
most_netservice_high_driver . . . . . . . . . 64
Index