在Beaglebone中配置UART1的root权限

时间:2013-10-30 13:17:04

标签: android serial-port root uart beagleboneblack

我在我工作的项目中使用了在Android上运行的Beaglebone黑色。我需要使用UART1。据我所知,我必须配置UART1的MODE。它必须是MODE0。我可以通过以下命令通过adb来完成:

echo 20> / SYS /内核/调试/ omap_mux / uart1_rxd

echo 0> / SYS /内核/调试/ omap_mux / uart1_txd

一切都很好。但真正的问题是,我必须在应用程序内部进行此配置,我正在编码。但是我没有权限执行这些shell命令,因为我没有扎根。所以:

1)如何根据我的beaglebone black来执行这些shell命令?

2)或者有没有办法允许写这些文件?我可以通过adb执行chmod 777 / sys / kernel / debug / omap_mux / uart1_rxd并在我的应用程序中拥有写权限。但当然它不是一个解决方案,因为当beaglebone重新启动时,权限将丢失。

我只想使用UART1(或任何其他UART)进行串行通信。但是所有shell命令都必须在我的应用程序中执行。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我正在为可能需要它的人发布它。

1)将具有Android映像的SD卡安装到您的PC

2)打开控制台并安装rootfs分区

3)使用nano命令打开init.rc

nano init.rc

4)有shell命令,它们在启动部分运行。将以下shell命令添加到您选择的位置:

chmod 0666 /sys/kernel/debug/omap_mux/uart1_rxd
write 20 /sys/kernel/debug/omap_mux/uart1_rxd 20
chmod 0666 /sys/kernel/debug/omap_mux/uart1_txd
write 0 /sys/kernel/debug/omap_mux/uart1_txd 0

5)保存文件并使用SD卡启动Beaglebone。

现在你有权读/写/ sys / kernel / debug / omap_mux / uart1_txd和/ sys / kernel / debug / omap_mux / uart1_rxd。它们的模式设置为MODE0。