[讨论] BEAGLEBONE开发板功能:学习心得

zhdphao   2012-4-29 12:15 楼主

    BeagleBone开发板通过两个46针接口引出了功能引脚,各针脚都复用功能,通过定义mode0 -mode7选择引脚功能。

    在LINUX操作系统下,所有对GPIO、SPI、UART、LCD的操作都不象原来单片机编程那样直接进行,而必须通过驱动程序。例如要让某个GPIO输出高电平,一般单片机直接C语言或者汇编对方向寄存器和输出寄存器写入“0”或“1”就可以;但在这里首先要在操作系统上装好GPIO驱动程序,再象读写文件那样控制:功能、输入输出、电平等(是不是就是设备文件? )。呵呵,我的废话说的太多,不好意思。

    最关心里面的LCD控制器和串口了。

    AM335X集成了24位LCD控制器,控制信号有29个:lcd_data0-lcd_data23,lcd_ac_bias_en,lcd_hsync,lcd_pclk,lcd_vsync,lcd_memory_clk。如果采用16位的LCD,控制信号有21个。

    AM335X集成了6个UART,UART0被用做调试用了,UART1-UART4有TX,Rx,RTS 以及 CTS线,UART5有TX 和 RX,我觉得在真正应用中一般都只用TX 和 RX,很少接RTS和CTS。这些信号的电平为TTL 3.3V,和电脑上的RS232电平(0为+12V,1为-12V)不一样。在LINUX下,UART1对应/dev/ttyO1。 

    待续

回复评论 (21)

这块beaglebone板用SD卡启动,他两个分区,请问这两个分区分别是什么作用呢?可以解答下吗?

windows下的分区中有u-boot和uImage,linux下的分区中是一个文件系统。
点赞  2012-5-1 15:47
这两天正在对开发板的串口1进行编程,如果成功的话,那么连接GPS、GPRS将不成问题。
    SD卡启动的两个分区: 1个是我们常用的FAT,有71M左右,主要是一些帮助文件和常用驱动,里面的文件对我们没有太大作用。另外一个是EXT4吧,是LINUX的系统安装分区,里面都是系统文件,系统已经占用了1G多,还剩2G左右,这个肯定比较重要。
点赞  2012-5-1 21:40
串口编程问题不大,但是你的工作量很大耶,呵呵
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
点赞  2012-5-1 23:32

引用: 原帖由 zhdphao 于 2012-5-1 21:40 发表 这两天正在对开发板的串口1进行编程,如果成功的话,那么连接GPS、GPRS将不成问题。 SD卡启动的两个分区: 1个是我们常用的FAT,有71M左右,主要是一些帮助文件和常用驱动,里面的文件对我们没有太大作用。另外 ...

 

为什么不用NFS挂载呢?

点赞  2012-5-2 13:27

引用: 原帖由 youyou_hu111 于 2012-5-2 13:27 发表   为什么不用NFS挂载呢?

    我的应用程序编译后放在NFS的目录下,在开发板上可以直接使用。

 

点赞  2012-5-5 10:19
开发板由P8、P9两个46针扩展口扩展引出,资源如下:
5V电源输出;
3.3V电源输出,可以带250mA的负载,我打算使用这个3.3V电源;
McASP0:这个是音频接口;
SPI1:SPI接口;
I2C;
GPIO(65);
LCD:我要接一个16位的TFT显示屏;
GPMC:扩展存储器用的上;
MMC1, MMC2;
AIN:满量程1.8V的模拟信号输入端,可能有人说这个电压才1.8V,太低了用不上。不过一般测量信号都是要分压的,1.8V不是问题;
Timers:定时器;
Serial Ports:UART串口;

    信号引脚是复用的,分配使用引脚需要反复调整。LCD控制器、存储器控制器大量占用引脚,两者之间还有引脚的功能重复,如果分配需要斟酌。另外BEAGLEBONE并没有引出AM3359ZCZ的所有引脚,设计我们要对照“BeagleBone开发板使用手册”确定用哪些引脚的集合。
点赞  2012-5-5 10:41

如何在BEAGLEBONE安装Angstrom系统

1 我打算在开发板上运行linux操作系统Angstrom。Angstrom系统已经集成了Cloud9 IDE、GateOne等软件,当然我们可以在上面安装运行自己编写的驱动和应用软件。
    2 到http://www.angstrom-distribution.org/demo/beaglebone下载已经编译好的新的img.gz或者img.xz映像文件。我下载的是:Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-

v2012.05-beaglebone-2012.04.22.img.xz。
    3 将mini SD放入读卡器插入开发主机,在主机终端运行:
    sudo -s
    xz -dkc Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.05-beaglebone-2012.04.22.img.xz > /dev/sdb
    4 等待几十分钟(别人都说几分钟,但我确实等了很久。快的朋友证实一下),待命令运行结束,eject读卡器,取出mini SD卡,将其插入BeagleBone开发板中,上电

BeagleBone开发板会依次运行: U-Boot, Angstrom系统。
    5 用minicom -s选择正确的串口,一般是ttyUSB1, 进入开发板的字符调试截面,输入用户名root进入Angstrom系统。
点赞  2012-5-5 15:50
请问怎么在Angstrom上编写驱动?
点赞  2012-5-29 16:49

Beaglebone使用Chipsee LCD

Beaglebone配了个Chipsee的扩展板,附带的显示器型号是AT070TN92,生产公司是innoiux

参考附带光盘中的方法制作了linuxSD卡,一切正常,和视频中演示的一模一样。

将光盘中的linux内核采用TI SDK 05.04.01.00编译,替换SD卡中的uImage,也可以使用LCD显示器,只是好像没有校准。

使用TI SDK 05.04.01.00编译git下的内核和UBoot,采用tisdk-rootfs-am335x-evm.tar.gz作为根文件系统,利用create-sdcard.sh创建新的SD卡,可以启动Beaglebone,但显示器上一开始出现了一个企鹅图标,然后就黑屏了。

通过minicom看到启动的提示要校准,就在屏幕上下右左中按了一通,屏幕还是黑的。

偶尔把USB线把下(当时使用5V适配器供电),Beaglebone重启,看到屏幕变亮,前面显示的画面也是正常的,然后屏幕就暗了。

比较了.config的参数,没看出什么,将chipsee中设置的参数都在TI SDK的内核.config中设置了,没有效果。

 

点赞  2012-6-3 11:17

回复 8楼 zhdphao 的帖子

我用kingston class 10的卡将Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.05-beaglebone-2012.05.09.img.xz恢复,用了大约20分钟,但Chipsee的LCD屏幕一直黑着,想看看GNOME界面并在X11环境中开发,没有办法。只是通过虚拟的串口进入到命令行状态看看。
点赞  2012-6-3 11:20
自带的那张卡可以使用其他的串口,比如uart1就可以。
但是后来我自己编了开发工具自带的内核、uboot,使用开发工具的base-fs。想用这个环境,扩展串口,但是失败了,uart1一直都不可以使用。
我想问,要想达到我的目的的话,应该在内核那边修改,还是在文件系统那儿修改呢?
点赞  2012-6-5 13:44
11楼:我没有见过Chipsee,不了解这个,你可以问问用过的人。

12楼:目前我用编译好的IMAGE, uart1是可以用的。
点赞  2012-6-6 11:04

讨论beaglebone并请教一个spi的问题,呵呵。

楼上的各位spi的驱动搞好了啊?我按照http://communistcode.co.uk/blog/blogPost.php?blogPostID=1这个blog的步骤做的,但是无法挂载节点,也就是在/dev下无法找到spidev1.0,楼上的各位遇到过这样的问题吗?我是不是哪个地方没做对。
点赞  2012-6-25 19:29
已经在你的帖子答复了。
    顺便解释一下:有朋友要QQ号和手机,讨论问题。
     我想:问题和我讨论都可以留言,基本有闲暇时间我就会看论坛。平时工作很忙,不方便接电话、聊QQ。QQ和手机并不能很好的交流,有些东西并不是1-2句话说得清楚。
点赞  2012-6-26 12:38
比较赞同!
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
点赞  2012-6-26 13:04

我想问下您,那个beaglebone扩张版的P8和P9

我想问下您,那个beaglebone扩张版的P8和P9的引脚,哪些可以作为扩展引脚,我想用来连接ADC,我需要15个引脚。

我想连ADC之后,还需要这个液晶屏正常显示,求求LZ大神指教下呀
点赞  2012-8-21 15:27

您好,最近想用beaglebone接GPS,调试串口遇到了点问题

最近在调试串口,使用的是自己编译的内核,应用程序应该问题不大,使用/dev/ttyO1,UART1,RX与TX脚相连,自发自收,出不来现象,我的应用程序大致代码如下:
...
fd = open("/dev/ttyO1", O_RDWR | O_NOCTTY | O_NDELAY);
...
if (set_uart_config(fd, 115200, 8, 'N', 1) < 0)
{
        printf("ERROR: SET_UART_CONFIG\n");
        return -1;
}
...
do
        {
                printf("enter(enter 'quit' to exit):");
                memset(buf, 0, BUF_SIZE);
                if (fgets(buf, BUF_SIZE, stdin) == NULL)
                {
                        printf("ERROR: FGETS\n");
                        break;
                }
                write(fd, buf, strlen(buf));
                memset(buf, 0, BUF_SIZE);
                if (read(fd, buf, BUF_SIZE) > 0)
                {
                        printf("recv:%s", buf);
                }
        }while(strncmp(buf, "quit", 4));

不知道是什么原因,楼主可否分享下您的串口代码?
点赞  2012-9-16 17:20

您好,最近想用beaglebone接GPS,调试串口遇到了点问题

没出现象是因为管脚复用没设置
为啥一次发送,接收会分成多次,比如一次发送12个字节,接收程序会一次接收,如果发送18个字节,接收程序就会分成两次接收,一次16个字节,一次2个字节???
点赞  2012-9-16 19:21

您好,最近想用beaglebone接GPS,调试串口遇到了点问题

不知道楼主的应用程序调的时候是不是也出现这种情况了,怀疑是它的驱动FIFO设置成16个字节的
点赞  2012-9-16 19:48
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复