I.MX6UL

来自天嵌科技
跳转至: 导航搜索

介绍文档

i.MX6UL_CoreB介绍资料

安装编译环境

百度网盘处下载gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.bz2文件,将其拷贝到根目录/opt下,然后在ubuntu系统中执行

cd /opt
tar jxvf gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.bz2 -C /		;解压
echo PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/EmbedSky/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/">> /etc/environment
source /etc/environment	;使环境变量生效
arm-linux-gnueabihf-gcc -v	;查看安装好的交叉编译器
apt-get update			;更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 列出的源的地址

ubuntu系统搭建nfs服务器

在pc机中执行以下命令,可以在ubuntu系统中搭建nfs服务器:

apt-get install nfs-common		;安装nfs服务器
mkdir /opt/nfs				;创建nfs目录
echo "/opt/nfs *(rw,sync,no_root_squash,no_subtree_check)">> /etc/exports
/etc/init.d/nfs-kernel-server restart	;重启nfs服务器
  • 使用方法:

在开发板中执行

mount -t nfs -o nolock 192.168.1.xxx:/home  /mnt/

可将192.168.xxx /home目录挂载到开发板/mnt目录下

ubuntu系统搭建tftp服务器

在pc机中执行以下命令,可以在ubuntu 系统中搭建tftp服务器:

apt-get install tftp-hpa tftpd-hpa
mkdir /opt/tftp
echo "TFTP_USERNAME=\"tftp\""> /etc/default/tftpd-hpa
echo "TFTP_DIRECTORY=\"/opt/tftp\"">> /etc/default/tftpd-hpa
echo "TFTP_ADDRESS=\"0.0.0.0:69\"">> /etc/default/tftpd-hpa
echo "TFTP_OPTIONS=\"-l -c -s\"">> /etc/default/tftpd-hpa
service tftpd-hpa restart		;注此命令需要每次开机执行一次才能使用
  • 使用方法:

在uboot菜单选择相应选项可下载烧写/opt/tftp目录下的相应镜像文件:n(tftp下载镜像)-->p(设置tftp服务器ip)-->1(下载uboot)-->2(下载logo)-->3(下载内核)-->4(下载设备树)-->5(下载文件系统)

在开发板中执行

tftp –g –r zImage 192.168.1.xxx

可将/opt/tftp目录下的zImage下载到开发板(客户端)当前目录下

ubuntu 系统搭建ftp服务器

在pc机中执行以下命令,可以在ubuntu系统中搭建ftp服务器:

apt-get install vsftpd
mkdir /opt/ftp
useradd -d /opt/ftp -s /bin/bash ftpuser
passwd ftpuser			;设置密码,例如设置为123
service vsftpd start
  • 使用方法:

在开发板中执行ftpget -u ftpuser -p 123 192.168.1.xxx zImage获取电脑中/opt/ftp目录下的zImage文件

编译uboot

百度网盘处下载uboot源码uboot_201603_TQIMX6UL_CoreB_v1.x.tar.bz2,将其拷贝到根目录/opt目录下,然后在ubuntu系统中执行

cd /opt
tar xjf uboot_201603_TQIMX6UL_CoreB_v1.x.tar.bz2 -C /
cd /opt/EmbedSky/TQIMX6UL/TQ_COREB/u-boot_201603_TQIMX6UL_coreB_v1.x
./build.sh

然后等待编译完成,编译完成后可以看到在此目录下有u-boot.imx文件,此文件可以直接烧录到板卡中启动

编译kernel

百度网盘处下载linux源码kernel_4.1.15_TQIMX6UL_CoreB_v1.x.tar.bz2,将其拷贝到根目录/opt目录下,然后在ubuntu系统中执行

cd /opt
tar xjf kernel_4.1.15_TQIMX6UL_CoreB_v1.x.tar.bz2 -C /
cd /opt/EmbedSky/TQIMX6UL/TQ_COREB/linux_4.1.15_coreB_v1.x
./build.sh

然后等待编译完成,编译完成后可以看到在此目录下有zImage文件,设备树文件tq-imx6ul_net0_net1.dtb,tq-imx6ul_net0_uart.dtb文件,设备树文件分别是双网卡,单网卡+串口复用的设备树,具体使用设备树视客户使用情况而定.

制作文件系统镜像

百度网盘处下载系统文件rootfs_tqimx6ul_CoreB_v1.3.tar.bz2,将其拷贝到根目录/下,然后在ubuntu系统中执行:

mkdir rootfs				//新建文件夹
tar xjf rootfs_tqimx6ul_CoreB_v1.x.tar.bz2 -C /rootfs 		//解压到/rootfs,注意不要解压到根目录下
tar jxvf tqimx6ul-tools.tar.bz2 -C  /
cd /opt/EmbedSky/TQIMX6UL/TQ_COREB/tqimx6ul-tools
sudo ./create_rootimg_256m_nand.sh  /opt/EmbedSky/TQIMX6UL/TQ_COREB/rootfs

执行完成后会在当前目录下新生成 2 个文件: rootfs.tar.bz2 :usb 烧写文件,挂载 tf 卡文件系统、nfs 时也会用到。 rootfs.ubifs :sd 卡,tftp 烧写的文件系统。

编译qt程序

百度网盘处下载qt程序源码qt-4.8.7_tslib-1.1.tar.bz2将其拷贝到根目录/opt目录下,编译qt程序前需先按安装编译环境章节安装好编译器,然后在ubuntu系统中执行

cd /opt
tar qt-4.8.7_tslib-1.1.tar.bz2 -C /
cd cd /opt/EmbedSky/TQIMX6UL/TQ_COREB/qt-everywhere-opensource-src-4.8.7
/build_arm.sh

执行完成之后可以在 -prefix 指定的路径生成相关文件,将其拷贝到开发板上运行即可。

烧录镜像

需要更详细的烧写步骤参考《TQIMX6UL_COREB镜像烧写》手册 (拨码位置查看首页红框标记)

使用sd卡自动烧录方式

  • A).制作烧录卡

按照编译uboot源码章节先编译uboot,然后在uboot源码目录中执行

sudo ./create_sdcard.sh /dev/sdx

注:其中/dev/sdx为sd卡的设备节点,根据电脑的不同会改变,可以通过以下方式确认sd卡的节点: 在不接上usb读卡器时执行ls /dev/sd*,然后接上usb读卡器时执行ls /dev/sd*,可以看到接上读卡器时会多出一个文件,新增加的文件名即是sd卡的设备名;

  • B).执行完成之后可以看到sd卡中有u-boot.imx,embedsky.ini两个文件,如果要烧写内核和文件系统还需要拷贝相应的镜像文件到sd卡中,然后通过修改embedsky.ini文件确定要烧写的镜像名,具体如何修改参考embedsky.ini配置说明章节.
  • C).将拨码启动方式选择拨至SD,然后启动即可自动烧录,烧录完成之后可以通过调试串口进入uboot菜单。

使用USB烧写方式

拔掉板子上的 tf 卡,并将拔码打到 SD/USB 启动。系统无法从 sd 卡启动会自动切换到 usb 启动。(拨码位置查看首页红框标记)

  • A).从百度网盘下载USB烧写工具mfgtools_for_6ul.rar,解压到 window 下的任意目录下
  • B).将要烧写的镜像放到profiles\Linux\OS Firmware\files\tqimx6ul目录下,镜像名修改为 u-boot.imx、zImage、tq-imx6ul.dtb、rootfs.tar.bz2
  • C)打开软件MfgTool2.exe,当找到设备时会显示 HID-compliant device,说明电脑找到连接的 imx6ul 板子,直接点 start 待蓝色进度条变为绿色即可完成烧写。

使用tftp烧写方式

如果无法从 nand 启动。在 tftp 烧写前要先制作 sd 启动卡。如果 nand 可以启动可以直接进入uboot命令行使用tftp下载镜像。

  • A).将要烧写的镜像放到Ubuntu的tftp服务器/opt/tftp目录下,相应镜像名修改为 u-boot.imx zImage tq-imx6ul.dtb rootfs.tar.bz2(烧写镜像的名子可以在 uboot 中设置的,这里使用默认镜像名)
  • B).接上串口,上电。在uboot倒数完之前,按任意键中断自动启动。
...
Normal Boot
Hit any key to stop autoboot: 1 #读秒倒数
#出现以上字段之前按
  • C).自动进入命令行菜单。
##### TQ-IMX6UL U-boot MENU #####
[SDCARD MODE]
###################################
[1] Download u-boot.bin to Nand Flash
[2] Download Logo image(logo.bin) to Nand Flash
[3] Download Linux Kernel (zImage.bin) to Nand Flash
[4] Download Device tree blob(*.dtb)
[5] Download UBIFS image (root.ubifs) to Nand Flash
[6] Download YAFFS image (root.yaffs2) to Nand Flash
[7] Download Program to SDRAM and Run it
[8] Boot the system
[9] Format the Nand Flash
[0] Set the boot parameters
[n] Enter TFTP download mode menu
[r] Restart u-boot
[t] Test kernel Image (zImage)
[q] Return console
[x] read uboot to sdcard
Please press a key to continue :
  • D).在uboot菜单选择相应选项可下载烧写/opt/tftp目录下的相应镜像文件:

n(选择tftp下载镜像)-->p(设置Ubuntu的tftp服务器ip)-->1(下载uboot)-->2(下载logo)-->3(下载内核)-->4(下载设备树)-->5(下载文件系统)

  • E).下载完镜像断电,拨到nand,重新启动即可。

embedsky.ini配置文件说明

[common] ; erase_env表示烧写时是否擦除环境变量

erase_env = 1

; system_type表示烧写的系统类型,可使用的值:

;用于设置烧写的系统类型,目前支持linux,nfs

system_type = linux

; erase_all表示烧写时是否擦除整个nand flash

erase_all = 1

[nfs]

ipaddr = 192.168.1.64

nfsserverip = 192.168.1.162

nfs_dir = /nfs/liao/cd_qt5

[env]

; 添加uboot环境,可以随意新增,使用格式例如:tq=embedsky,表示将环境变量tq设置为embedsky

tq = embedsky

;board_name = TQIMX6UL

; ...

[display]

; mxcfb0表示主屏显示类型,可使用的值为:

; RGB输出可选值:

; lcd_7hd(7寸高清1024*600)

; lcd_7pd(7寸普清800*480)

; vga_720p(vga标准720p输出1280*720)

; vga_1080p(vga标准1080p输出1920*1080)

; panel_lcd(使用自定义参数,参数定义见[panel_lcd]栏)

; 关闭: off

mxcfb0 = panel_lcd

[panel_lcd]

x_lcd = 1024

y_lcd = 600

pix_clk_lcd = 33300000

hbp_lcd = 20

hfp_lcd = 236

hsw_lcd = 20

vbp_lcd = 13

vfp_lcd = 32

vsw_lcd = 10

rgb_lcd = 24

[linux_upgrade]

;u-boot镜像

bootloader=u-boot.imx

;TQIMX6UL设备树,可选择双网卡,单网卡

dtb = tq-imx6ul.dtb

;kernel镜像

kernel=zImage

;logo

logo=logo.bmp

;system文件系统

system=rootfs.ubif

外设使用方法

注:外设使用需要保证源码已经添加,相关目录在 arch/arm/boot/dts/tq-imx6ul.dts

adc使用

在命令行中读取adc的值:

cat /sys/bus/iio/devices/iio:device0/in_voltageN_raw

其中N表示adc的通道标号,例如要读取AIN4管脚的电压,N为4

在代码中读取adc的值可参考以下代码:

Int fd = Open(“/sys/bus/iio/devices/iio:device0/in_voltageN_raw”,O_RDONLY);
Read(fd,buff,sizeof(buff));
Close(fd);

控制背光

在命令行中设置背光亮度:

echo xxx >/sys/class/backlight/backlight/

其中xxx为0~100的数值,表示背光的亮度

在代码中设置背光亮度:

Int fd = Open(“/sys/class/backlight/pwm-backlight/brightness”,O_RDWR);
write(fd,”50”,2);	//设置背光值为50
Close(fd);

pwm使用

在命令行中设置PWM输出,调出pwm0目录下设备节点,*为你要设的pwm。

echo 0 > /sys/class/pwm/pwmchip*/export 
echo 1 > /sys/class/pwm/pwmchip*/pwm0/enable //设置使能
echo 1000000 > /sys/class/pwm/pwmchip*/pwm0/period  //设置周期
echo 500000 > /sys/class/pwm/pwmchip*/pwm0/duty_cycle   //设置占空比

led控制

Led测试比较简单,只是设置一下高低电平即可。系统有2个led灯,具体操作是一样的,只有路径有不一样,led1的操作目录是/sys/class/leds/LED1/,led2的操作目录是/sys/class/leds/LED2/。下面以led1为例,简单说明如何使用。

  • 点亮LED1
echo 0 > /sys/class/leds/LED1/brightness
  • 熄灭LED1
echo 1 > /sys/class/leds/LED1/brightness

修改默认启动程序&取消默认启动程序

修改etc/profile.d/embedsky_set.sh文件,/opt/qt-4.8.7/demos/mainwindow/mainwindow -qws &是默认开机启动qt程序,若要取消开机启动程序,在其前面加#注释掉即可;若要修改默认启动程序将其替换自己要的程序即可。

wifi热点发送功能(AP)

本方法仅保证适用于tq-8723-wifi模块,在板卡串口终端上执行

cd /test_file/
./send_ap.sh

默认账号:test 密码:12345678

修改账号密码方法:

vim  /etc/hostapd.conf

账号对应项:ssid=test

密码对应项:wpa_passphrase=12345678

wifi连接功能

本方法仅保证适用于tq-8723-wifi模块,在板卡串口终端上执行

cd /test_file/
./link_wifi.sh

默认账号:ttt 密码:88888888

wifi用户、密码修改:

vim /etc/wpa_supplicant.conf

账号对应项:ssid="ttt"

密码对应项:psk="88888888"

4G全网通拨号上网

本方法仅保证适用于tq-SIM7100c,SIM7600c等模块,在板卡串口终端上执行

/test_file/link_4g.sh

ssh远程登录

先在开发板中配置好网络,例如下面命令是将以太网的ip设置为192.168.1.6:

ifconfig eth0 up
ifconfig eth0 192.168.1.6

然后在PC中执行ssh root@192.168.1.6可以登录开发板(前提是网络能够互相ping通)

技术支持说明

天嵌科技致力于高科技产业发展提供技术与服务,为广大客户提供嵌入式技术软硬件开发工具与解决方案,致力于ARM内核系列CPU的开发和应用,提供低功耗、高性价比的嵌入式产品,提供针对性强、量身定制的客户化设计;无论是新设计还是对现有产品的改型设计,我们都会为您提供高品质的开发服务。

由于时间有限,手册难免存在纰漏和错误,诚恳的希望各位读者批评和指正。关于修改的bug,我们会在第一时间在论坛上更新,论坛建有技术支持专区,欢迎大家遇到问题去里面寻找解决方法。还可以通过邮件(support@embedsky.net)与我们联系(为了能够方便跟进记录,请参照邮件落款模板发送邮件)。希望能结识更多的朋友,大家一起共同进步。

邮件落款模板

烧写镜像文件版本号:xxx (例如:V2.0_R1.0,版本号在文件名后面有)

使用板卡、系统:xxx (例如:e9 android 4.3)

联系人:xxxxx

联系方式:xxxxx

公司:xxxxxx (例如:天嵌科技、学校等等)

常规技术支持范围

  1. 使用我司的镜像与开发板。
  2. 系统或硬件出现问题时(不包含客户自行开发)。