11243|13

219

帖子

0

资源

纯净的硅(初级)

用串口登录Beaglebone Black、用usb共享电脑网络、内核模块的本地编译 [复制链接]

本帖最后由 wytalfred 于 2014-3-10 14:07 编辑

串口连接BBB
使用usb线可以连接BBB和电脑,用ssh就可以登录BBB来进行操作。但有时候万一系统配置出现故障,或ssh用不了了,那就只能用串口连接了。首先要有一个串口转USB模块,用GND, TXD, RXD这三根线连接到板子上。具体连接方法见下图。
屏幕快照 2014-03-10 13.05.31.png
理论上串口是随时都可以连接的,但我为了看到更全的输出信息,我在给BBB上电之前就先把它和电脑连好,在电脑端打开串口调试助手(用linux或mac的话可以打开终端的screen)然后用5V电源供电或者用usb连到电脑上供电。

mac打开screen的命令:screen /dev/cu.usbserial 115200
linux打开screen的命令:sudo screen /dev/ttyUSB0 115200

供电以后,串口马上就会开始输出启动信息。过了一会就会出现一个Angstrom的字符画logo,并要求登录,输入用户名和密码(用户名是root,如果你没改过的话)回车就登录了。
  1. .---O---.                                             
  2. |       |                  .-.           o o         
  3. |   |   |-----.-----.-----.| |   .----..-----.-----.  
  4. |       |     | __  |  ---'| '--.|  .-'|     |     |  
  5. |   |   |  |  |     |---  ||  --'|  |  |  '  | | | |  
  6. '---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'  
  7.                 -'  |  
  8.                 '---'  
  9.   
  10. The Angstrom Distribution beaglebone ttyO0  
  11.   
  12. Angstrom v2012.12 - Kernel 3.8.13  
  13.   
  14. beaglebone login:   
复制代码
启动完成以后,在这里可以像之前用ssh连接一样直接输入shell命令。可见串口是比usb+ssh更可靠的连接方式,但是因为串口的传输速度比usb线还是要慢很多的(你可以输入dmesg感受一下),所以如果能用ssh的话,一般我们还是用ssh。

这里有一篇文章可以参考《用串口连接BBB的2.5种方法》http://dave.cheney.net/2013/09/2 ... ur-beaglebone-black

用usb联网
beaglebone如果用usb连接到了可以上网的电脑,可以利用分享电脑网络的办法让BBB也联网。
Windows7下的配置方法可以参考http://lanceme.blogspot.com/2013 ... et-sharing-for.html

电脑系统是Ubuntu的话:
BBB上的操作:
  1. route add default gw 192.168.7.1
  2. vim /etc/resolv.conf
复制代码

在最后添加一行nameserver 8.8.8.8

在Ubuntu上:
通过ifconfig命令得知eth0是本机连接网络的接口,eth1是usb连接BBB的接口
  1. sudo su
  2. iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
  3. iptables --append FORWARD --in-interface eth1 -j ACCEPT
  4. echo 1 > /proc/sys/net/ipv4/ip_forward
复制代码
然后在BBB上ping www.baidu.com检测一下。
但重启电脑或BBB就无效了,须重新配置。

若是mac OS X系统:插上usb以后,网络连接里会出现一个到BBB的连接,记住这个连接的名字。
然后打开系统设置里的“共享”,先取消勾选左边的“互联网共享”,然后在右边勾选刚才的连接名字,再重新勾选左边的互联网共享,电脑端就好了。然后保持usb线连接,再插上串口线,用串口连接到BBB(此时ssh是连接不通的),输入 udhcpc -i usb0,就完成配置了。然后就可以拔掉串口线了,如果本次开机过程中断开了usb线(比如同时使用5v电源在供电)也没关系,重新插上还可以恢复网络连接。
20131216120140109.png


联网以后第一件事就是 opkg update。

本地编译内核模块
因为买来的BBB里没有内核源文件,所以没法编译。现在联网了,可以不必重新交叉编译内核,直接在BBB上下载配置一下内核源文件。
  1. opkg update
  2. opkg install kernel-headers
  3. opkg install kernel-dev
  4. cd /usr/src/kernel
  5. make scripts
复制代码

就配置完成了。这要耗费约200M空间,可以先输入 df -h 看看eMMC剩余空间够不够。
测试一下。

源文件mykernelmod.c
  1. #include <linux/module.h>   
  2. #include <linux/kernel.h>   
  3.    
  4. static int __init enable_usermode(void)   
  5. {   
  6.         printk(KERN_INFO "Usermode enabled.\n");   
  7.         return 0;   
  8. }   
  9.    
  10. static void __exit disable_usermode(void)   
  11. {   
  12.         printk(KERN_INFO "Usermode disabled.\n");   
  13. }   
  14.    
  15. module_init(enable_usermode);   
  16. module_exit(disable_usermode);  
复制代码
Makefile(M必须大写,注意make语句前面必须是tab键,直接从网页上复制过去可能会变成空格)
  1. obj-m += mykernelmod.o  
  2. KDIR = /usr/src/kernel  
  3. PWD := $(shell pwd)  
  4.   
  5. all:  
  6.         make -C $(KDIR) M=$(PWD) ARCH=arm modules  
  7. clean:  
  8.         make -C $(KDIR) M=$(PWD) ARCH=arm clean  
复制代码
然后执行make,成功生成mykernelmod.ko

insmod mykernelmod.ko 之后 dmesg | tail 可以看到输出了 “Usermode enabled.” 然后 rmmod mykernelmod,再dmesg | tail,看到输出了"Usermode disabled."

参考资料:http://elene.dahners.com/blog/20 ... ule-for-beaglebone/

(转自我自己的博客http://blog.csdn.net/wyt2013




赞赏

1

查看全部赞赏

个人签名更多BBB经验分享,请访问我的博客http://blog.csdn.net/wyt2013

回复

119

帖子

0

资源

一粒金砂(中级)

此好帖要顶!

回复

119

帖子

0

资源

一粒金砂(中级)

“用usb联网
beaglebone如果用usb连接到了可以上网的电脑,可以利用分享电脑网络的办法让BBB也联网。

win7配置联网的链接没有哦!

点评

啊,多谢提醒!我回头找一个能打开的替换掉~  详情 回复 发表于 2014-3-19 11:10

回复

219

帖子

0

资源

纯净的硅(初级)

jaccopa 发表于 2014-3-19 11:08
“用usb联网
beaglebone如果用usb连接到了可以上网的电脑,可以利用分享电脑网络的办法让BBB也联网。

...

啊,多谢提醒!我回头找一个能打开的替换掉~

点评

秒回啊,哥哥  详情 回复 发表于 2014-3-19 11:10
个人签名更多BBB经验分享,请访问我的博客http://blog.csdn.net/wyt2013

回复

119

帖子

0

资源

一粒金砂(中级)

wytalfred 发表于 2014-3-19 11:10
啊,多谢提醒!我回头找一个能打开的替换掉~

秒回啊,哥哥

点评

我一打开网页你恰好刚回复了我  详情 回复 发表于 2014-3-19 11:12

回复

219

帖子

0

资源

纯净的硅(初级)


我一打开网页你恰好刚回复了我
个人签名更多BBB经验分享,请访问我的博客http://blog.csdn.net/wyt2013

回复

6622

帖子

8

资源

版主

你试过ifconfig eth0 down 然后up吗
网络没法获取到ip了

点评

没。我网络这块不太懂……  详情 回复 发表于 2014-3-19 13:03
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰

回复

219

帖子

0

资源

纯净的硅(初级)

chenzhufly 发表于 2014-3-19 12:43
你试过ifconfig eth0 down 然后up吗
网络没法获取到ip了

没。我网络这块不太懂……
个人签名更多BBB经验分享,请访问我的博客http://blog.csdn.net/wyt2013

回复

77

帖子

0

资源

一粒金砂(中级)

终于遇到个会使串口的了,哥们,你会编文件系统吗?可否留个联系方式,卡了很久,求帮助。365569293

点评

额,完全不会。。。我才接触linux不到半年……  详情 回复 发表于 2014-3-21 22:55

回复

219

帖子

0

资源

纯净的硅(初级)

klyz12ss 发表于 2014-3-21 21:42
终于遇到个会使串口的了,哥们,你会编文件系统吗?可否留个联系方式,卡了很久,求帮助。365569293

额,完全不会。。。我才接触linux不到半年……
个人签名更多BBB经验分享,请访问我的博客http://blog.csdn.net/wyt2013

回复

219

帖子

0

资源

纯净的硅(初级)

Windows中用USB让BBB联网的教程,如果有谁找到好的麻烦分享一下吧~~
个人签名更多BBB经验分享,请访问我的博客http://blog.csdn.net/wyt2013

回复

673

帖子

1

资源

纯净的硅(中级)

前面都OK,最后make就是死活都不行,我来贴个输出信息……根本不懂linux,完全无力了。

error.docx (16.72 KB, 下载次数: 5)

回复

18

帖子

0

资源

一粒金砂(中级)

LZ好帖!
Windows中用USB让BBB联网的教程,可以参考下面这篇
http://android.zone.it.sohu.com/forums/thread-7005434-1-1.html
注:参考其中windows下的设置即可 并将本地连接2的地址改为192.168.7.1
      BBB上的操作用LZ的那几条命令

回复

18

帖子

0

资源

一粒金砂(中级)

本帖最后由 sdt200920 于 2014-10-4 16:26 编辑

Windows中用USB让BBB联网的教程,可以参考下面这篇
http://android.zone.it.sohu.com/forums/thread-7005434-1-1.html
注:参考其中windows下的设置即可 并将本地连接2的地址改为192.168.7.1
      BBB上的操作用LZ的那几条命令不好意思多发了一遍。。。

回复
您需要登录后才可以回帖 登录 | 注册

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
    关闭
    站长推荐上一条 1/6 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表