作者:Chris Meng
毫米波的軟件包mmWave SDK里有很多驅(qū)動的測試代碼,包括外設(shè)驅(qū)動,mmWave link驅(qū)動等。例如\packages\ti\control\mmwavelink\test\xwr68xx目錄下的測試代碼。這些測試代碼都需要編譯生成MSS或者DSS的可以執(zhí)行文件,然后通過CCS下載到板子上運(yùn)行。但如果TI的毫米波評估板或者客戶的板子上沒有JTAG口/仿真器,那就不能方便的使用這些測試代碼了。本文就是基于這個問題,嘗試把MSS的測試代碼直接燒寫到QSPI flash上運(yùn)行,并且通過GPIO點(diǎn)燈的狀態(tài)來反映測試情況,來解決沒有JTAG/仿真器情況下的測試問題。
本文運(yùn)行環(huán)境,硬件:AWR6843ISK revC;軟件:mmwave_sdk_03_04_00_03。
首先需要在命令行下編譯出測試需要的mss可執(zhí)行文件。
以xWR6843的Link test為例,用戶可以在測試代碼里面添加GPIO點(diǎn)燈的功能,來反映測試狀態(tài)。例如可以根據(jù)自己的需求在某個測試通過后點(diǎn)亮LED燈,從而獲知測試的結(jié)果。下面是本文嘗試修改點(diǎn)燈的相關(guān)代碼。實(shí)現(xiàn)的功能是上電后關(guān)閉LED,表示測試開始。最后mmwavelink測試全部結(jié)束后,燈會再次亮起。本文利用的是AWR6843ISK上的D7 LED,使用GPIO_2來控制燈的點(diǎn)亮和關(guān)閉,如圖1所示。
圖1 測試使用的AWR6843ISK revC上的LED
1. 修改測試文件
C:\ti\mmwave_sdk_03_04_00_03\packages\ti\control\mmwavelink\test\xwr68xx\ main_mss.c
a. 在文件開始的位置添加包含GPIO驅(qū)動的頭文件相關(guān)代碼:
#include
b. 在MmwaveLink_initTask()函數(shù)開始位置添加GPIO初始化和關(guān)閉LED的代碼。
GPIO_init();
Pinmux_Set_OverrideCtrl(SOC_XWR68XX_PINK13_PADAZ, PINMUX_OUTEN_RETAIN_HW_CTRL, PINMUX_INPEN_RETAIN_HW_CTRL);
Pinmux_Set_FuncSel(SOC_XWR68XX_PINK13_PADAZ, SOC_XWR68XX_PINK13_PADAZ_GPIO_2);
GPIO_setConfig(SOC_XWR68XX_GPIO_2, GPIO_CFG_OUTPUT);
GPIO_write(SOC_XWR68XX_GPIO_2, 0U);
c. 在MmwaveLink_initTask()函數(shù)結(jié)尾位置添加GPIO點(diǎn)亮LED燈的代碼。
GPIO_write(SOC_XWR68XX_GPIO_2, 1U);
2. 修改mssTest.mak,在編譯器連接時(shí)添加GPIO庫和include路徑(標(biāo)黃相關(guān)代碼)。
MMWAVE_MSS_UNIT_TEST_STD_LIBS = $(R4F_COMMON_STD_LIB) \
-llibpinmux_$(MMWAVE_SDK_DEVICE_TYPE).$(R4F_LIB_EXT) \
-llibcrc_$(MMWAVE_SDK_DEVICE_TYPE).$(R4F_LIB_EXT) \
-llibmailbox_$(MMWAVE_SDK_DEVICE_TYPE).$(R4F_LIB_EXT) \
-llibtestlogger_$(MMWAVE_SDK_DEVICE_TYPE).$(R4F_LIB_EXT) \
-llibadcbuf_$(MMWAVE_SDK_DEVICE_TYPE).$(R4F_LIB_EXT) \
-llibedma_$(MMWAVE_SDK_DEVICE_TYPE).$(R4F_LIB_EXT) \
-llibmmwavelink_$(MMWAVE_SDK_DEVICE_TYPE).$(R4F_LIB_EXT) \
-llibgpio_$(MMWAVE_SDK_DEVICE_TYPE).$(R4F_LIB_EXT)
MMWAVE_MSS_UNIT_TEST_LOC_LIBS = $(R4F_COMMON_LOC_LIB) \
-i$(MMWAVE_SDK_INSTALL_PATH)/ti/drivers/pinmux/lib \
-i$(MMWAVE_SDK_INSTALL_PATH)/ti/drivers/adcbuf/lib \
-i$(MMWAVE_SDK_INSTALL_PATH)/ti/drivers/crc/lib \
-i$(MMWAVE_SDK_INSTALL_PATH)/ti/drivers/mailbox/lib \
-i$(MMWAVE_SDK_INSTALL_PATH)/ti/utils/testlogger/lib \
-i$(MMWAVE_SDK_INSTALL_PATH)/ti/drivers/edma/lib \
-i$(MMWAVE_SDK_INSTALL_PATH)/ti/control/mmwavelink/lib \
-i$(MMWAVE_SDK_INSTALL_PATH)/ti/drivers/gpio/lib
3.單獨(dú)編譯測試代碼(不編譯相關(guān)庫)。
a. 首先需要設(shè)置好編譯的環(huán)境變量,方法和編譯mmw demo時(shí)候的環(huán)境變量設(shè)置方法一致。具體請參考C:\ti\mmwave_sdk_03_04_00_03\docs\ mmwave_sdk_user_guide.pdf的設(shè)置環(huán)境變量章節(jié)的內(nèi)容(4. 5. 2. Setting up build environment)。基本流程如下:
- 修改C:\ti\mmwave_sdk_03_04_00_03\packages\scripts\windows\setenv.bat,例如:set MMWAVE_SDK_DEVICE=awr68xx。
- 在DOS命令行窗口切換到setenv.bat所在目錄,并且運(yùn)行setenv.bat。
b. 然后在同一個窗口下使用命令切換到link test目錄,例如:
cd C:\ti\mmwave_sdk_03_04_00_03\packages\ti\control\mmwavelink 并執(zhí)行下面的代碼。
gmake mssTestClean
gmake mssTest
c. 編譯結(jié)束后,會在C:\ti\mmwave_sdk_03_04_00_03\packages\ti\control\mmwavelink\test\xwr68xx目錄下生成更新的可執(zhí)行文件:xwr68xx_link_mss.xer4f。
接下來是生成可以燒寫到QSPI flash的bin文件。
1.首先復(fù)制MSS可執(zhí)行xwr68xx_link_mss.xer4f文件到C:\ti\mmwave_sdk_03_04_00_03\packages\scripts\ImageCreator目錄。
2.然后復(fù)制BSS firmware C:\ti\mmwave_sdk_03_04_00_03\firmware\radarss\ xwr6xxx_radarss_rprc.bin到同一目錄。
3.接下來將編譯腳本image_create_mss_only.bat也復(fù)制到相同目錄。image_create_mss_only.bat編譯腳本的具體內(nèi)容如下:
cd out2rprc
out2rprc.exe ..\%1 ..\mss_rprc.bin
cd ..\
cd multicore_image_generator
MulticoreImageGen.exe LE 37 0x02000006 ..\metaImage.bin 0x35510000 ..\mss_rprc.bin 0xB5510000 ..\xwr6xxx_radarss_rprc.bin
cd ..\
cd crc_multicore_image
crc_multicore_image.exe ..\metaImage.bin 0
cd ..\
cd append_bin_crc
gen_bincrc32.exe ..\metaImage.bin
cd ..\
4.接下來在DOS命令行窗口切換到ImageCreator這個目錄
cd C:\ti\mmwave_sdk_03_04_00_03\packages\scripts\ImageCreator
然后運(yùn)行下面的命令:
image_create_mss_only.bat xwr68xx_link_mss.xer4f
5.運(yùn)行結(jié)束后會在同一個目錄下生成metaImage.bin,用于QSPI flash燒寫。
最后使用UniFlash將metaImage.bin燒錄到IWR6843板子上的QSPI Flash上,然后運(yùn)行。
這個mmwavelink測試代碼的運(yùn)行時(shí)間較長,大概在20s以內(nèi)會看到LED燈點(diǎn)亮。
總結(jié):
本方法也同樣適用于其他測試?yán)桃约捌渌撩撞ㄐ酒H绻鼡Q毫米波芯片,請注意復(fù)制正確的bss firmware到ImageCreator目錄,并修改image_create_mss_only.bat里面bss firmware的文件名。
審核編輯:符乾江
-
芯片
+關(guān)注
關(guān)注
459文章
52228瀏覽量
436607 -
嵌入式處理
+關(guān)注
關(guān)注
0文章
341瀏覽量
10263 -
毫米波
+關(guān)注
關(guān)注
21文章
1968瀏覽量
65728
發(fā)布評論請先 登錄
Leadway測試級鎧裝精密穩(wěn)相毫米波線纜(110GHz)
引領(lǐng)毫米波技術(shù)革新,正和微芯發(fā)布新一代4uA 24G毫米波傳感SoC芯片
毫米波雷達(dá)信號的傳輸特性
毫米波雷達(dá)的基頻和調(diào)制技術(shù) 毫米波雷達(dá)在機(jī)器人導(dǎo)航中的應(yīng)用
毫米波雷達(dá)與超聲波雷達(dá)的區(qū)別
毫米波雷達(dá)技術(shù)優(yōu)勢分析 毫米波雷達(dá)在安防監(jiān)控中的應(yīng)用
毫米波雷達(dá)與激光雷達(dá)比較 毫米波雷達(dá)在自動駕駛中的作用
毫米波雷達(dá)工作原理 毫米波雷達(dá)應(yīng)用領(lǐng)域
什么是毫米波雷達(dá)?毫米波雷達(dá)模組選型

毫米波雷達(dá)是聲波還是電磁波
毫米波雷達(dá)與超聲波雷達(dá)的區(qū)別是什么
簡述毫米波雷達(dá)的結(jié)構(gòu)、原理和特點(diǎn)
毫米波雷達(dá)具有哪些特點(diǎn)和優(yōu)勢
毫米波應(yīng)用5G手機(jī)低介電絕緣透波散熱膜

評論