8543|14

1246

帖子

19

TA的资源

五彩晶圆(初级)

楼主
 

针对beaglebone 扩展板,进行Linux驱动的调试! [复制链接]

好久没有发帖子了!今天来分享一下针对beaglebone 扩展板,进行Linux驱动的调试吧!
第二次修正beaglebone板子的外围电路还是比较顺利的!

具体编译内核的过程就不在介绍了!论坛里有很多人写了这方面的教程,Ti官方的文档也提供了较为全面的编译过程,只不过是全英文的!
sitara-linuxsdk-sdg-05.07.00.00(Software Developers Guide).pdf (10.66 MB, 下载次数: 238)

我主要针对LCD,触摸屏,Codec 音频等基本的设备的驱动进行了添加,是我的扩展板能够正常工作!

首先是LCD屏:

相信玩过beaglebone的朋友都知道,AM335x这款芯片对于LCD控制部分是有过勘误的:
Sitara AM335x ARM Cortex-A8 Microprocessors Silicon Errata (Revs 2.1, 2.0, 1.0) .pdf (171.75 KB, 下载次数: 56)

就是16位和24位的更换需要交换B和R,单独使用是没有问题的,但是16位NANDFLASH的扩展会和LCD24位显示有冲突,本人把16位NANDFLASH的接口做出来了,焊接的时候就可以根据实际情况选择是16位还是8位,因此我设计了一组可以选择16位和24位的插针:


实际焊接的时候,我选择的方案是8位的NANDFLASH,因此跳线选择了24位LCD显示!
对应着要修改Linux内核的板级文件board-am335xevm.c

在Beaglebone的配置函数中加入LCD的初始化:
/* Beaglebone Rev A3 and after */
static struct evm_dev_cfg beaglebone_dev_cfg[] = {
        {tps65217_init,        DEV_ON_BASEBOARD, PROFILE_NONE},
        {i2c2_init,        DEV_ON_BASEBOARD, PROFILE_NONE},
        {mii1_init,        DEV_ON_BASEBOARD, PROFILE_NONE},
        {usb0_init,        DEV_ON_BASEBOARD, PROFILE_NONE},
        {usb1_init,        DEV_ON_BASEBOARD, PROFILE_NONE},
        {bbtoys7lcd_init,      DEV_ON_BASEBOARD, PROFILE_NONE},//24bit LCD 2013年7月30日
        {bone_tsc_init,        DEV_ON_BASEBOARD, PROFILE_ALL},//触摸 2013年8月1日
        //{boneleds_init, DEV_ON_BASEBOARD, PROFILE_ALL},//2013年7月30日        
        {mcasp0_init,        DEV_ON_BASEBOARD, PROFILE_NONE},//Codec 音频
        //{evm_nand_init, DEV_ON_BASEBOARD, PROFILE_NONE},
        {NULL, 0, 0},
};

具体的LCD初始化程序,可仿照文件里原来LCD的定义来编写,只不过定义成自己的名字,值得注意的是还要在内核中da8xx-fb.c文件,添加关于显示屏的偏移等因素设置。

修改完毕后,就是配置内核,编译内核,然后将内核放入内存卡中,启动查看效果!
编译内核过程简介:
生成 .config 文件:
make ARCH=armCROSS_COMPILE=arm-arago-linux-gnueabi- am335x_evm_defconfig



配置内核:
make ARCH=armCROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig





开始编译内核,生成uImage
make ARCH=armCROSS_COMPILE=arm-arago-linux-gnueabi- uImage
(时间稍长)



编译好uImage之后,到了生成模块ko
make ARCH=armCROSS_COMPILE=arm-arago-linux-gnueabi- modules

或者缺省编译
make linux
生成的ko分散在不同的地方,可以用如下命令复制到文件系统相应的地方:
例如:make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi-INSTALL_MOD_PATH= modules_install

要解压TI为我们制作好的文件系统到tfrootfs分区:(此处要先格式化tf卡!因此先暂时在主文件夹下操作一次!)
找到文件系统目录:

执行:
sudo tar -xzvf arago-base-tisdk-image-am335x-evm.tar.gz-C /home/anananjjj/rootfs/





make ARCH=armCROSS_COMPILE=arm-arago-linux-gnueabi- INSTALL_MOD_PATH=/home/anananjjj/rootfsmodules_install



也可以将模块安装在NFS目录下:
Make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi-INSTALL_MOD_PATH=/home/anananjjj/ti-sdk-am335x-evm-05.07.00.00/targetNFSmodules_install(这样可以为以后NFS调试开发板做准备!)
至此,需要的kerne已经编译完成,

我在启动阶段设置了加载Matrix v2 GUI界面!因此,系统启动之后会进入Matrix v2界面!

触摸屏:
之后就是触摸屏的移植,这款芯片支持4线,5线,8线触摸方式,我使用的是普通的4线电阻屏,选择好对应的四路AD引脚,设置好触摸参数就可以使用触摸屏了:

/* TSc controller */
#include

/* TSc controller */
static struct tsc_data am335x_touchscreen_data  = {
        .wires  = 4,
        .x_plate_resistance = 200,
        .mode = TI_TSCADC_TSCMODE,
};

static struct tsc_data bone_touchscreen_data  = {
        .mode = TI_TSCADC_GENMODE,
};

具体效果可以看下面的视频演示。

3、音频Codec

这个添加的比较彻底,因Ti其他Demo板都是使用的McASP1,而扩展的是McASP0,因此需要重新添加!好在有McASP1作为例子,添加起来倒是不难!

static struct snd_platform_data am335x_evm_snd_data0 = {
        .tx_dma_offset        = 0x46000000,        /* McASP0*/
        .rx_dma_offset        = 0x46000000,
        .op_mode        = DAVINCI_MCASP_IIS_MODE,
        .num_serializer        = ARRAY_SIZE(am335x_iis_serializer_direction0),
        .tdm_slots        = 2,
        .serial_dir        = am335x_iis_serializer_direction0,
        .asp_chan_q        = EVENTQ_2,
        .version        = MCASP_VERSION_3,
        .txnumevt        = 1,
        .rxnumevt        = 1,
};

static u8 am335x_iis_serializer_direction0[] = {
        INACTIVE_MODE,        INACTIVE_MODE,        RX_MODE,        TX_MODE,
        INACTIVE_MODE,        INACTIVE_MODE,        INACTIVE_MODE,        INACTIVE_MODE,
        INACTIVE_MODE,        INACTIVE_MODE,        INACTIVE_MODE,        INACTIVE_MODE,
        INACTIVE_MODE,        INACTIVE_MODE,        INACTIVE_MODE,        INACTIVE_MODE,
};

还要使能McASP0口的引脚!
/* Module pin mux for mcasp0 */
static struct pinmux_config mcasp0_pin_mux[] = {
        {"mcasp0_aclkx.mcasp0_aclkx", OMAP_MUX_MODE0 |AM33XX_PIN_INPUT_PULLDOWN},
        {"mcasp0_fsx.mcasp0_fsx", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLDOWN},
        {"mcasp0_ahclkr.mcasp0_axr2", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
        {"mcasp0_ahclkx.mcasp0_axr3", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
        {NULL, 0},
};

接着就是在配置函数中加入初始化函数!

重新编译内核之后,更新内核,上电就可以查看效果了!

这三个功能的具体效果,可以观看以下视频(录制的不好,声音和图像不一致了):

下一帖子分享一下移植Ubuntu13.04的过程!先来张图:
安装的桌面程序是gdmxubuntu-desktop!

[ 本帖最后由 anananjjj 于 2013-9-9 19:21 编辑 ]

最新回复

好犀利!:D  详情 回复 发表于 2013-9-11 19:33

赞赏

1

查看全部赞赏

点赞 关注(3)
 

回复
举报

5979

帖子

8

TA的资源

版主

沙发
 
不错 居然还在坚持的玩 加油 加油!

点评

边做边学习!:titter:  详情 回复 发表于 2013-9-9 20:38
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 

回复

1246

帖子

19

TA的资源

五彩晶圆(初级)

板凳
 

回复 沙发chenzhufly 的帖子

边做边学习!
 
 
 

回复

5979

帖子

8

TA的资源

版主

4
 
挺不错的! 我也要重新启动了,我那个扩展版一直没啥动静
最近老是在北京出差,哈哈

点评

我也是前几月玩的,马上去北京找工作了!接下来就是各种笔试,面试,白眼,尴尬,辛苦!:titter:  详情 回复 发表于 2013-9-9 21:11
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复

1246

帖子

19

TA的资源

五彩晶圆(初级)

5
 

回复 4楼chenzhufly 的帖子

我也是前几月玩的,马上去北京找工作了!接下来就是各种笔试,面试,白眼,尴尬,辛苦!

点评

来北京是因为女朋友吧!!!:lol  详情 回复 发表于 2013-9-10 10:09
哇 北京的队伍又要壮大啦 :)  详情 回复 发表于 2013-9-10 09:42
 
 
 

回复

5979

帖子

8

TA的资源

版主

6
 
哈哈
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复

6066

帖子

92

TA的资源

裸片初长成(初级)

7
 
还以为你又没有玩了呢?加油!
 
 
 

回复

2万

帖子

71

TA的资源

管理员

8
 
原帖由 anananjjj 于 2013-9-9 21:11 发表
我也是前几月玩的,马上去北京找工作了!接下来就是各种笔试,面试,白眼,尴尬,辛苦!
哇 北京的队伍又要壮大啦 :)
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 
 

回复

6066

帖子

92

TA的资源

裸片初长成(初级)

9
 

回复 5楼anananjjj 的帖子

来北京是因为女朋友吧!!!

点评

:loveliness: :shy:  详情 回复 发表于 2013-9-10 11:18
 
 
 

回复

1246

帖子

19

TA的资源

五彩晶圆(初级)

10
 

回复 9楼maylove 的帖子

点评

无图 无真相  详情 回复 发表于 2013-9-11 15:46
 
 
 

回复

854

帖子

0

TA的资源

五彩晶圆(中级)

11
 
不错不错,最近晚上我都没怎么玩了。太对不起群友了!
个人签名如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
 
 
 

回复

5979

帖子

8

TA的资源

版主

12
 

回复 10楼anananjjj 的帖子

无图 无真相
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复

2886

帖子

0

TA的资源

五彩晶圆(初级)

13
 
那个屏不错

点评

友善之臂的S70!!  详情 回复 发表于 2013-9-11 21:35
 
 
 

回复

2056

帖子

0

TA的资源

五彩晶圆(初级)

14
 
好犀利!:D
 
 
 

回复

1246

帖子

19

TA的资源

五彩晶圆(初级)

15
 

回复 13楼exiao 的帖子

友善之臂的S70!!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表