Robot Control Library
pru.h
Go to the documentation of this file.
1
/**
2
* <rc/pru.h>
3
*
4
* @brief Start and stop the PRU from userspace.
5
*
6
* This is primarily for the PRU-dependent servo and encoder functions to use,
7
* however the user may elect to use their own PRU routines separately from
8
* those.
9
*
10
* @addtogroup PRU
11
* @{
12
*/
13
14
#ifndef RC_PRU_H
15
#define RC_PRU_H
16
17
#ifdef __cplusplus
18
extern
"C"
{
19
#endif
20
21
#include <stdint.h>
22
23
/**
24
* Starts a single specified PRU core running a provided firmware name.
25
*
26
* This function requires root privileges and your custom firmware must exist in
27
* "/lib/firmware/". The default name for the two firmwares are "am335x-pru0-fw"
28
* and "am335x-pru1-fw", please don't overwrite these if they exist. Name your
29
* firmware image something like "am335x-pru0-mycustom-fw".
30
*
31
* @param[in] ch pru core to start (0 or 1)
32
* @param[in] fw_name The firmware image name, e.g. "am335x-pru0-fw", do not
33
* include '/lib/firmware' in the path, only the file name.
34
*
35
* @return 0 on success, -1 on failure.
36
*/
37
int
rc_pru_start
(
int
ch,
const
char
* fw_name);
38
39
/**
40
* @brief fetches a pointer to the beginning of the PRU shared memory.
41
*
42
* This is done by mapping to /dev/mem and therefore requires root privileges
43
* but provides extremely low-latency memory access to communicate with the PRU.
44
*
45
* @return memory pointer on success, NULL on failure
46
*/
47
volatile
uint32_t*
rc_pru_shared_mem_ptr
(
void
);
48
49
50
/**
51
* Unloads pru binaries
52
*
53
* @param[in] ch pru core to stop (0 or 1)
54
*
55
* @return 0 on success, -1 on failure.
56
*/
57
int
rc_pru_stop
(
int
ch);
58
59
60
#ifdef __cplusplus
61
}
62
#endif
63
64
#endif // RC_PRU_H
65
66
/** @} end group PRU */
rc_pru_start
int rc_pru_start(int ch, const char *fw_name)
rc_pru_shared_mem_ptr
volatile uint32_t * rc_pru_shared_mem_ptr(void)
fetches a pointer to the beginning of the PRU shared memory.
rc_pru_stop
int rc_pru_stop(int ch)
library
include
rc
pru.h
Generated by
1.8.13