documentation/ethercat_doc.tex
changeset 1283 e539c765f6a6
parent 1282 d494455b64a2
child 1289 5b82b6b39c2d
equal deleted inserted replaced
1282:d494455b64a2 1283:e539c765f6a6
  2165 call. The kernel part of the interface calls the according API functions
  2165 call. The kernel part of the interface calls the according API functions
  2166 directly, what results in a minimum additional delay (see
  2166 directly, what results in a minimum additional delay (see
  2167 sec.~\ref{sec:usertiming}).
  2167 sec.~\ref{sec:usertiming}).
  2168 
  2168 
  2169 Also for performance reasons, the actual domain process data (see
  2169 Also for performance reasons, the actual domain process data (see
  2170 chap.~ref{sec:ecrt}) are not copied between kernel and user memory on every
  2170 chap.~\ref{sec:ecrt}) are not copied between kernel and user memory on every
  2171 access: Instead, the data are memory-mapped to the userspace application. Once
  2171 access: Instead, the data are memory-mapped to the userspace application. Once
  2172 the master is configured and activated, the master module creates one big
  2172 the master is configured and activated, the master module creates one big
  2173 process data memory area for all domains and maps it to userspace, so that the
  2173 process data memory area for all domains and maps it to userspace, so that the
  2174 application can directly access the process data. For that, there is no
  2174 application can directly access the process data. For that, there is no
  2175 additional delay accessing the process data from userspace.
  2175 additional delay when accessing the process data from userspace.
       
  2176 
       
  2177 \paragraph{Differences} Because of the memory-mapping of the process data, the
       
  2178 memory is managed internally by the library functions. As a result, it is not
       
  2179 possible to provide external memory for domains, like in the kernel API. The
       
  2180 corresponding functions are only available in kernelspace. This is the only
       
  2181 difference when using the application interface in userspace.
  2176 
  2182 
  2177 \subsection{Timing}
  2183 \subsection{Timing}
  2178 \label{sec:usertiming}
  2184 \label{sec:usertiming}
  2179 
  2185 
  2180 An interesting aspect is the timing of the userspace library calls compared to
  2186 An interesting aspect is the timing of the userspace library calls compared to