BeagleBone Black
hahachenchen789
后台开发,专注容器、k8s、云原生。
展开
-
BBB(BeagleBone Black)硬件配置简介
BBB采用的是TI的处理器,下图详细描述了BBB的硬件配置参数和树莓派的比较BBB板上的芯片主要有:1.Ti 处理器2.Kingston eMMC 4G(相当于FLASH内存),BBB预先安装了linux系统在里面3.DDR3 512M RAM 镁光 D9PXV(也就是一般笔记本的内存条)4.HDMI Framer NXP5.Ethernet PHY原创 2016-08-06 17:49:16 · 4637 阅读 · 0 评论 -
RTEMS-libbsd 生成驱动设备firmware
最近在为rtems-libbsd添加无线网卡驱动,需要添加网卡的固件文件,本人所用的网卡芯片是rtl8188eu,接下来讲讲如何在rtems-libbsd中生成固件文件。首先固件文件生成是采用make-build system(吐槽一下,目前rtems-libbsd包含waf的python脚本编译和一部分的make脚本编译,实在不忍直视,不过rtems也说了会在将来全部采用waf作为唯原创 2017-06-20 20:08:22 · 1599 阅读 · 0 评论 -
RTEMS-libbsd 实现beaglebone black USB驱动
libbsd是移植Freebsd的代码库,因此包含了USB的协议栈部分,因此我们要做的就是移植USB底层驱动程序。Beaglebone black 的AM335x处理器采用的是musb otg的设备管理模式,因此需要musb的驱动程序。下图是Freebsd关于AM335x的驱动程序源文件:对于USB驱动有关的就是am335x_musb.c以及am335x_usbss.c文件原创 2017-06-21 16:36:45 · 1153 阅读 · 0 评论 -
RTEMS实现FDT support for Beaglebone
RTEMS目前多数采用nexus总线进行设备管理,但这是一种较老的方法,目前linux和FreeBSD都改为采用FDT(Flatten Device Tree)进行设备管理,无论是ARM还是PowerPC等。接下来讲讲如何在RTEMS上实现FDT,以BBB为例:FDT需要dtb文件支持,该文件是二进制文件,包含了设备树,Linux和FreeBSD都可以自动生成该文件,通过dts文件生成原创 2017-07-04 15:46:27 · 816 阅读 · 0 评论 -
RTEMS-libbsd实现FDT support for BBB
上篇博文描述了如何在RTEMS上实现FDT,这篇文章将展示如何在RTEMS-libbsd上实现FDT support。rtems-libbsd 管理总线的实现在nexus-devices.h文件中,也就是: rtemsbsd/include/bsp/nexus-devices.h/* * Copyright (c) 2013-2015 embedded brains GmbH.原创 2017-07-04 16:19:53 · 886 阅读 · 0 评论 -
实现RTEMS USB WiFi for Beaglebone Black BSP
目前RTEMS的github的master branch包含了本人贡献的USB WiFi的代码模块,有需要的同学可以去Git上clone, 本人实现的WiFi 芯片是Realtek 的rtl8188eu,接下来详细讲解如何添加该芯片的驱动。在上篇博文中,添加了USB的驱动,接下来就是添加USB WiFi dongle驱动。1.添加USB WiFi dongle rtl8188eu原创 2017-08-13 13:55:37 · 638 阅读 · 0 评论 -
添加WEP 加密WiFi支持 for RTEMS-libbsd on BBB BSP
在实现USB WiFi 芯片 rtl8188eu驱动后,接下来开始实现加密WiFi: WEP,目前rtems的GitHub上的master 已经merge了本人贡献的WEP代码,可以自行前去下载。1.Add the WEP module suppport in nexus-devices.h我们需要加密算法模块的支持,因此在nexus-devices.h中添加wlan_we原创 2017-08-13 14:17:53 · 641 阅读 · 0 评论 -
Add Copy headers support for RTEMS-libbsd
在移植OpenSSL库的过程中,碰到了问题:当我从FreeBSD import 文件并port to RTEMS时,被include的头文件的文件路径和其实际的文件路径不同时,会造成编译错误,因为编译器waf找不到头文件。一个例子就是:the . The source for this file is in freebsd/crypto/openssl/crypto/opensslv.h.原创 2017-08-13 14:35:24 · 434 阅读 · 0 评论 -
添加OpenSSL库支持for WPA on RTEMS-libbsd
WPA加密WiFi需要OpenSSL库的支持,因此我们需要从FreeBSD中import该库。RTEMS git 的master branch已经merge该部分的本人贡献的代码。可前往自行下载。1. Add openssl lib files in libbsd.py+# /crypto/openssl +# +def crypto_openssl(mm): +原创 2017-08-13 14:55:55 · 539 阅读 · 0 评论 -
Import WPA from FreeBSD
对于WPA 加密WiFi,我们需要的是wpa_supplicant 软件,该软件广泛应用于BSD, Linux, Windows等操作系统,主要功能是WiFi管理功能,多用于WPA/WPA2协议的加密WiFi。因此需要从FreeBSD中移植该软件到RTEMS上。注意:该文章是从我的英文博客中翻译过来,因此多数是英文。We can get the wpa source code from the原创 2017-08-13 15:06:15 · 376 阅读 · 0 评论 -
Port WPA supplicant to RTEMS-libbsd
上篇博文详细描述了import wpa_supplicant from FreeBSD。 这篇博客将描述如何将wpa supplicant 在RTEMS环境下编译。1.RTEMS doesn't support the PID and daemonize, so we need modify the os_unix.c.a). Add the unistd.h原创 2017-08-13 15:54:45 · 539 阅读 · 0 评论 -
Add wpa_supplicant_fork command on RTEMS-libbsd
在将wpa_supplicant移植到RTEMS上后,我们能在shell command中使用该命令,但是存在一个BUG,当我们通过命令wpa_supplciant配置WPA时,我们不嫩使用其他命令,或者其他thread。因此我们要创建一个新的thread让wpa_supplicant运行。本文是从本人的英文博客中翻译过来,因此大部分是英文。1. Add wpa_supplicant_原创 2017-08-13 16:05:22 · 452 阅读 · 0 评论 -
RTEMS-libbsd 解决无法使用中断问题
RTEMS-libbsd 是利用RTEMS内核,将freebsd作为一个库的系统。因此更加方便移植各种bsp支持,比如驱动等。但是在使用中断时,对于某些bsp,会出现中断无法使用的情况。比如本人在为beaglebone black移植USB驱动时,需要安装usb中断,但是程序运行至interrupt install 函数处会出现终止, 也就是_Terminate。通过gdb进行原创 2017-06-18 15:04:30 · 1252 阅读 · 0 评论 -
基于Beaglebone black的FreeBSD开启无线网卡
无线网卡:fast 150M迷你网卡FreeBSD版本:12.0修改/boot/loader.conf,加入################### Wireless ###################legal.realtek.license_ack=1 # 许可firmware_load="YES" # 不加载这个会提示缺少firmware模块i原创 2017-06-19 18:25:44 · 923 阅读 · 0 评论 -
Beaglebone black安装FreeBSD
Beaglebone 官网给出了安装FreeBSD的一般方法:http://beagleboard.org/project/freebsd/但该方法较为复杂,适合于需要对FreeBSD内核进行配置剪裁的开发者,对于一般需求的用户,开发过程显然不够简单。在这里给出本人在BBB上安装FreeBSD的简单方法:利用镜像烧写。首先要找到FreeBSD的BBB镜像,在这里给出两个ftp下原创 2017-04-18 16:52:56 · 824 阅读 · 0 评论 -
BeagleBone Black 使用注意事项
1.连接器P8:其他信号也可以通过这些引脚连接,但是在上电时,引脚是默认的设置。要注意的是,这些引脚的电压是3.3v,不能连接5v信号,不然板子容易损坏。同时,不要在没有上电的情况下,对引脚加电压,会损坏处理器。连接器P9:其中PWR_BUT是5v电平,这个信号是TPS芯片内部产生的。3.供电插口5v直流供电,板子需要5v直流,1A的电流或者更大如果原创 2016-08-08 11:30:06 · 2371 阅读 · 0 评论 -
ssh简介和Windows端利用putty让beaglebone black通过USB连接外网
ssh:ssh是secure shell的缩写,由LETF的网络小组指定,SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是Unix系统的一个程序,后来拓展到其他平台。传统的网络服务程序,如ftp、Telnet在本质上都是不安全的,因为它们在网络上使用的是明文原创 2016-08-23 20:47:17 · 2997 阅读 · 0 评论 -
BBB板的HDMI接口注意事项
BBB板板载了一个micro HDMI接口:如果要外接屏幕显示图形界面,那么需要准备一台带DVI或者HDMI接口的显示器,一条HDMI-D Tye To 标准 HDMI接口或者DVI接口的线,这是根据你显示器的接口来决定的,当然如果你用的是VGA接口的显示器,想通过转接口来实现视频输出,那下面这点要特别注意:Beaglebone-black的自恢复保险丝RT1的型号为RXEF010。转载 2016-08-24 21:23:33 · 2731 阅读 · 0 评论 -
BeagleBone Black开机启动和vnc图形界面
BBB的启动方式有很多,在这里选择最为简单的一种,通过USB启动。板子包装中自带了usb线,连接板子的P4接口,也就是mini usb接口,然后电脑连接usb。电脑打开设备管理器,如果发现没有出现相应的端口,而是一个感叹号,说明驱动没有安装,可前往bbb官网下载,网站链接:http://beagleboard.org/getting-started安装好后可看到设备管理器端口号出来了,我的原创 2016-08-08 16:44:56 · 3234 阅读 · 3 评论 -
BeagleBone Black 从sd卡启动系统(debian、Ubuntu和angstrom)
首先要将系统写入到sd卡中,在这里最好对于sd卡的选择最好选择4G以上的,本人选择了8G内存,class4读写速度的micro sd卡。系统从BBB给出的官网网站上下载,网址为:http://downloads.angstrom-distribution.org/demo/beaglebone/testing/可以看出,从eMMC启动和从sd卡启动的系统是版本是不一样的。本人下原创 2016-08-24 22:46:22 · 8629 阅读 · 2 评论 -
beaglebone black 时间调整
当我们用date命令查看BBB时间时,发现时间是不对的,要调整时间,按照下面操作:1.首先要设置时区,板子默认的时区文件在/etc/localtime文件中,将其删除:rm /etc/localtime2.查看系统数据库中有哪些时区可供选择,命令:ls /usr/share/zoneinfo/Asia/3.选择上海,将上海时区链接到localtime,命令:ln -s /u原创 2016-08-26 11:21:01 · 1602 阅读 · 0 评论 -
beaglebone black从SD卡启动Android和安兔兔跑分评测
继本人成功在狗板上运行sd卡debian和Ubuntu后,闲来无事,从BBB官网的介绍看到,狗板是可以运行Android的,接下来一起来试试看吧。需要的工具除了狗板还需要一块显示屏,在这本人用的是chipsee的触摸屏,大小7英寸首先下载Android镜像BBB定制Android下载网址:http://bbbandroid.sourceforge.net/下载镜像按照之原创 2016-08-26 18:53:03 · 976 阅读 · 0 评论 -
基于ubuntu的rtems-libbsd编译运行beagleboneblack bsp
rtems除了自身开发的rtems之外,还和freebsd合作开发了rtems-libbsd系统。rtems-libbsd系统git说明如下:Welcome to building LibBSD for RTEMS using Waf. This package is a librarycontaining various parts of the FreeBSD kernel po原创 2016-12-01 12:22:14 · 2062 阅读 · 1 评论 -
rtems网络移植-实现网卡驱动
经过两周的调试,终于初步实现网卡的发送功能。在这里参考了uboot的beaglebone网卡驱动和《tcp/ip详解卷二》1、在前几篇博文中,讲解了网卡的mdio初始化过程,那么网卡lan8710a是如何与am335x处理器通信的呢?首先看一张连接图:我们都知道osi七层协议,最底下的是物理层和数据链路层,也就是mac和phy。有一部分处理器是自带mac层,也就是只原创 2016-11-26 00:21:41 · 4928 阅读 · 2 评论 -
Uboot关于i2c和EEPROM的命令
在uboot命令行下输入i2c并回车,会打印出i2c所有命令的使用方法:比如i2c dev会打印出目前挂载的i2c设备:i2c probe是对i2c设备地址的寻找:i2c md命令是从i2c设备读取数据,在这里本人用的是beaglebone black,然后就选择EEPROM这个内置的i2c设备进行读取要注意的是md命令的参数,第一个是chi原创 2017-01-15 19:56:53 · 6506 阅读 · 0 评论 -
Uboot Beaglebone Black Usb驱动分析
在驱动开发中,USB驱动是比较难以理解的部分,也是令驱动开发者比较头疼的,不仅是因为USB包括host端和设备端;USB的协议类型也非常多:数据传输的协议,控制协议,主控制器协议,设备相关的协议,硬件接口的协议。还要注意的是,设备端还包括多种设备,主要分为五大类:显示器、通信设备(串口一类)、人机输入(键鼠)、音频设备、海量储存(U盘)。每一种设备的通信协议都不一样,比如海量存储设备,它的原创 2017-02-26 21:20:40 · 1884 阅读 · 1 评论 -
USB实现(1)-Ti AM335x系列CPU
本文参照了Ti AM335x的技术手册。AM335x处理器提供了两个USB2.0 模块。每个USB控制器都是围绕Mentor USB OTG控制器(musbmhdrc)和TI PHY构建的。每个USB控制器具有用户可配置的32K字节的端点FIFO。两个USB模块共享CPPI DMA控制器和相应的队列管理器中断步态器,电源管理模块和PHY / UTMI时钟。下图是AM335x的U原创 2017-04-08 21:10:34 · 3513 阅读 · 0 评论 -
实现RTEMS Beaglebone Black I2C驱动
RTEMS的beaglebone black BSP并不包含I2C的驱动,而很多传感器模块的通信方式都只支持I2C,因此限制了RTEMS在IOT物联网方面的应用。本文对I2C驱动的实现思想进行详细描述。参考代码是RTEMS源码中ATSAM的i2C实现。首先要知道,RTEMS中I2C bus的代码已经存在,因此我们只关心具体实现代码即可,也就是BSP部分的i2C驱动部分/原创 2017-03-30 00:16:07 · 1055 阅读 · 0 评论