![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Beaglebone Black
魏来之路
相信技术能改变生活
展开
-
使用Beaglebone Black的ADC
Beaglebone Black的处理器芯片AM3359上的8个ADC脚同时也是触摸屏控制器(TSC),我们知道一般的电阻屏分为4线、5线或8线的,除去触摸屏以外的ADC接口可以作为普通的ADC使用。(我们在查询TI公司的4000页AM33xx手册时需要到Touchscreen Controller这一章去找有关ADC的内容。)特别注意:Beaglebone Black的ADC管脚最大只能原创 2013-11-20 16:16:22 · 5148 阅读 · 1 评论 -
beaglebone black的串口连接、用usb联网、内核模块的本地编译
这篇文章记录一下题目所述的这3个点。原创 2013-12-16 12:07:26 · 8560 阅读 · 3 评论 -
使用Beaglebone Black的I2C (二)——使用C语言和i2c-dev驱动
在本博客的《使用Beaglebone Black的I2C(一)》中,介绍了BBB上无需编程对i2c总线进行读写操作的方法,本文将介绍如何在c语言程序中使用i2c-dev驱动来操作i2c设备。原创 2014-03-07 23:26:18 · 6141 阅读 · 0 评论 -
使用Beaglebone Black的I2C(一)
本文我将使用BBB的I2C1读取气压传感器芯片BMP085和L3G4200D三轴陀螺仪的值。前言首先说明,我使用的硬件外设是一个九轴气压传感器模块,包括一个三轴陀螺仪芯片,一个三轴磁场传感器芯片,一个三轴加速度计芯片和一个气压传感器芯片。这4个芯片使用同一个I2C与BBB通信,下面记录一下它的使用方法。I2C是一种串行通讯方法,它只需要两根线就能实现通讯,一根时原创 2013-11-22 01:03:27 · 8807 阅读 · 7 评论 -
聊聊Beaglebone Black的cape和device tree overlay和dtc命令
我们知道beagleboard官网上有一些官方的硬件外设,比如lcd显示屏之类的,他们管这些外设叫做cape。其实这里是我理解狭隘了,应该说只要是修改了芯片引脚功能,或占用了空闲的引脚的东西,都可以叫做cape。比如之前我们提到的开启某些引脚的AD转换功能,其实也是给设备添加了一个virtual cape。Beaglebone Black中用一个叫做capemgr的软件管理所有的cape,不论它是原创 2013-11-20 16:30:44 · 9383 阅读 · 6 评论 -
使用Beaglebone Black的PRU(二)——Hello World!
经过上一篇博客,已经安装好了am335x_pru_package,本文将用它来编写、编译一个最简单的PRU程序——闪烁BBB上的led灯。大体来说每个PRU程序都包括两部分:在ARM核的Linux系统中运行的C语言程序在PRU中运行的汇编程序(编译成.bin文件)原创 2013-12-20 20:44:42 · 7741 阅读 · 13 评论 -
用Device tree overlay掌控Beaglebone Black的硬件资源
一、简介device tree是linux 3.x开始使用的控制硬件资源的方式,这里说的硬件资源既包括片上的诸如GPIO、PWM、I2C、ADC等资源,也包括外部拓展的如FLASH、LCD等。从单片机、STM32过渡到Cortex-A8,之前直接操作寄存器来控制硬件的思路已经原创 2013-11-15 14:44:43 · 8075 阅读 · 1 评论 -
使用Beaglebone Black的PRU(三)——实现高达100MHz的GPIO输出
本文用step by step的方式给出在BBB上用PRU实现超高速GPIO的方法。原创 2014-03-11 18:23:04 · 7402 阅读 · 1 评论 -
使用BBB的device tree和cape(重新整理版)
只要你想用BBB做哪怕一丁点涉及到硬件的东西,你就不可避免地要用到cape和device tree的知识。所以尽管它们看起来很陌生而且有点复杂,但还是得学。其实用起来不难的。下面我只讲使用时必须会的内容,不深究其工作原理。文中基本没有废话,请仔细阅读每个字,勿遗漏细节。我们已经知道beagleboard官网上有一些官方的硬件外设,比如lcd显示屏之类的,他们管这些外设叫做cape。其实原创 2014-03-15 22:33:18 · 8557 阅读 · 11 评论 -
使用Beaglebone Black的PRU(一)
AM335x的PRUSSv2简介PRUSSv2 = Programmable Real-time Unit Sub-System = PRU-ICSS = PRU Industrial Communication Sub-System = 上一代PRUSS的v2进化版这是一个AM335x等芯片上自带的,独立于ARM CPU运行的子系统。其时钟频率为200MHz,可以直接控制特定的IO口,可以达到非常高的实时性要求。一般两种情况需要用到它:一是linux系统的实时性不满足要求的时候;二是芯片的功能模原创 2013-12-18 23:57:00 · 12295 阅读 · 21 评论 -
自制的Beaglebone Black LCD CAPE第二版
如果你关注我的博客的话,我之前做过一个LCD cape。这个是它的bug修正版加改进版。参数特性:LCD:4.3寸LCD显示屏。分辨率:480x272触摸输入:电阻屏使用方式:用USB连接电脑,或者用5v电源供电,或者用电池cape(我正在设计制作)供电均可。功能:1、除了LCD显示以外,本cape把所有的BBB引脚按原顺序引出到两侧,以便用户进行功能拓原创 2014-03-20 17:42:42 · 5431 阅读 · 9 评论 -
在BBB启动时自动加载dtbo(或执行脚本、运行程序)
启动时自动加载dtbo,实际上就是做了一个cape。官方推荐的方法是用eeprom来实现,请参考我的博文《为BBB制作专属自己的cape(一)》和《为BBB制作专属自己的cape(四)》中有关eeprom的内容。本文要说的是另外两种方法。用uEnv.txt不用eeprom的话,也可以通过修改uEnv.txt文件来实现自动加载dtbo文件。USB连接好BBB以后在电脑里会出现一个盘符,里面有原创 2014-03-22 10:17:00 · 15394 阅读 · 9 评论 -
为BBB制作专属自己的cape(四)
强势归来!在本系列的(一)到(三)中,我尝试在Beaglebone Black上使用MCU接口的LCD模块,因为驱动问题一直没成功,最近我使用RGB接口的LCD模块,参考官方LCD cape的资料自己画板子焊芯片,终于成功了。本文记录一下制作过程和我犯错误的一些地方。首先强调一下LCD的类型选择。本博客之前转发过一篇博文可以参考,但这里还是要着重说一下MCU接口(也叫80接口)和RGB接口原创 2014-01-13 20:27:54 · 6435 阅读 · 26 评论 -
Beaglebone black锂电池cape
本文介绍了给Beaglebone Black增加锂电池供电,以及使用BBB自带的电源管理芯片为锂电池充电的办法。原创 2014-04-17 18:54:38 · 4246 阅读 · 3 评论 -
在Ubuntu中搭建Qt Creator对BBB的交叉编译环境
在电脑上安装toolchain首先下载工具链,因为Angstrom官网已经挂了,可以到这位热心的网友的Google drive里下载:https://googledrive.com/host/0B3Z340LOBulvMG5NRmNlZEppSEE/网盘里有用的文件是下面这两个angstrom-2011.03-i686-linux-armv7a-linux-gnueabi-原创 2014-01-20 11:17:54 · 9573 阅读 · 19 评论 -
使用Beaglebone Black的IO口
#include #include #include #include //define O_WRONLY and O_RDONLY#define SYSFS_GPIO_DIR "/sys/class/gpio"#define MAX_BUF 64void main(){ int fd, len; char buf[MAX_BUF]; char ch; int i;原创 2013-11-05 19:08:15 · 6340 阅读 · 1 评论 -
最近学习linux的体会
一、对我而言,Linux最妙的地方在于:它既是一个拥有庞大生态圈支持的操作系统,同时又能很轻松地被embedded。二者结合创造了无限可能。相比单片机那种什么都得从零开始写的开发方法,现在若想用什么外设,只要有驱动,接上就可以用,想用什么软件也是一样。这也正是Beaglebone、树莓派、cubieboard等等开源硬件存在的意义。二、表面说是学习Linux,实际上是在原创 2014-01-27 11:58:20 · 3172 阅读 · 3 评论 -
使用Beaglebone Black的串口UART
Beaglebone Black上有UART1-UART5共5个可用的uart串口,UART0供调试使用。我们进入/lib/firmware目录中可以看到系统自带了一些与uart有关的device tree/lib/firmware/BB-UART1-00A0.dts/lib/firmware/BB-UART2-00A0.dts/lib/firmware/BB-UART4-00A0.dts原创 2013-11-20 16:23:48 · 14680 阅读 · 3 评论 -
Beaglebone Black简介和资料汇总
开源硬件在国外火得一塌糊涂,国内却没有那么多人玩,直接导致中文论坛资料严重缺乏……但这也挡不住Beaglebone Black的魅力,几经比较之后还是决定购买这个“狗骨头”!Beaglebone Black(以下简称BBB)是一款2013年刚刚诞生的开源硬件。其前身是Beaglebone,二者外形一致,但前身是白色板子,而新版是黑色板子。大家现在购买的话买新的就好,性能比前身强大很多,价格还反原创 2013-10-30 23:56:06 · 21328 阅读 · 18 评论 -
使用Beaglebone Black的SPI
SPI是可以全双工通信的一种串行总线,两个设备之间双向通信的话一般使用3根线:SCLK,MISO,MOSI,多个设备之间双向通信的话,每个设备还需要再加上一根地址线CSn。相比之下I2C只能半双工,但无论几个设备,都只需要2根线。更多基础知识请谷歌百度。Beaglebone Black使用的AM3359芯片上有两个SPI,但SPI1连接到了板子的HDMI芯片上,所以除非禁用HDMI,否则我们只原创 2013-11-24 18:21:11 · 9905 阅读 · 7 评论 -
嵌入式Linux的一点学习心得
Linux本身是一个发展中的操作系统。它有很多前期不完善的机制,被后代用新的机制代替。但是老的机制不可能一下子就消亡,因此由于“历史原因”,会产生很多新旧机制共存的情况。而且Linux的教科书数不胜数,那些老的经典教科书的某些章节其实在技术上已经有点过时。这实际上为我们初学者带来了麻烦:一方面,我们要同时掌握新旧两种机制;另一方面,拿设备驱动的使用来说,新旧设备驱动的使用方式也不同,这在初学时会带原创 2013-12-04 20:32:01 · 2814 阅读 · 0 评论 -
嵌入式linux如何操作硬件
拿到Beaglebone Black以后,我最先考虑的是如何用它控制硬件,包括ARM片上的硬件资源和外接的各种设备。通过我的前几篇日志也给出了若干硬件的使用方法,但是总感觉没有抓住要害。因此查了一些资料,在此做一点总结。我们知道Linux系统分为用户空间和内核空间,系统调用函数和Linux API(本质上也是在使用系统调用)是内核空间和用户空间之间的接口,设备驱动程序是内核空间和机原创 2013-12-04 17:23:52 · 4878 阅读 · 3 评论 -
嵌入式Linux初学者眼中的世界
本文送给嵌入式Linux初学者。相信大家刚接触Linux的时候跟我的感觉是一样的,面对着无数的英文单词(其实大部分是一堆辅音字母的组合,读都没法读)和术语,不知道它们都是什么东西,不知道它们是个具体东西还是抽象概念,不知道它们到底是什么关系。即便进行Google,又会在解释中遇到一大堆新的术语,无穷尽也……特别是像我一样没有计算机软件专业背景,只是单纯喜欢编程的人,或者刚刚从单片机过渡原创 2013-12-02 23:20:45 · 2854 阅读 · 6 评论 -
LCD的接口类型详解
LCD的接口有多种,分类很细。主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。MCU模式(也写成MPU模式)。只有TFT模块才有RGB接口。但应用比较多的就是MCU模式和RGB模式,区别有以下几点:1.MCU接口:会解码命令,由timing generator产生时序信号,驱动C转载 2013-12-15 22:22:38 · 2669 阅读 · 0 评论 -
学习嵌入式和linux的迷思
一开始,我学习c语言,是因为享受自己的代码实现预想功能的感觉。从 printf("Hello, world!"); 开始,就好像拥有了改造虚拟世界的能力,让我在这个世界中可以为所欲为。后来,我认识了单片机,我马上爱上了它。因为通过它,我找到了从虚拟走进现实的一扇门,我可以做自己的机器人,让它做我想让它做的任何事。再后来,我接触到ARM和linux。我发现手中的武器更加强大,我不仅可以控制机原创 2013-12-17 16:13:56 · 3009 阅读 · 5 评论 -
为BBB制作专属自己的cape(三)
编译ili9320驱动以后,还是不能用那个LCD。。我现在还不太想过多纠缠驱动的事,而且根据我转的那篇LCD科普文,对于Cortex-A8这个级别的处理器,很少有用8080接口的LCD的了。所以这个项目暂时搁浅吧……LCD肯定要用的了,但还是用RGB接口的或HDMI接口的吧~未来用到时再写。如果你还是想坚持使用8080接口的LCD,这里有一个非常详细的教程可以参考,他把代码都公开了,在原创 2013-12-18 14:56:10 · 2621 阅读 · 2 评论 -
为BBB制作专属自己的cape(一)
本文将以制作“LCD显示屏cape”为例记录一下制作Beaglebone Black的cape的过程!原创 2013-12-11 01:42:54 · 7540 阅读 · 8 评论 -
为BBB制作专属自己的cape(二)
我的目标是用手头的一个LCD模块为beaglebone black制作LCD cape,在我写上一篇日志的时候,我以为这没什么难的,套用现成的LCD4 cape的device tree就可以了,可是问题远远多过想象……原创 2013-12-15 00:40:03 · 4550 阅读 · 0 评论 -
把BBB改造成红白机/掌机/玩超级玛丽
首先要准备好LCD屏幕(自制BBB LCD cape方法见本博客日志)和游戏手柄等。然后就是安装模拟机啦,我装了两个,分别在这里下载:OSMOSE(支持.sms .gg等): https://github.com/bear24rw/gamingcape_osmoseFCEUX(支持nes fds等): https://github.com/bear24rw/gamingcape_fce原创 2014-01-18 20:12:10 · 5093 阅读 · 1 评论 -
我的嵌入式Qt开发第一课——基于BBB和hmc5843三轴电子罗盘
几次想照着课本系统地学习Qt,但我发现还是有具体问题驱动时学习比较快。于是我给自己设定了这个任务:读取HMC5843的三轴磁场强度值,计算出角度,并把角度用直观形式显示在图形界面上。这里面涉及到一些问题,接下来就用问答的形式记录一下。Q1: 搭建Ubuntu-BBB的Qt交叉编译环境、配置触摸屏:A1: http://blog.csdn.net/wyt2013/articl原创 2014-04-19 13:56:59 · 4249 阅读 · 2 评论