This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/BEAGLEBOARD-X15: Example USB or Ethernet I/O

Part Number: BEAGLEBOARD-X15

Tool/software: Code Composer Studio

I am new to development of the Beagleboard-x15. I am wanting to use it for processing real time data from either the USB port or ethernet. I have an SDR but it doesn't process the data fast enough, so I wanted to offload some of the computation to the DSP on the beagleboard-x15.

I am using CCS 8 to develop code and load it on the board (with XDS100 debugger). I was able to successfully get the FFT code working, but that's it. I want to be able to read incoming data from a USB/ethernet port, perform my packet detection on the dsp, and then output the packetized data back through the same or different port.

I was wondering if someone could help point me in the direction of example code or instructions on how to read/write data to and from the USB port or the ethernet port on the beagleboard-x15?

  • Are you using Beagleboard-X15 or AM572x GP EVM? If you are using BeagleBoard -X15, the Processor SDK RTOS is not natively supported on that platform. As you can see from the product folder for BEagle board-X15, only Linux offering is supported on the BEagleBoard-X15 and the support for it comes from the community.

    While the design is similar there are several key modifications supported on the AM572x GP EVM Processor module which makes the software to not run as is. For Eg: TI AM572x GP EVM has a personality EEPROM on the board that performs a board ID and revision and serial number check and also sets up pinmux for the board and debug UART instance based on the Board ID detected.

    Hence there would be some porting effort required to run the whole Processor SDK RTOS.

    Connect using JTAG emulator and connect to the DSP and run DSPLIB code can run on the board as the board detect mechanism doesn`t play a role in this setup however peripheral examples may not. For USB and Ethernet I/O, we provide USB device and host examples and NIMU/NDK sack for Ethernet IO which you can refer from here:
    software-dl.ti.com/.../Device_Drivers.html
    software-dl.ti.com/.../Device_Drivers.html
    software-dl.ti.com/.../Foundational_Components.html

    Hope this helps.

    Regards,
    Rahul
  • Hi Rahul,

    Thank you for your speedy and thorough response. I am using the Beagleboard-x15. I noticed those links you sent me were form the processor sdk RTOS, so just to clarify I would have to modify these examples to work with my BB-x15? I was able to get the fft example program to work in CCS8 by launching the target configuration and loading the program onto the core. So should most of the dsplib programs work but everything else has to be modified? Sorry I watched a lot of videos on the processor sdk, but it was still a little confusing to me. It seems the RTOS is not supported on the BB-x15 but the processor linux sdk is?

    Thank you,

    Sarah

  • Hi,

    DSPLIB just runs on DSP cores without using any peripherals, so it doesn't matter you run it on AM572x GP EVM or BB-X15 beagle board.

    For USB and network, the AM572x GP EVM is very close to BB-X15. Maybe you can try the USB and NDK examples from AM572x GP EVM directly on BB-X15 to see if it worked or not. If not, you may need to look at difference what instance number used and PINMUX setting for both boards. And you may need to create a separate board library for this purpose. See software-dl.ti.com/.../Board_EVM_Abstration.html

    Another approach is that BB-X15 already has Linux kernel support. You may consider run the Linux on A15 with the USB/Ethernet to Tx/Rx data, then offloading the data to DSP for processing. We have this framework called IPC. See software-dl.ti.com/.../Foundational_Components_IPC.html

    Regards, Eric
  • Eric,

    Thank you for your suggestions and the links. I will get started on those ASAP. Appreciate your time!

    Sarah