自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Techfantastic

Technology will make this world fantastic!

  • 博客(30)
  • 收藏
  • 关注

原创 我的嵌入式Qt开发第一课——基于BBB和hmc5843三轴电子罗盘

几次想照着课本系统地学习Qt,但我发现还是有具体问题驱动时学习比较快。于是我给自己设定了这个任务:读取HMC5843的三轴磁场强度值,计算出角度,并把角度用直观形式显示在图形界面上。这里面涉及到一些问题,接下来就用问答的形式记录一下。Q1: 搭建Ubuntu-BBB的Qt交叉编译环境、配置触摸屏:A1: http://blog.csdn.net/wyt2013/articl

2014-04-19 13:56:59 4202 2

原创 Beaglebone black锂电池cape

本文介绍了给Beaglebone Black增加锂电池供电,以及使用BBB自带的电源管理芯片为锂电池充电的办法。

2014-04-17 18:54:38 4213 3

原创 在BBB启动时自动加载dtbo(或执行脚本、运行程序)

启动时自动加载dtbo,实际上就是做了一个cape。官方推荐的方法是用eeprom来实现,请参考我的博文《为BBB制作专属自己的cape(一)》和《为BBB制作专属自己的cape(四)》中有关eeprom的内容。本文要说的是另外两种方法。用uEnv.txt不用eeprom的话,也可以通过修改uEnv.txt文件来实现自动加载dtbo文件。USB连接好BBB以后在电脑里会出现一个盘符,里面有

2014-03-22 10:17:00 15324 9

原创 自制的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 5402 9

原创 使用BBB的device tree和cape(重新整理版)

只要你想用BBB做哪怕一丁点涉及到硬件的东西,你就不可避免地要用到cape和device tree的知识。所以尽管它们看起来很陌生而且有点复杂,但还是得学。其实用起来不难的。下面我只讲使用时必须会的内容,不深究其工作原理。文中基本没有废话,请仔细阅读每个字,勿遗漏细节。我们已经知道beagleboard官网上有一些官方的硬件外设,比如lcd显示屏之类的,他们管这些外设叫做cape。其实

2014-03-15 22:33:18 8510 11

原创 使用Beaglebone Black的PRU(三)——实现高达100MHz的GPIO输出

本文用step by step的方式给出在BBB上用PRU实现超高速GPIO的方法。

2014-03-11 18:23:04 7379 1

原创 使用Beaglebone Black的I2C (二)——使用C语言和i2c-dev驱动

在本博客的《使用Beaglebone Black的I2C(一)》中,介绍了BBB上无需编程对i2c总线进行读写操作的方法,本文将介绍如何在c语言程序中使用i2c-dev驱动来操作i2c设备。

2014-03-07 23:26:18 6106

原创 最近学习linux的体会

一、对我而言,Linux最妙的地方在于:它既是一个拥有庞大生态圈支持的操作系统,同时又能很轻松地被embedded。二者结合创造了无限可能。相比单片机那种什么都得从零开始写的开发方法,现在若想用什么外设,只要有驱动,接上就可以用,想用什么软件也是一样。这也正是Beaglebone、树莓派、cubieboard等等开源硬件存在的意义。二、表面说是学习Linux,实际上是在

2014-01-27 11:58:20 3159 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 9535 19

原创 把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 5034 1

原创 为BBB制作专属自己的cape(四)

强势归来!在本系列的(一)到(三)中,我尝试在Beaglebone Black上使用MCU接口的LCD模块,因为驱动问题一直没成功,最近我使用RGB接口的LCD模块,参考官方LCD cape的资料自己画板子焊芯片,终于成功了。本文记录一下制作过程和我犯错误的一些地方。首先强调一下LCD的类型选择。本博客之前转发过一篇博文可以参考,但这里还是要着重说一下MCU接口(也叫80接口)和RGB接口

2014-01-13 20:27:54 6384 26

原创 使用Beaglebone Black的PRU(二)——Hello World!

经过上一篇博客,已经安装好了am335x_pru_package,本文将用它来编写、编译一个最简单的PRU程序——闪烁BBB上的led灯。大体来说每个PRU程序都包括两部分:在ARM核的Linux系统中运行的C语言程序在PRU中运行的汇编程序(编译成.bin文件)

2013-12-20 20:44:42 7708 13

原创 使用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 12271 21

原创 为BBB制作专属自己的cape(三)

编译ili9320驱动以后,还是不能用那个LCD。。我现在还不太想过多纠缠驱动的事,而且根据我转的那篇LCD科普文,对于Cortex-A8这个级别的处理器,很少有用8080接口的LCD的了。所以这个项目暂时搁浅吧……LCD肯定要用的了,但还是用RGB接口的或HDMI接口的吧~未来用到时再写。如果你还是想坚持使用8080接口的LCD,这里有一个非常详细的教程可以参考,他把代码都公开了,在

2013-12-18 14:56:10 2611 2

原创 学习嵌入式和linux的迷思

一开始,我学习c语言,是因为享受自己的代码实现预想功能的感觉。从 printf("Hello, world!"); 开始,就好像拥有了改造虚拟世界的能力,让我在这个世界中可以为所欲为。后来,我认识了单片机,我马上爱上了它。因为通过它,我找到了从虚拟走进现实的一扇门,我可以做自己的机器人,让它做我想让它做的任何事。再后来,我接触到ARM和linux。我发现手中的武器更加强大,我不仅可以控制机

2013-12-17 16:13:56 3001 5

原创 beaglebone black的串口连接、用usb联网、内核模块的本地编译

这篇文章记录一下题目所述的这3个点。

2013-12-16 12:07:26 8486 3

转载 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 2529

原创 为BBB制作专属自己的cape(二)

我的目标是用手头的一个LCD模块为beaglebone black制作LCD cape,在我写上一篇日志的时候,我以为这没什么难的,套用现成的LCD4 cape的device tree就可以了,可是问题远远多过想象……

2013-12-15 00:40:03 4534

原创 为BBB制作专属自己的cape(一)

本文将以制作“LCD显示屏cape”为例记录一下制作Beaglebone Black的cape的过程!

2013-12-11 01:42:54 7484 8

原创 嵌入式Linux的一点学习心得

Linux本身是一个发展中的操作系统。它有很多前期不完善的机制,被后代用新的机制代替。但是老的机制不可能一下子就消亡,因此由于“历史原因”,会产生很多新旧机制共存的情况。而且Linux的教科书数不胜数,那些老的经典教科书的某些章节其实在技术上已经有点过时。这实际上为我们初学者带来了麻烦:一方面,我们要同时掌握新旧两种机制;另一方面,拿设备驱动的使用来说,新旧设备驱动的使用方式也不同,这在初学时会带

2013-12-04 20:32:01 2792

原创 嵌入式linux如何操作硬件

拿到Beaglebone Black以后,我最先考虑的是如何用它控制硬件,包括ARM片上的硬件资源和外接的各种设备。通过我的前几篇日志也给出了若干硬件的使用方法,但是总感觉没有抓住要害。因此查了一些资料,在此做一点总结。我们知道Linux系统分为用户空间和内核空间,系统调用函数和Linux API(本质上也是在使用系统调用)是内核空间和用户空间之间的接口,设备驱动程序是内核空间和机

2013-12-04 17:23:52 4820 3

原创 嵌入式Linux初学者眼中的世界

本文送给嵌入式Linux初学者。相信大家刚接触Linux的时候跟我的感觉是一样的,面对着无数的英文单词(其实大部分是一堆辅音字母的组合,读都没法读)和术语,不知道它们都是什么东西,不知道它们是个具体东西还是抽象概念,不知道它们到底是什么关系。即便进行Google,又会在解释中遇到一大堆新的术语,无穷尽也……特别是像我一样没有计算机软件专业背景,只是单纯喜欢编程的人,或者刚刚从单片机过渡

2013-12-02 23:20:45 2841 6

原创 使用Beaglebone Black的SPI

SPI是可以全双工通信的一种串行总线,两个设备之间双向通信的话一般使用3根线:SCLK,MISO,MOSI,多个设备之间双向通信的话,每个设备还需要再加上一根地址线CSn。相比之下I2C只能半双工,但无论几个设备,都只需要2根线。更多基础知识请谷歌百度。Beaglebone Black使用的AM3359芯片上有两个SPI,但SPI1连接到了板子的HDMI芯片上,所以除非禁用HDMI,否则我们只

2013-11-24 18:21:11 9833 7

原创 使用Beaglebone Black的I2C(一)

本文我将使用BBB的I2C1读取气压传感器芯片BMP085和L3G4200D三轴陀螺仪的值。前言首先说明,我使用的硬件外设是一个九轴气压传感器模块,包括一个三轴陀螺仪芯片,一个三轴磁场传感器芯片,一个三轴加速度计芯片和一个气压传感器芯片。这4个芯片使用同一个I2C与BBB通信,下面记录一下它的使用方法。I2C是一种串行通讯方法,它只需要两根线就能实现通讯,一根时

2013-11-22 01:03:27 8749 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 9239 6

原创 使用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 14563 3

原创 使用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 5123 1

原创 用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 8031 1

原创 使用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 6308 1

原创 Beaglebone Black简介和资料汇总

开源硬件在国外火得一塌糊涂,国内却没有那么多人玩,直接导致中文论坛资料严重缺乏……但这也挡不住Beaglebone Black的魅力,几经比较之后还是决定购买这个“狗骨头”!Beaglebone Black(以下简称BBB)是一款2013年刚刚诞生的开源硬件。其前身是Beaglebone,二者外形一致,但前身是白色板子,而新版是黑色板子。大家现在购买的话买新的就好,性能比前身强大很多,价格还反

2013-10-30 23:56:06 21222 18

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除