What is the recommended method to enable UARTS

285 views
Skip to first unread message

gareth...@gmail.com

unread,
Nov 2, 2018, 12:26:44 PM11/2/18
to BeagleBoard
Hi,

I've been working on a Beaglebone Green Wireless for a few weeks and have been using USB FTDI for serial communication.  I now need to use the onboard UART1, UART2 and UART4.

I have been googling and reading through all the topics on the Forum and ended up wrecking my image twice so I really need help.

I'm using the latest bone-debian-9.5-iot-armhf-2018-10-07-4gb.img  

When I try using config-pin 911 uart  I get a message that P9_11 pinmux file not found.  Pin has no cape: P9_11 

I have also tried updating the uEnv file with the following
cape_enable=bone_capemgr.enable_partno=BB-UART1
This caused my BBG to throw errors on boot and I wasn't able to access the device
After a rebuild I made the above change to uEnv.txt and then added the overlays but on boot I got errors that they could not be loaded.
###Overide capes with eeprom
uboot_overlay_addr0=/lib/firmware/BB-UART1-00A0.dtbo
uboot_overlay_addr1=/lib/firmware/BB-UART2-00A0.dtbo
uboot_overlay_addr2=/lib/firmware/BB-UART4-00A0.dtbo


What is the current recommended method to configure UART on a beaglebone from scratch and one that will persist between restarts?

Thanks in advance.

MG

unread,
Nov 2, 2018, 4:20:46 PM11/2/18
to BeagleBoard
Try adding them under Additional custom capes part not the Override cape with EEPROM

###Additional custom capes
uboot_overlay_addr4=/lib/firmware/BB-I2C1-00A0.dtbo
uboot_overlay_addr5=/lib/firmware/BB-ADC-00A0.dtbo
uboot_overlay_addr6=/lib/firmware/BB-UART4-00A0.dtbo
#uboot_overlay_addr7=/lib/firmware/<file7>.dtbo
###

I added UART4 there on my BeagleBoneBlack with Jessie on it and kernel 4.4-ti and it shows up as /dev/ttyO4.

Let me know if this works,

MG

gareth...@gmail.com

unread,
Nov 3, 2018, 8:25:35 PM11/3/18
to BeagleBoard

Thanks MG,

I ended up doing the following

  • Updating Uboot to latest version
    • cd /opt/scripts/tools/developers/
      sudo ./update_bootloader.sh
      sudo reboot

  • Updating kernel to latest version
    • cd /opt/scripts/tools/
      git pull
      sudo ./update_kernel.sh
      sudo reboot

  • Unblock Uboot Overlays - apparantly the eMMC can block them..
    • sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=10 
  • Updating the Overlays
    • sudo apt update 

      sudo apt install --only-upgrade bb-cape-overlays 

      sudo reboot 

  • Adding in the additional capes to uEnv.txt
    • uboot_overlay_addr4=/lib/firmware/BB-UART4-00A0.dtbo
I can now get access to dev/tty04 and send / receive.  I now need to work out why when I Open and Close the serial port and try to reopen it hangs on the Open command.  I have to reboot each time I try my application...  It works fine on dev/ttyUSB0 ftdi lead.

Reply all
Reply to author
Forward
0 new messages