ardupilot/Tools/Linux_HAL_Essentials
mirkix d3d46a7f2c Linux_HAL_Essentials: set default pwm to 0us 2018-01-11 16:35:10 +00:00
..
RCInput_UART Tools: Fix typos 2016-05-13 19:20:07 -03:00
devicetree Tools: update BBBmini Device Tree location 2017-02-03 09:10:36 +11:00
pru Linux_HAL_Essentials: set default pwm to 0us 2018-01-11 16:35:10 +00:00
README.md Linux_HAL_Essentials: Update README.md 2015-10-08 15:24:14 +09:00
pwmpru1 HAL_Linux: pwmpru,HAL_Linux_RCOut code doesn't wait for magic flag to send data 2014-07-14 09:44:37 +10:00
rcinpru0 Linux_HAL_Essentials: rebuilt rcinpru0 with 300 ring buffer entries 2014-10-07 14:57:35 +11:00
startup.sh Linux_HAL_Essentials: Move PFX DT files to devicetree/pxf 2015-03-17 08:20:51 +11:00

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 be 3.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.

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 to ardupilot/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