本帖最后由 明遠(yuǎn)智睿 于 2019-3-15 10:32 編輯
【接上一章節(jié)明遠(yuǎn)智睿MY-IMX6-EK200 Linux-4.1.15測(cè)試手冊(cè)v2.0(2)】
2.16 SPI測(cè)試(ECSPI1) 【測(cè)試說(shuō)明】:采用自發(fā)自收的方式測(cè)試。
【接口標(biāo)識(shí)】:SPI1/2
【系統(tǒng)設(shè)備】:/dev/spidev0.1
測(cè)試操作
短接J7的7和9管腳。
執(zhí)行測(cè)試指令 =====> 輸入指令: /my-demo/gcc-linaro-5.3-arm/spidev_test.out -D /dev/spidev0.1
=====> 輸出信息: spi mode: 0 bits per word: 8 max speed: 500000 Hz (500 KHz)
FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF DE AD BE EF BA AD F0 0D 測(cè)試結(jié)果
執(zhí)行測(cè)試指令后,應(yīng)用輸出如上類似信息即正常。
2.17 SPI測(cè)試(ECSPI2) 【測(cè)試說(shuō)明】:采用自發(fā)自收的方式測(cè)試。
【接口標(biāo)識(shí)】:SPI1/2
【系統(tǒng)設(shè)備】:/dev/spidev1.0
測(cè)試操作
短接J7的8和10管腳。
執(zhí)行測(cè)試指令 =====> 輸入指令: /my-demo/gcc-linaro-5.3-arm/spidev_test.out -D /dev/spidev1.0
=====> 輸出信息: spi mode: 0 bits per word: 8 max speed: 500000 Hz (500 KHz)
FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF DE AD BE EF BA AD F0 0D 測(cè)試結(jié)果
執(zhí)行測(cè)試指令后,應(yīng)用輸出如上類似信息即正常。
2.18 Watchdog 超時(shí)復(fù)位測(cè)試 【測(cè)試說(shuō)明】:開(kāi)啟看門(mén)狗,并等待看門(mén)狗超時(shí),產(chǎn)生復(fù)位。
【接口標(biāo)識(shí)】:無(wú)
【系統(tǒng)設(shè)備】:/dev/watchdog
測(cè)試操作
運(yùn)行看門(mén)狗程序: =====> 輸入指令: /unit_tests/wdt_driver_test.out 10 15 1
=====> 輸出信息: Starting wdt_driver (timeout: 10, sleep: 15, test: write) Trying to set timeout value=10 seconds The actual timeout was set to 10 seconds Now reading back -- The timeout is 10 seconds 測(cè)試結(jié)果
運(yùn)行測(cè)試命令10秒后,WatchDog超時(shí),系統(tǒng)被復(fù)位。會(huì)在終端看到系統(tǒng)重新啟動(dòng)輸出的信息類似如下: U-Boot 2016.03-svn351 (Jan 25 2019 - 10:13:51 +0800)
CPU: Freescale i.MX6Q rev1.5 996 MHz (running at 792 MHz) CPU: Extended Commercial temperature grade (-20C to 105C) at 48C Reset cause: WDOG Board: MYZR i.MX6 Evaluation Kit Model: MY-IMX6-EK200-6Q-1G
2.19 Watchdog 喂狗測(cè)試 【測(cè)試說(shuō)明】:開(kāi)啟看門(mén)狗,并使應(yīng)用程序喂狗。
【接口標(biāo)識(shí)】:無(wú)
【系統(tǒng)設(shè)備】:/dev/watchdog
測(cè)試操作
運(yùn)行看門(mén)狗程序,并設(shè)置超時(shí)時(shí)間為4秒,喂狗間隔時(shí)間為2秒: =====> 輸入指令: /unit_tests/wdt_driver_test.out 4 2 1 &
=====> 輸出信息: [1] 1026 Starting wdt_driver (timeout: 4, sleep: 2, test: write) Trying to set timeout value=4 seconds The actual timeout was set to 4 seconds Now reading back -- The timeout is 4 seconds
2.20 RTC 測(cè)試 【測(cè)試說(shuō)明】:讀取并設(shè)置時(shí)間,斷電重啟后檢查時(shí)間是否正確
【接口標(biāo)識(shí)】:無(wú)
【系統(tǒng)設(shè)備】:/sys/class/rtc/rtc0/
測(cè)試操作
1. 斷電重啟設(shè)備,查看當(dāng)前系統(tǒng)時(shí)間和硬件時(shí)間: =====> 輸入指令: date
=====> 輸出信息: Tue Sep 25 22:47:03 UTC 2018 2. 查看當(dāng)前RTC芯片時(shí)鐘: =====> 輸入指令: hwclock
=====> 輸出信息: Tue Sep 25 22:47:18 2018 0.000000 seconds 3. 設(shè)置系統(tǒng)時(shí)鐘,并同步到RTC芯片 =====> 輸入指令: date -s "2019-01-14 12:34:56"
=====> 輸出信息: Mon Jan 14 12:34:56 UTC 2019 4. 將系統(tǒng)時(shí)鐘寫(xiě)入硬件時(shí)鐘 =====> 輸入指令: hwclock -w 測(cè)試結(jié)果
1. 斷電重啟評(píng)估板,查看當(dāng)前系統(tǒng)時(shí)鐘和硬件時(shí)鐘 =====> 輸入指令: date
=====> 輸出信息: Mon Jan 14 12:36:22 UTC 2019 2. 查看當(dāng)前RTC芯片時(shí)鐘 =====> 輸入指令: hwclock
=====> 輸出信息: Mon Jan 14 12:36:40 2019 0.000000 seconds 可以看到我們得到的時(shí)間與設(shè)置的時(shí)間基本相同。
2.21 WakeAlarm 喚醒測(cè)試 【測(cè)試說(shuō)明】:設(shè)定 wakealarm 事件,之后使系統(tǒng)進(jìn)入睡眠,等待 wakealarm 事件喚醒。
【接口標(biāo)識(shí)】:無(wú)
【系統(tǒng)設(shè)備】:如 /sys/class/rtc/rtc1/wakealarm
測(cè)試操作
1. 設(shè)定 rtc1,使 10 秒后產(chǎn)生 wakealarm 事件 =====> 輸入指令: echo +10 > /sys/class/rtc/rtc1/wakealarm 2. 使設(shè)備進(jìn)入睡眠 =====> 輸入指令: echo mem > /sys/power/state
=====> 輸出信息: PM: Syncing filesystems ... done. Freezing user space processes ... (elapsed 0.001 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. Suspending console(s) (use no_console_suspend to debug) 測(cè)試結(jié)果
1. 可以看到開(kāi)發(fā)板的除電源指示燈以外的 LED 都滅了。
2. 10秒內(nèi) LED 的狀態(tài)又恢復(fù)了,并且系統(tǒng)輸出類似如下信息: PM: suspend of devices complete after 90.667 msecs PM: suspend devices took 0.090 seconds PM: late suspend of devices complete after 1.286 msecs PM: noirq suspend of devices complete after 1.272 msecs Disabling non-boot CPUs ... CPU1: shutdown CPU2: shutdown CPU3: shutdown Enabling non-boot CPUs ... CPU1 is up CPU2 is up CPU3 is up PM: noirq resume of devices complete after 1.140 msecs PM: early resume of devices complete after 1.114 msecs PM: resume of devices complete after 760.379 msecs PM: resume devices took 0.760 seconds Restarting tasks ... done.
2.22 音頻播放測(cè)試 【測(cè)試說(shuō)明】:通過(guò)播放音頻文件驗(yàn)證評(píng)估板的音頻播放功能。
【接口標(biāo)識(shí)】:EAR
【系統(tǒng)設(shè)備】:wm8960-audio
測(cè)試操作
把耳機(jī)插入開(kāi)發(fā)板的“EAR”口。
執(zhí)行測(cè)試命令: =====> 輸入指令: aplay /unit_tests/audio8k16S.wav
=====> 輸出信息: Playing WAVE '/unit_tests/audio8k16S.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo 測(cè)試結(jié)果
執(zhí)行上面的測(cè)試命令后會(huì)聽(tīng)到音頻設(shè)備輸出的聲音。
2.23 音頻錄音測(cè)試 【測(cè)試說(shuō)明】:通過(guò)錄音并播放錄音文件驗(yàn)證評(píng)估板的音頻錄音功能。
【接口標(biāo)識(shí)】:MIC
【系統(tǒng)設(shè)備】:wm8960-audio
測(cè)試操作
1. 把帶MIC的耳機(jī)插入開(kāi)發(fā)板的“MIC”口。
2. 執(zhí)行錄音命令: =====> 輸入指令: arecord -d 5 -f S16_LE -t wav foobar.wav
=====> 輸出信息: Recording WAVE 'foobar.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono 3. 播放錄音 =====> 輸入指令: aplay foobar.wav
=====> 輸出信息: Playing WAVE 'foobar.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono 測(cè)試結(jié)果
執(zhí)行上面的測(cè)試命令后會(huì)聽(tīng)到播放的錄音。
【下章節(jié)為明遠(yuǎn)智睿MY-IMX6-EK200 Linux-4.1.15測(cè)試手冊(cè)v2.0(4)】
|