暗渡陈仓:用低消耗设备进行破解和渗透测试2.2.2 BeagleBone

简介:

2.2.2 BeagleBone

BeagleBone于2011年万圣节(10月31日)发布(http://beagleboard.org/Products/BeagleBone)。2009年Arduino Duemilanove(http://arduino.cc)发布之后,很多人开始对用微控制器搭建自己的电子设备感兴趣。可能有人不熟悉Arduino,它是另一个开源硬件项目。这个板子售价不到35美元,发布后,很快就围绕它形成了一个社区。通过可以接插扩展板(shield)的硬件和带有大量功能库、易于使用的编程环境,Arduino把单片机引入到了非技术群体。虽然可以用基于16MHz 8位AVR单片机的Arduino做很多事情,但一些项目需要更强的计算能力,这正是BeagleBone大显身手的地方。

BeagleBone可以看作是一个威力大大加强的“类Arduino”板。很多Arduino那 16MHz 8位单片机无能为力的情况,德州仪器的主频达720MHz的32位Cortex-A8处理器则游刃有余。除了提升通用计算和数学处理的能力之外,BeagleBone还能运行完整的操作系统(Arduino的处理能力只够运行一个装载到其中的程序)。与Arduino类似,它也被设计成能够使用扩展板。每个板子的扩展插针的布局不一样。BeagleBone的扩展板叫作“马夹”——cape,它们经常在以太网口的地方开个豁口,样子很像一个马夹,这个称呼显得尤为形象。BeagleBone如图2.5和图2.6所示。

  

      图2.5 BeagleBone的正面   图2.6 BeagleBone的背面

以下信息来自于《BeagleBone System Reference Manual》,该手册可以从http://circuitco.com/support/index.php?title?BeagleBone#Rev_A6A获取。与BeagleBoard-xM相似,BeagleBone也采用Cortex-A8处理器,但芯片封装不同,运行速度稍慢。最大的好处是BeagleBoard-xM能运行的操作系统和软件它都能运行。要知道,BeagleBoard诞生至今,已有大量的操作系统和软件可用。

BeagleBone载有256MB DDR2内存,只有BeagleBoard-xM内存量的一半,这在运行某些大软件(例如Metasploit框架)时可能会有问题。但这与Arduino 2K 的RAM相比还是很有优势的。BeagleBone的板名、版本和序列号等信息都存储在32KB(早期版本是4KB)板上的EEPROM中。其余大部分剩余EEPROM空间留给操作系统和应用软件使用。巧合的是Arduino也有32KB以flash实现的非易失存储,它用来存储bootloader和唯一的程序。

BeagleBone可由5V直流电源或USB供电。BeagleBone使用了TI公司的TPS65127B电源管理芯片。需要注意,当通过USB口供电时,为了确保板子运行和USB外设工作的电力充足,CPU速度被限制在了500MHz。推荐使用5±0.1V,1A的直流电源供电。

BeagleBone相对于Arduino的另一个强项在USB方面,它带有一个USB集线器,允许使用一条USB线带起多个USB设备。当BeagleBone连接到PC时,上位机会检测到一个调试串口、一个JTAG端口和一个USB0端口,这个USB0端口直接连到BeagleBone处理器上。当采用直流电源供电时,USB host端口能提供500mA,5V供电能力。当采用USB供电时,则USB host端口只能使用低功耗的设备,例如键盘鼠标等。

与BeagleBoard-xM一样,BeagleBone也有一个microSD插槽,因为BeagleBone没有內置存储,所以用microSD卡来存储操作系统和其他文件。microSD卡的读写是4位的(这是SD卡的标准)。BeagleBone支持3.3V的microSD卡,包括高容量卡。Arduino没有内置SD卡存储支持,如果不介意占用几个GPIO,有一些扩展板可以提供SD卡支持。

比起Arduino,BeagleBone的另一个优势是内建快速以太网。与BeagleBoard-xM不同,以太网是由专用的网络芯片实现的,而不是用USB实现的。采用的芯片是SMSC LAN8710A。因为这个不同,BeagleBone每次启动都会报告相同的MAC地址,会通过DHCP获得相同的IP地址。

扩展cape被通过46针的插头连接到BeagleBone上,最多可以同时堆叠4个cape,只要它们互相之间不冲突。难以想象有什么样的项目是BeagleBone实现不了的。它有66个可用的GPIO(而Arduino只有14个)。一个需要注意的要点是,BeagleBone的GPIO是3.3V的,而不是5V。BeagleBone支持一个带有背光的全功能LCD触摸屏。通过扩展插座上的处理器引脚,还可以扩展出一个额外的SD/MMC卡接口。

在嵌入式电子系统中有两种常用的串行外设互联标准:SPI和I2C。BeagleBone完全支持这两种标准,它有2路SPI和2路I2C接口。每一路都可以连接多个设备。其中第二路I2C必须小心使用,因为它被BeagleBone用来识别和配置扩展cape(后面会有详细说明)。Arduino只有1路SPI和1路I2C接口。

扩展插座上引出了4路串口,在破解攻击机应用中,可以用其中的一个连接IEEE 802.15.4无线。BeagleBone还支持2路CAN总线,这是一种在汽车上常用的低速但高可靠性的总线,在其他环境中也有应用。

定时器、模数转换器(ADC)、脉宽调制器(PWM)进一步提高了BeagleBone的扩展能力。4路定时器信号被输出到扩展插头上,这些定时器对于周期性工作或重启cape上的组件很有用。BeagleBone提供了7路每秒100 000次采样的ADC,可用来连接一组老式的模拟传感器。ADC是1.8V的,必须小心使用,因为这些信号直接连在处理器上。PWM可调节输出信号的占空比,常用来驱动步进电机或用来调节LED的亮度。

虽然没有制作cape的统一规则,但有一些最大化兼容性的推荐标准。为了使一款cape能够被Beagle产品经销商出售,板上至少要有一个EEPROM,BeagleBone以此来识别这个cape。前边所说的第2路I2C总线用于和EEPROM通信。需要2个跳线或拨码开关来设置EEPROM的I2C地址,使EEPROM互相不干扰,从而使系统支持多达4个堆叠的cape。

像BeagleBoard-xM的情况一样,也强烈建议为BeagleBone配上保护外壳。有一些像Special Computing(http://specialcomp.com)和Adafruit Industries(http://adafruit.com)这样厂商出售外壳。根据使用不同cape的情况,优化的外壳方案也不同。如果BeagleBone板子不是嵌入到其他东西里工作,至少要用铜柱固定上亚克力板或其他绝缘板以防短路。如果自己设计制作外壳,一定要使用最小的铜柱,因为板上的某些表贴原件离安装孔很近,很容易被碰坏。

到这里,读者应该明白为什么BeagleBone在这些铁杆硬件玩家中如此流行了吧。通过本书你会看到,BeagleBone还是一个功能强大、体积小巧的计算机系统,而接下来要介绍的新推出的升级版——BeagleBone Black则更胜一筹。

相关文章
|
22天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
22 1
|
6月前
|
存储 测试技术
LabVIEW编程开发PCB自动测试设备
LabVIEW编程开发PCB自动测试设备
53 1
|
3月前
|
测试技术 Linux Android开发
i2c总线及设备测试工具i2ctools:i2cdetect、i2cdump、i2cget、i2cset
本文介绍了i2ctools工具集的使用,包括i2cdetect、i2cdump、i2cget和i2cset,这些工具有助于I2C设备的开发和调试,通过检测设备、读写寄存器和数据块来提高开发效率。
578 1
|
6月前
|
安全 测试技术 网络架构
【专栏】编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。
【4月更文挑战第28天】本文介绍了编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。通过实际案例分析,展示了如何成功完成割接,确保业务连续性和稳定性。遵循这些步骤,可提高割接成功率,为公司的网络性能和安全提供保障。
713 0
|
3月前
|
测试技术 索引 CDN
hyengine wasm业务性能测试问题之测试设备如何解决
hyengine wasm业务性能测试问题之测试设备如何解决
|
4月前
|
安全 物联网 物联网安全
物联网设备的安全性评估与测试:技术深度解析
【7月更文挑战第7天】物联网设备的安全性评估与测试是保障物联网系统安全运行的重要环节。通过实施全面的安全性评估与测试,可以发现并修复设备中存在的安全漏洞和风险,提高整体安全防护能力。然而,由于物联网设备的多样性和复杂性以及安全标准与监管的缺失等挑战,测试工作需要不断创新和优化。未来,随着技术的不断进步和实践的深入,物联网设备的安全性评估与测试将更加完善和高效。
|
6月前
|
安全 物联网 测试技术
构建未来:Android与IoT设备的无缝交互深入探索软件自动化测试的未来趋势
【5月更文挑战第30天】在物联网(IoT)技术快速发展的当下,Android系统因其开放性和广泛的用户基础成为了连接智能设备的首选平台。本文将探讨如何通过现代Android开发技术实现智能手机与IoT设备的高效、稳定连接,并分析其中的挑战和解决方案。我们将深入挖掘Android系统的底层通信机制,提出创新的交互模式,并通过实例演示如何在Android应用中集成IoT控制功能,旨在为开发者提供一套可行的指导方案,促进IoT生态系统的进一步发展。
|
6月前
|
数据采集 数据管理 测试技术
LabVIEW开发新型电化学性能测试设备
LabVIEW开发新型电化学性能测试设备
58 6
|
6月前
|
编解码 测试技术 API
模拟手机设备:使用 Playwright 实现移动端自动化测试
本文介绍了使用Python的Playwright库进行移动设备模拟和自动化测试的方法。通过Playwright,开发者能模拟不同设备的硬件和软件特性,如屏幕尺寸、用户代理,以确保网站在移动设备上的表现。示例代码展示了如何模拟iPhone X并访问网站,之后可在此基础上编写测试代码以检验响应式布局和交互功能。Playwright的设备参数注册表支持多种设备,简化了移动端自动化测试的流程。
|
Linux 测试技术 Windows
可编程 USB 转串口适配器开发板应用于电子设备开发测试
可编程 USB 转串口适配器开发板应用于电子设备开发测试
可编程 USB 转串口适配器开发板应用于电子设备开发测试
下一篇
无影云桌面