Here's what I did:

1. Install FreeBasic compiler in BBB

1.1. Download package from 
http://www.freebasic-portal.de/downloads/fb-on-arm/bbb-fbc-fbc-fuer-beaglebone-black-283.html

   wget http://www.freebasic-portal.de/dlfiles/452/bbb_fbc-0.0.2.tar.xz

1.2. Uncompress and copy files

   cd bbb_fbc-0.0.2
   cp usr/local/bin/fbc /usr/local/bin/
   cp -R usr/local/lib/freebasic /usr/local/lib/
   
2. Install pruss driver kit for freebasic and BBB.

2.1. Download and uncompress package from 
http://www.freebasic-portal.de/dlfiles/539/FB_prussdrv-0.0.tar.bz2

2.2. Copy files

   cd FB_prussdrv-0.0
   cp bin/libprussdrv.* /usr/local/lib
   ldconfig
   mkdir /usr/local/include/freebasic/BBB
   cp include/* /usr/local/include/freebasic/BBB
   cp bin/pasm/usr/local/bin
   cp bin/PRUSSDRV-00A0.dtbo /lib/firmware

2.3. Install am335x-pru-package 

   apt-get install am335x-pru-package  

2.4. Activate the PRUSS by enabling the tree overlay. This must be done 
everytime, after each boot or before running your programs. 

   echo PRUSSDRV> /sys/devices/bone_capemgr.9/slots

3. Install libpruio

3.1. Download and uncompress package from 
http://www.freebasic-portal.de/dlfiles/554/libpruio-0.0.2.tar.bz2

3.2. Copy files

   cd libpruio-0.0.2
   cd src/c_wrapper/
   cp libpruio.so /usr/local/lib
   cp libpruio.a /usr/local/lib
   ldconfig
   cd ../pruio/
   cp pruio.bi /usr/local/include/freebasic/BBB
   cp pruio.hp /usr/local/include/freebasic/BBB
   cp pruio_pins.bi /usr/local/include/freebasic/BBB

4. Here's a simple example C program that uses the library

   #include <stdio.h>
   #include <unistd.h>
   #include "pruio_c_wrapper.h"
   #include "pruio_pins.h"

   int main(int argc, const char *argv[]) { 
      PruIo *io = pruio_new(0, 0x98, 0, 1);
      if (io->Errr) {
         printf("Initialisation failed (%s)\n", io->Errr);
         return 1;
      }

      if(pruio_config(io, 0, 0x1FE, 0, 4, 0)){
         printf("Config failed (%s)\n", io->Errr); 
         return 1;
      }

      int a = 0;
      int i;
      while(1){
         printf("\r%12o  %12o  %12o  %12o  %4X %4X %4X %4X %4X %4X %4X 
%4X\n", io->Gpio[0].Stat, io->Gpio[1].Stat, io->Gpio[2].Stat, 
io->Gpio[3].Stat, io->Value[1], io->Value[2], io->Value[3], io->Value[4], 
io->Value[5], io->Value[6], io->Value[7], io->Value[8]);
         fflush(STDIN_FILENO);
         usleep(1000);
       }


      pruio_destroy(io);

           return 0;
   }

5. To compile it, here's a makefile:

   all: bbb-io.c Makefile
        gcc -Wall -o bbb-io bbb-io.c /usr/local/lib/freebasic/fbrt0.o 
-lpruio -L"/usr/local/lib/freebasic/" -lfb -lpthread -lprussdrv -ltermcap 
-lsupc++ -Wno-unused-variable





-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to