本篇測評由電子工程世界的優秀測評者“bloong”提供。 此次測試的項目,是異構處理器間相互通訊項目。 MYD-JX8MPQ配備了一顆異構的Cortex-M7協處理器,可以同時運行Linux和RTOS。本文主要介紹協處理器M7使用方法。M7在運行時可能會涉及到和A53核共用資源,這里列舉出會沖突資源如下: ECSPI0/ECSPI2,FLEXCAN,GPIO1/GPIO5,GPT1,I2C3,I2S3,UART4,PWM4,SDMA1/SDMA2,所以在一起使用時,需要將A53的這些資源關閉,這里就需要用到myd-jx8mp-rpmsg.dtb設備樹。這里的M7使用uart4 作為串口。 下文介紹如何使用M7,以及編譯M7程序的方法: M7使用方法 接兩個串口:1個是開發板的Debug串口,另一個是M7的UART4串口。 1、Debug口為J4及TYPE-C Debug; 2、UART4口為J6,下圖中紅色箭頭指示位置為pin1即UART4_TXD,據此pin2即UART4_RXD,pin3為GND。接這3根線就可以。
查看分區信息 啟動開發板按任意鍵進入uboot模式,查看vfat分區中存在的文件。 u-boot=> fatls mmc 2 29209088 Image 8208 imx8mp_m7_TCM_hello_world.bin 19040 imx8mp_m7_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin 18528 imx8mp_m7_TCM_rpmsg_lite_str_echo_rtos.bin 40948 imx8mp_m7_TCM_sai_low_power_audio.bin 62815 myd-jx8mp-atk-10.dtb 61702 myd-jx8mp-base.dtb 62815 myd-jx8mp-hontron-7.dtb 62846 myd-jx8mp-lt8912.dtb 62 555 myd-jx8mp-m190etn01-19.dtb 62619 myd-jx8mp-rpmsg.dtb 2113024 tee.bin
12 file(s), 0 dir(s)
設置M7設備樹 kernel加載的設備樹由fdt_file變量決定,這里設置成M7專用設備樹。 u-boot=> printenv fdt_file fdt_file=myd-jx8mp-base.dtb u-boot=> setenv fdt_file myd-jx8mp-rpmsg.dtb u-boot=> save Saving Environment to MMC... Writing to MMC(2)... OK u-boot=> printenv fdt_file fdt_file=myd-jx8mp-rpmsg.dtb u-boot=>
設置M7啟動參數 M7啟動流程也是加載M7程序到內存,用bootaux命令啟動, 正常kernel啟動也一樣,只是最后用bootm啟動。 u-boot=> printenv fdt_file fdt_file=myd-jx8mp-base.dtb u-boot=> setenv fdt_file myd-jx8mp-rpmsg.dtb u-boot=> save Saving Environment to MMC... Writing to MMC(2)... OK u-boot=> printenv fdt_file fdt_file=myd-jx8mp-rpmsg.dtb u-boot=> setenv m7_image imx8mp_m7_TCM_rpmsg_lite_str_echo_rtos.bin u-boot=> setenv m7_boot_temp_addr 0x48000000 u-boot=> setenv m7_boot_addr 0x7E0000 u-boot=> setenv m7_run 'fatload mmc ${mmcdev} {mmcpart} ${m7_boot_tem > p_addr} ${m7_image};cp.b ${m7_boot_temp_addr} ${m7_boot_addr} 0x20000; bo > otaux ${m7_boot_addr}' u-boot=> setenv m7_run 'fatload mmc ${mmcdev} {mmcpart} ${m7_boot_tem p_addr} ${m7_image};cp.b ${m7_boot_temp_addr} ${m7_boot_addr} 0x20000; bootaux ${m7_boot_addr}' u-boot=> setenv mmcboot "run m7_run;${mmcboot}" u-boot=> save Saving Environment to MMC... Writing to MMC(2)... OK u-boot=>
測試M7程序 此時已經設置好了M7啟動,只需要重啟開發板,那么在A53啟動kernel同時,也會啟動M7中的程序。啟動之后A53的串口執行如下2句,既可以看到M7中串口出現對應的打印。 myd-jx8mp login: root root@myd-jx8mp:~# modprobe imx_rpmsg_tty root@myd-jx8mp:~# [ 33.759911] can1-stby: disabling [ 33.763151] can2-stby: disabling [ 33.766408] VSD_3V3: disabling [ 33.769489] m2_keyb_pwr: disabling echo "hi m7!" > /dev/ttyRPMSG30 root@myd-jx8mp:~# cat /dev/ttyRPMSG30 hi m7!
想要了解優秀測評者“bloong”關于MYD-JX8MPQ開發板測評原文的可以復制下方鏈接查看: http://bbs.eeworld.com.cn/thread-1198858-1-1.html
|