mirror of https://github.com/ArduPilot/ardupilot
8cec2c188f
By opening with O_CLOEXEC we make sure we don't leak the file descriptor when we are exec'ing or calling out subprograms. Right now we currently don't do it so there's no harm, but it's good practice in Linux to have it. |
||
---|---|---|
.. | ||
RCInput_UART | ||
devicetree | ||
pru | ||
README.md | ||
pwmpru1 | ||
rcinpru0 | ||
startup.sh |
README.md
PRU PWM
###Updating kernel
- Check your kernel version using
uname -r
- If you get 3.8.13bone56+ as output then you may skip Updating kernel.
- For other kernel versions write following cmds in your BBB:
wget https://rcn-ee.net/deb/wheezy-armhf/v3.8.13-bone57/install-me.sh
chmod +x install-me.sh
./install-me.sh
- After above steps reboot and check your kernel version using
uname -r
,it should be3.8.13bone57
NOTE: For Ubuntu different scripts shall be used. E.g., for precise: - http://rcn-ee.net/deb/precise-armhf/v3.8.13-bone57/install-me.sh
###Setting Up PRU Compiler You should first check if there is the PRU Compiler available in your Linux-Distribution.
apt-get update
sudo apt-get install ti-pru-cgt-installer
If it is not available in your Linux-Distribution you have to download it from the TI website.
- Download PRU C Compiler v2.0.0B2 installer
- Please check the path where you install PRU compiler.
- Setting environment variable
echo export PATH=/path/to/pru/compiler/bin:$PATH >> ~/.bashrc
echo export PRU_C_DIR="/path/to/pru/compiler/include;/path/to/pru/compiler/lib" >> ~/.bashrc
source ~/.bashrc
note: semicolons in second command were intended
###Compiling and loading the code
- just
make
- copy generated executable
pwmpru1
toardupilot/Tools/Linux_HAL_Essentials/
. - To load firmware use
./startup.sh load
: only once after reboot it will copy overlays and firmware to/lib/firmware/
and loads them../startup.sh reload
: it only copies firmware to/lib/firmware/
and reloads pru firmware.
- Enable loading cape during BBB startup (no need to follow above step if you do this step once):
cp BB-PXF-01-00A0.dtbo /lib/firmware
- add
cape_enable=capemgr.enable_partno=BB-PXF-01
to/boot/uboot/uEnv.txt
- add
CAPE=BB-PXF-01
to/etc/default/capemgr