当前位置:首页 > 开发板 > 开发板
[导读]i.MX 6Dual(简称i.MX6D)是一款来自NXP(前称Freescale)的高端3D图形处理芯片,采用双核ARM Cortex-A9架构。今天给大家介绍的就是基于i.MX6D为主控设计的第三方开发板——Freescale i.MX6 开发板,来自于NXP的合作伙伴Qiyang科技。

i.MX 6Dual(简称i.MX6D)是一款来自NXP(前称Freescale)的高端3D图形处理芯片,采用双核ARM Cortex-A9架构。今天给大家介绍的就是基于i.MX6D为主控设计的第三方开发板——Freescale i.MX6 开发板,来自于NXP的合作伙伴Qiyang科技。

此款开发板是Qiyang科技目前主推的一款开发板,Qiyang将其命名为Freescale i.MX6 开发板,内部型号为IAC-IMX6-Kit。废话不多说,先来看看外观图。

1-1 IMX6开发板正面

1-2 IMX6外部接口

从外观上大家就可以轻易地看出来,IAC-IMX6-Kit采用BASE BOARD与SBC/SOM模块的分体式设计思路,这在开发套件的设计中是一种非常常见的做法,好处自然也是不必多说,用户在使用该开发套件进行产品设计时,灵活度更高。另外也便于厂家对于开发板后期进行硬件升级。下面我们就来分别介绍一下底板和核心板的硬件配置。

1. 硬件资源

IMX6底板:采用高密度4层板(沉金)设计,它扩展了LVDS、网络、HDMI、CAN、矩阵键盘、SATA、高速USB Host\Device、SD卡、RS232\485串口,音频等常用接口,如图1-3。

1-3 IMX6底板

IMX6核心板:采用高密度8层板(沉金)设计,名片大小,集成了CPU、DDR3RAM、NandFlash、NOR FLash、网络、B to B(3*100)接插件引出各种常用接口资源,采用5V直流供电,嵌入到产品是方便了不少。

1-4 IMX6核心板

1-5 IMX6核心板底层视图

这样的接口见的不多,但用料还是不错的,避免了针式在安装过程中针脚倾斜。四块DDR3布线规正,做了等长和铺地等处理。

Freescale IMX6核心板资源说明:

1)处理器

  • •标配Freescale i.MX6D双核处理器,ARM® Cortex™-A9内核,主频高达1GHz,兼容单核、双核精简、四核
  • •带1MBL2缓存,32KB指令和数据缓存,NEON SIMD媒体加速器

2)256MB DDR3 SDRAM,4*256MB,共1GB,批量用户可扩展为2GB

3)丰富的通讯接口

  • •3路RS232串口,其中:1路为调试串口,2路RS232与RS485复用
  • •1路USB高速OTG,4路USB HOST,其中1路接入MIN_PCIE接口
  • •2路CAN接口,支持CAN2.0协议,1路TTL输出,另1路can驱动输出
  • •1路工业用以太网,带有ACT、LINK指示灯,AR8035网络芯片采用RGMII模式完美支持10M/100M/1000M网口自适应

4)显示接口

  • •2路LVDS接口,每路最高支持1920x1200分辨率
  • •HDMI接口,支持HDMI 1.4接口规范
  • •CSI&DSI接口

5) McASP音频接口,双声道音频输出,MIC音频输入

6)LCD标准I2C电容屏接口

7)扩展MINI_PCIE 2.0接口

8)EIM总线接口,SIM卡接口

9)宽电压输入,+12V供电,可支持+4.75V~+18V 宽范围电压供电

核心板采用8层PCB板高精度工艺,体积仅86mm*60m;单板超低功耗,小于3W

操作系统支持 Linux3.0+ QT4.8和Android4.2。

上张全家福照片,如图1-6所示。

1-6 IMX6全家福

1-7板载资源

2、连接测试

串口采用交叉串口线与PC联接,通过网络接千兆网口,并接通12V电源,如图所示:

打开程序:secureCRT

串口设置如下:

[!--empirenews.page--]

点击连接图标,然后开发板上电。窗口打印信息如下所示。

Login:后输入root回车。

输入以下命令:cd /usr/test,进入测试程序文件夹下。

1) 蜂鸣器测试:

./buzzer_test 1 //蜂鸣器开

./buzzer_test 0 //蜂鸣器关

root@fire /usr/test$ ls

Imx6_qt_test keybutton shinian.mp3

buzzer_test rs485_test spidev_test

can_test rtc_test watchdog_feed_test

gpio_test serial_test watchdog_notfeed_test

root@fire /usr/test$ ./buzzer_test 1

root@fire /usr/test$ ./buzzer_test 0

2) GPIO测试

root@fire /usr/test$ ./gpio_test 0

QY-IMX6S-v1.x Gpio Start Testing ...

set gpio 'IMX_GPIO4' level '0'

set gpio 'IMX_GPIO16' level '0'

set gpio 'IMX_GPIO7' level '0'

set gpio 'IMX_GPIO17' level '0'

set gpio 'IMX_GPIO8' level '0'

set gpio 'IMX_GPIO18' level '0'

set gpio 'IMX_GPIO9' level '0'

set gpio 'IMX_GPIO19' level '0'

Gpios is output low level, now you can measure each pin!

Press the ENTER after measure each pins!

set gpio 'IMX_GPIO4' level '1'

set gpio 'IMX_GPIO16' level '1'

set gpio 'IMX_GPIO7' level '1'

set gpio 'IMX_GPIO17' level '1'

set gpio 'IMX_GPIO8' level '1'

set gpio 'IMX_GPIO18' level '1'

set gpio 'IMX_GPIO9' level '1'

set gpio 'IMX_GPIO19' level '1'

Gpios is output high level, now you can measure each pin!

Press the ENTER after measure each pins!

Gpio test OK!

root@fire /usr/test$ ./gpio_test 1

QY-IMX6S-v1.x Gpio Start Testing ...

get gpio 'IMX_GPIO4' level '1'

get gpio 'IMX_GPIO16' level '1'

get gpio 'IMX_GPIO7' level '1'

get gpio 'IMX_GPIO17' level '1'

get gpio 'IMX_GPIO8' level '1'

get gpio 'IMX_GPIO18' level '1'

get gpio 'IMX_GPIO9' level '1'

get gpio 'IMX_GPIO19' level '1'

Gpio test ok!

3)RTC时间测试

命令date后加Enter键

root@fire /usr/test$ date

Wed Jan 27 15:42:55 UTC 2016[!--empirenews.page--]

3、linux环境搭建

1)交叉编译环境搭建

按下面的步骤:

mkdir IMX6_pro //创建IMX6_pro文件夹

mv '//tmp/VMwareDnD/2fed2107/fsl-linaro-toolchain.tar.gz' . //复制fsl-linaro-toolchain.tar.gz 到当前文件夹

tar xzvf fsl-linaro-toolchain.tar.gz /opt //解压文件到opt目录

vi /etc/bash.bashrc //修改path路径

在文件的最后一行加入 PATH=/opt/fsl-linaro-toolchain/bin:$PATH

wq命令保存后退出。

linux@ubuntu:~$ source /etc/bash.bashrc //启动新的路径文件

linux@ubuntu:~$ arm-none-linux-gnueabi-g++ -v //查看是否安装成功

当输入arm-none-按Tab后,能自动补齐,或显示出gcc版本信息,恭喜你交叉编译器安装成功!显示窗口如下。

3) 安装NFS(网络共享)文件

命令:sudo apt-get install portmap //更换成rpcbind完成网络端口配对

sudo apt-get install NFS-kernel-server //安装NFS服务

portmap: NFS其实可以被看作是一个RPC SERVER PROGRAM,而要启动一个RPC SERVER PROGRAM,都要做好PORT的对应工作。通俗的说PortMap就是用来做PORT的mapping的。

pc.NFSd:主要复杂登陆权限检测等 必须

portmap:处理RPC程序客户端和服务器端的端口对应(5)

zhu@ubuntu:/opt$ sudo apt-get install portmap

Reading package lists... Done

Building dependency tree

Reading state information... Done

Note, selecting 'rpcbind' instead of 'portmap'

rpcbind is already the newest version.

0 upgraded, 0 newly installed, 0 to remove and 227 not upgraded.

zhu@ubuntu:/opt$ sudo apt-get install rpcbind

Reading package lists... Done

Building dependency tree

Reading state information... Done

rpcbind is already the newest version.

0 upgraded, 0 newly installed, 0 to remove and 227 not upgraded.

用最新的rpcbind来进行安装

vi /etc/exports //修改与NFS挂载文件及属性

在最后一行加入:/ *(rw,sync,no_subtree_check,no_root_squash)

*:允许所有的网段访问,也可以使用具体的IP

rw:挂接此目录的客户端对该共享目录具有读写权限

sync:资料同步写入内存和硬盘

no_root_squash:root用户具有对根目录的完全管理访问权限。

no_subtree_check:不检查父目录的权限。

注意:中间不能有空格,否则显示:exportfs: /etc/exports:1: syntax error: bad option list(3)

修改/home文件为持载文件夹,起动NFS服务。

挂载文件系统到/mnt,挂载完成后显示如下,可以看到共享文件中的内容了。

sudo mount -t NFS localhost:/home /mnt //挂载home到共享文件夹

解除挂载:sudo unmount /mnt

NFS服务遇到的问题:

在输入sudo apt-get install NFS-kernel-server时提示:

Unable to locade NFS-kernel-server.

解决办法修复apt-get : sudo apt-get -f install[!--empirenews.page--] 修复安装(4)

4) 应用程序测试。

复制驱动的程序,buzzer_test(驱动源程序),include(头文件)并编译。输入内容及执行情况如下:

5) 连通网络:

查看开发板的ip地址。

root@fire /$ ifconfig

can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

UP RUNNING NOARP MTU:16 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:10

RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

Interrupt:142

can1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

UP RUNNING NOARP MTU:16 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:10

RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

Interrupt:143

eth0 Link encap:Ethernet HWaddr DC:07:C1:01:26:A9

inet addr:192.168.154.71 Bcast:192.168.154.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:1211 errors:0 dropped:0 overruns:0 frame:0

TX packets:203 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:132973 (129.8 Kb) TX bytes:19446 (18.9 Kb)

通讯测试:

root@fire /$ ping 192.168.154.30

PING 192.168.154.30 (192.168.154.30): 56 data bytes

64 bytes from 192.168.154.30: seq=0 ttl=64 time=4.658 ms

64 bytes from 192.168.154.30: seq=1 ttl=64 time=0.584 ms

64 bytes from 192.168.154.30: seq=2 ttl=64 time=0.520 ms

64 bytes from 192.168.154.30: seq=3 ttl=64 time=0.499 ms

64 bytes from 192.168.154.30: seq=4 ttl=64 time=0.510 ms

64 bytes from 192.168.154.30: seq=5 ttl=64 time=0.514 ms

可以用ifconfig eth0 192.168.154.71来临时修改开发板的IP地址,也可以在开发板上电时,通过setenv方式来修改IP地址等信息。两者的区别在于再次给开发板上电时,前者的ip参数不会被保留,后者会保存下来。现在以后者为例来进行修改,注意与主机的ubuntu地址在同一网段内。方法如下视图。

MX6Q QIYANG U-Boot > printenv

bootdelay=3

baudrate=115200

ethaddr=08:00:3e:26:0a:5b

netmask=255.255.255.0

loadaddr=0x10800000

rd_loadaddr=(0x1300000)

netdev=eth0

ethprime=FEC0

uboot=u-boot.bin

kernel=uImage

NFSroot=/opt/eldk/arm

bootargs_NFS=setenv bootargs ${bootargs} root=/dev/NFS ip=dhcp NFSroot=${serverip}:${NFSroot},v3,tcp

bootcmd_net=run bootargs_base bootargs_NFS; tftpboot ${loadaddr} ${kernel}; bootm

bootcmd_mmc=run bootargs_base bootargs_mmc; mmc dev 3; mmc read ${loadaddr} 0x800 0x2500; bootm

bootcmd=run bootcmd_mmc

loadkernel=tftp ${kernel};mmc dev 3;mmc erase 0x800# 0x2000; mmc write ${loadaddr} 0x800 0x2500

machid=0xF94

ethact=FEC0

bootargs_mmc=setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=ldb,1024x600M@60,if=RGB666 ldb=sin0 video=mxcfb1:dev=lcd

bootargs_base=setenv bootargs console=ttymxc0,115200 fec_mac=DC:07:C1:01:26:A9

ipaddr=192.168.154.71

serverip=192.168.154.30

stdin=serial

stdout=serial

stderr=serial

Environment size: 937/8188 bytes[!--empirenews.page--]

编写自己的应用程序,并在开发板上通过NFS运行。

#include

int main(void)

{

printf("Hello Word!\n");

return 0;

}

编译,并拷贝到共享目录下。

linux@ubuntu:~/IMX6_pro/usr_test$ arm-none-linux-gnueabi-gcc hello.c -o hello //编译成开发板的应用程序

linux@ubuntu:~/IMX6_pro/usr_test$ sudo mv hello /home/work/ //传生成的hello.bin文件到共享文件

2)开发板上运行此应用程序:

在SecureCRT中输入以下内容。

root@fire /mnt/work$ ls

buzzer_test gpio_test hello rtc_test u-boot.bin

root@fire /mnt/work$ ./hello

Hello Word!

OK,调试完成了。

参考资料:

(1)NFS文件共享参考:http://xouou.iteye.com/blog/2142842

(2)NFS安装包安装:http://jingyan.baidu.com/article/22a299b51648e09e19376ae7.html

(3)参考:http://blog.pureisle.net/archives/2233.html

 

本文系21ic原创,未经许可严禁转载

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭