none
How to get all of BBB's GPIO pins work in Widows CE? RRS feed

  • Question

  • Hi all

    I downloaded a Windows CE for BeagleBone Black from:

    https://beaglebonebsp.codeplex.com/releases/view/613051

    There is also a good C# program for GPIOs.

    I ran that on my BBB, but just 10 pins work, and the others do not work!

    Do you know what is the reason?

    Thanks in advance

    Tuesday, June 16, 2015 12:36 PM

All replies

  • The reason is that the other pins are allocated for other function by default ..like PWM or serial ports.

    Each IO pin can take on one of many different function depending on how the pin multiplexer is set up, GPIO is just one of these functions. You can change which function by reprogramming the multiplexer register for that particular pin. By default only some are assigned as GPIO on power up.

    See the TI's AM335X TRM for more information.

     


    Dave

    Wednesday, June 17, 2015 1:05 PM
  • Thanks for your reply Dave

    I know that in most of boards, there are many GPIOs that are assigned to specific functions

    And on BeagleBone Black, there are almost 128 GPIO ports that many of them are as you said, But there are also about 30 GPIO pins on Expansion Headers, that I think they are not assigned to specific functions, and are free for our programming goals. But I could just set 10 pins of them to 1 and 0.

    Thursday, June 18, 2015 10:49 AM
  • Of the 30 or so IO pins allocated on the expansion bus only a few, as you said, are (by default) assigned as GPIO. The others are used for serial ports, PWM, I2C, SPI and LCD color pins. The designers of the BBB chose these pins to give maximum IO flexibility. You can reconfigure the other pins as GPIO but you will loose the alternate function.

    Dave

    Thursday, June 18, 2015 11:47 AM
  • Of the 30 or so IO pins allocated on the expansion bus only a few, as you said, are (by default) assigned as GPIO. The others are used for serial ports, PWM, I2C, SPI and LCD color pins. The designers of the BBB chose these pins to give maximum IO flexibility. You can reconfigure the other pins as GPIO but you will loose the alternate function.

    Dave

    OK, but HOW? :D
    Saturday, June 20, 2015 4:35 AM
  • Hi,

    Usually the pinmuxing will be done in X-Loader / MLO. If you want a particular pin to function as GPIO then you have to do configure mux mode as 7 for that particular pin. Refer AM335x TRM for more details.

    I guess you have a complete source code and tools to compile the BSP and Application.

    In that case build a debug version of the OS Design and keep break points and trace the code flow.

    You will understand that.

    Regards,

    GSR


    • Edited by GSRid Saturday, June 20, 2015 11:09 AM
    Saturday, June 20, 2015 11:05 AM
  • See the TI AM335x TRM for the address of the pin configuration registers.


    Dave

    Saturday, June 20, 2015 11:06 AM
  • Thank a lot @GSR and @Dave
    Saturday, June 27, 2015 9:45 AM