飛凌嵌入式 OKMX6ULL-S+開發板試用體驗

原創 2020-09-30 10:22:00 i.MX6ULL;imx6ull測評

作者:embedwang

1.iMX6ULL開發板硬件資源介紹

本次測評開發板使用MCIMX6Y2為主CPU,256MB DDR3L內存,256MB NANDFLASH存儲空間。MCIMX6Y2是IMX6ULL系列中的一款工業級版本,工作溫度在-40℃~85℃。該CPU基于Arm Cortex-A7內核,最高工作頻率可以到900MHZ。CPU接口豐富,支持8路串口、2路網口、2路can口、2 路I2C口、2路USB、3路音頻口。可見其非常適合做工業控制領域應用開發。

2.開發環境搭建

本次測評開發環境基于《OKMX6ULL-S_Qt5.6+Linux4.1.15軟件手冊_V1.1_2020.07.06.pdf》搭建,包括:交叉編譯工具安裝、Linux4.1.15交叉編譯、zImage及.dtb燒錄三部分。


2.1.交叉編譯工具安裝
1)拷貝
fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.0.0.sh
到服務器中。
文件路徑為:

OKMX6ULL-S(eMMC&NAND 版)-Qt5.6+Linux4.1.15用戶資料-2020.06.08\工具\


2)執行該文件完成安裝

sudo sh fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.0.0.sh


3)初始化使用編譯器的環境變量

source /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi


4)交叉編譯命令如下:
a.CC: 交叉編譯工具gcc
b.CXX:交叉編譯工具g++
c.CFLAGS:交叉編譯工具gcc編譯標識
d.CXXFLAGS:交叉編譯工具g++編譯標識

e.LDFLAGS:交叉編譯工鏈接標識


2.2.Linux4.1.15交叉編譯及燒錄
1)按手冊完成zImage及dtb的交叉編譯
2)使用zImage單步更新進行zImage更新
在板子Linux起來之后依次操作:
flash_erase /dev/mtd4 0 0
nandwrite -p /dev/mtd4 /run/media/sda1/target/zImage
sync
3)單步更新dtb
a.首先板子進入uboot,使用printenv命令,查看板子當前使用的dtb文件名稱

b.打開燒錄工具ucl2.xml文件,路徑為mfgtools\Profiles\Linux\OS Firmware
搜索該dtb燒錄命令

c.在板子linux起來以后,依次運行:
flash_erase /dev/mtd3 0 0
nandwrite -s 0x80000 -p /dev/mtd3 /mnt/imx6ull-S-gpmi-1024x600c7.dtb
sync
4)如果單步更新后,出現板子系統無法啟動的情況,可以使用mfgtools進行系統恢復


3.各功能測試

3.1.網口測試
板子起來后,網口1默認Ip:192.168.0.232,網口2默認Ip:192.168.1.188。交叉編譯ipref工具,并使用其來測試板子網口帶寬。
1)pc端設置ip:192.168.0.118、192.168.1.118,運行jpref server端
2)板子運行iperf client端命令
#設置板子性能優先
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
./iperf -c 192.168.0.118 -p 5001 -f k -t 1000
./iperf -c 192.168.1.118 -p 5001 -f k -t 1000
3)網卡帶寬,及cpu使用率如下圖所示:


3.2.USB口測試
1)將U盤格式化為FAT32格式
2)插入U盤,板子系統會將其默認掛在:/run/media/sda4
3)拷貝二進制test.bin文件到/run/media/sda4,文件約740MB
4)dd if=/run/media/sda4/test.bin of=/run/media/sda4/test.bin.cp bs=4k進行讀寫雙向測試
5)命令實際花費時間約97s,USB 雙向讀寫速率約:7.6MB/s


3.3.高CPU占用時音頻播放測試
1)開發板使用WM8960使用了I2C1和SAI2,使用aplay 播放 WAV文件可以直接測試兩路接口
2)在啟動iperf和dd測試后,cpu占用高于90%,使用aplay播放WAV文件
3)WAV文件正常播放,聲音沒有卡頓


3.4.串口測試
1)使用飛凌提供的tty_test.c,文件路徑:
OKMX6ULL-S(eMMC&NAND 版)-Qt5.6+Linux4.1.15用戶資料-2020.06.08\Linux\測試程序源碼\cmd\cmd
2)用杜邦線連接 uart2 rx <-> uart 3tx 和uart2 tx <-> uart 3 rx
3)在兩個窗口分別執行
./tty_test.out /dev/ttymxc1 115200
./tty_test.out /dev/ttymxc2 115200
可見正常發送和接收打印log
4)參考《OKMX6ULL-S_應用筆記_V1.0_2020.06.08.pdf》,添加uart7,uart8
5)修改imx6ull-14x14-evk.dts文件

6)修改imx6ull-S-gpmi-1024x600c7.dts

7)單步更新dtb,板子系統啟動后,可以看到設備ttymxc6、ttymxc7
8)在兩個窗口分別執行
./tty_test.out /dev/ttymxc6 115200
./tty_test.out /dev/ttymxc7 115200
可見正常發送和接收打印log


3.5.gdb-7.8.1移植
開發板資料中暫時沒有gdb,但飛凌之前imx6q的開發板中有,使用該版本gdb進行移植。其操作步驟如下:
1)cd gdb-7.8.1
2)mkdir arm-gdb
3)./configure --host=arm-linux --target=arm-linux --prefix=/home/share/fangling/nxp/imx6ull/lib_app/baseboard_test/gdb-7.8.1/arm-gdb
4)vim ./gdb/common/gdb_assert.h +26
將 
#define gdb_static_assert(expr) \
extern int never_defined_just_used_for_checking[(expr) ? 1 : -1] 
修改為:
#define gdb_static_assert(expr) \
extern int never_defined_just_used_for_checking[(1) ? 1 : -1] 


5)make && make install


6)如果需要使用gdbserver模式,需要修改
vi ./gdb-7.8.1/gdb/remote.c +6065
if (buf_len > 2 * rsa->sizeof_g_packet) {
    rsa->sizeof_g_packet = buf_len ;
    for (i = 0; i < gdbarch_num_regs (gdbarch); i++) {
        if (rsa->regs->pnum == -1)
            continue;
        if (rsa->regs->offset >= rsa->sizeof_g_packet)
            rsa->regs->in_g_packet = 0;
        else  
            rsa->regs->in_g_packet = 1;
    }     

}


3.6.qt_test測試
開發板支持Qt庫,于是對qt模塊進行了簡單測試。
1)編寫qt_test.pro

2)編寫main.cpp

3)qmake
4)make 可編譯可執行文件qt_test

4.綜合評價

通過上述測試發現OKMX6ULL-S開發板是一款性價比高,硬件接口完備,軟件資源豐富的開發板,在工業控制、人機交互等領域有非常好的應用前景。


相關產品 >

  • OKMX6ULL-S開發板

    iMX6ULL是飛凌新近推出的一款開發板,iMX6ULL與iMX6UL開發板相比,功能無區別完全兼容,配置升級,性能高,價格低。根據介紹可看出i.MX6ULL參數豐富 ,采用NXP i.MX6ULL處理器芯片,郵票孔封裝,支持Linux系統,i.MX6ULL開發板資料豐富,方便二次開發設計。

    了解詳情
    OKMX6ULL-S開發板
  • FETMX6ULL-S核心板

    飛凌新出的一款采用NXP高性能、高效、低成本處理器的核心板—FETMX6ULL-S核心板,i.MX6ULL核心板采用郵票孔連接方式,ARM Cortex-A7內核,原生兩路網口,兩路Can和八路串口,可以和多種設備同時通訊。i.MX6ULL核心板支持工業級和擴展商業級兩種配置,并且經過了高低溫測試的檢驗,iMX6ULL核心板采用Linux4.1.15+Qt5.6操作系統,方便開發自己的應用程序。 了解詳情
    FETMX6ULL-S核心板
  • FETMX6ULL-C核心板

    FETMX6ULL-C核心板采用NXP i.MX6ULL處理器開發設計,是一款高性能Linux核心板,采用低功耗的ARM Cortex-A7架構,運行速度高達800MHz。iMX6ULL核心板29*40mm  ,iMX6ULL這款處理器功能接口資源豐富,供貨周期長。

    了解詳情
    FETMX6ULL-C核心板
  • OKMX6ULL-C開發板

    40*29mm,雙網雙CAN,8路串口| i.MX6ULL開發板是基于NXP i.MX6ULL設計開發的的一款Linux開發板 ,主頻800MHz,體積小,其核心板僅40*29mm,采用板對板連接器,適應場景豐富。 了解詳情
    OKMX6ULL-C開發板

推薦閱讀 換一批 換一批