AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Based Computers kwenye Maelekezo ya Moduli
Dibaji
Notisi ya Hakimiliki
Hakimiliki © 2023 Avnet Iliyopachikwa GmbH. Haki zote zimehifadhiwa. Kunakili waraka huu, kutoa kwa wengine na matumizi au mawasiliano ya yaliyomo ndani yake, ni marufuku bila mamlaka ya wazi kutoka kwa Avnet Embedded /MSC Technologies.
GmbH. Wahalifu wanawajibika kwa malipo ya uharibifu. Haki zote zimehifadhiwa katika tukio la utoaji wa hati miliki au usajili wa mfano wa matumizi au muundo.
Taarifa Muhimu
Hati hizi zinalenga hadhira iliyohitimu pekee. Bidhaa iliyofafanuliwa hapa si bidhaa ya mtumiaji wa mwisho. Ilitengenezwa na kutengenezwa kwa usindikaji zaidi na wafanyikazi waliofunzwa.
Kanusho
Ingawa hati hii imetolewa kwa uangalifu mkubwa hakuna dhamana au dhima ya usahihi au ufaafu kwa madhumuni yoyote maalum. Taarifa katika hati hii imetolewa "kama ilivyo" na inaweza kubadilika bila taarifa.
Alama za biashara
Majina ya bidhaa zote zilizotumika, nembo au alama za biashara ni mali ya wamiliki husika.
Taarifa za Jumla
Upeo
Hati hii inatumika kwa Avnet Embedded Computer-on-Modules kulingana na NXP i.MX8- na i.MX9-series CPUs, kama vile k.m.
- SM2S-IMX8PLUS
- SM2S-IMX8M
- SM2S-IMX8MINI
- SM2S-IMX8NANO
- SM2S-IMX8 (QuadPlus/QuadMax)
- SM2S-IMX93
- OSM-SF-IMX91
- OSM-SF-IMX93
- OSM-MF-IMX8NANO
- OSM-MF-IMX8MINI
Orodha hii haidai kuwa kamilifu, hasa kwa vile bodi mpya zinaweza kutolewa ambazo taratibu sawa zinaweza kutumika, wakati waraka huu hauwezi kusasishwa mara moja.
Marekebisho na Marekebisho
Marekebisho | Tarehe | Maoni | |
1.0 | 25.05.2023 | M. Koch | Toleo la awali |
Jinsi ya kubadilisha bandari ya UART ya kurekebisha
Utangulizi
Mifumo mingi inayotegemea ARM huja na Kiweko cha Huduma kama njia kuu ya kufikia utatuzi na madhumuni ya kuleta mfumo. Kulingana na mahitaji ya mteja, ni jambo la lazima linalotokea mara kwa mara katika mifumo kama hiyo kwamba mlango wa UART wa utatuzi wa chaguo-msingi unahitaji kubadilishwa hadi mlango tofauti wa mfululizo. Kwa utatuzi wa bandari ya UART tunamaanisha lango la UART ambalo litatoa pembejeo/pato zote za U-Boot, pato la bootlog ya kernel na ganda la kernel, kimsingi mawasiliano yote ya UART mtu atayaona kwenye picha ndogo ya Yocto. Kwa kuwa mlango chaguomsingi wa UART hautumiwi na kipengele kimoja tu cha programu, bali na vipengele vingi, ikiwa ni pamoja na u-boot, atf-firmware, optee-os na kernel yenyewe, kuweka lango chaguo-msingi la UART kunaweza kuwa changamoto, na zaidi.view inaweza kupotea haraka. Hati hii itaelezea hatua zote za kufuata, ili kufikia kazi hii. Kwa maelezo rahisi, hati hii iliandikwa kwa ajili ya kichakataji cha NXP i.MX8 MINI na mscldk, lakini inaweza kutumika kwa vichakataji vyote vya mfululizo wa i.MX8- na i.MX9 na mifumo mingine ya ujenzi kwa juhudi kidogo sana.
Kuandaa mazingira
Kubadilisha mlango-msingi wa utatuzi wa UART kutahitaji kurekebisha msimbo katika Yocto, na njia rahisi zaidi ya kufanya hivyo, ni kutumia Yocto devtool kutuandalia vyanzo. Itakuwa muhimu kurekebisha vifurushi vifuatavyo vya Yocto:
- u-boot-imx (virtual/bootloader)
- linux-imx (virtual/kernel)
- atf-imx
- optee-os (ikiwa tu optee itatumika)
Vyanzo vinapaswa kutayarishwa na devtool:
$ ./devtool rekebisha u-boot-imx
$ ./devtool rekebisha linux-imx
$ ./devtool rekebisha atf-imx
$ ./devtool rekebisha optee-os
Vyanzo vyote vinaweza kupatikana kwenye saraka ya "nafasi ya kazi".
Kurekebisha msimbo
Kurekebisha Bootloader
Katika bootloader baadhi ya msingi ya uanzishaji wa UART itatokea, kwa hiyo itakuwa muhimu kurekebisha muxing na anwani ya msingi ya bandari ya UART. Kazi ya pili ya u-boot ni kupitisha hoja za boot kwa kernel na hapa itakuwa muhimu kurekebisha hoja ya console tty. Uanzishaji wa UART na muxing hufanyika mapema zaiditage ya mchakato wa kuwasha kwenye SPL. Msimbo wa chanzo unaweza kupatikana katika bodi maalum spl.c file.
Lengo file: nafasi ya kazi/vyanzo/u-boot-imx/board/msc/sm2s_imx8mm/spl.c
Fungua file na uende kwenye kazi init_ser0():
tuli utupu init_ser0(utupu)
{
imx_iomux_v3_setup_padi_nyingi(ser0_pads, ARRAY_SIZE(ser0_pads)); init_uart_clk(1);
}
Kitendaji huwasha saa kwa UART2(index 1 kwa UART 2 ya kimwili).
Sasa, ikiwa tunataka kutumia UART1 badala yake, tunaweza kufafanua kazi yetu ya init_ser1:
tuli utupu init_ser1(utupu)
{
imx_iomux_v3_setup_padi_nyingi(ser1_pads, ARRAY_SIZE(ser1_pads)); init_uart_clk(0);
}
Badilisha simu ya kukokotoa ya init_ser0 na init_ser1() katika kitendakazi cha board_early_init_f(). Zaidi tunagundua kuwa muundo wa ser1_pads haujafafanuliwa. Hapa itakuwa muhimu kuwa na ufahamu wa wiring wa UART1. Kwenye imx8mm, UART1 inaweza kuwekwa muksi hadi pedi za uart1, au pedi za sai2. Ipasavyo, ser1_pads zinaweza kufafanuliwa kama:
tuli iomux_v3_cfg_t const ser1_pads[] = {
IMX8MM_PAD_UART1_RXD_UART1_RX | DEFAULT_UART_PAD_CTRL, IMX8MM_PAD_UART1_TXD_UART1_TX | DEFAULT_UART_PAD_CTRL, NULL
};
Au sivyo, kwa kutumia sai2:
tuli iomux_v3_cfg_t const ser1_pads[] = {
IMX8MM_PAD_SAI2_RXFS_UART1_TX | DEFAULT_UART_PAD_CTRL, IMX8MM_PAD_SAI2_RXC_UART1_RX | DEFAULT_UART_PAD_CTRL NULL };
Sasa anwani ya msingi ya UART inapaswa kurekebishwa, anwani imefafanuliwa katika usanidi wa vichwa vya bodi file.
Lengo file: nafasi ya kazi/vyanzo/u-boot-imx/include/configs/msc_sm2s_imx8mm.h
Rekebisha ufafanuzi CONFIG_MXC_UART_BASE. Kwa UART1 hii itakuwa:
- // #fafanua CONFIG_MXC_UART_BASE
- UART2_BASE_ADDR
- #fafanua CONFIG_MXC_UART_BASE
- UART1_BASE_ADDR
Hatimaye, hoja ya kernel ya console inapaswa kurekebishwa. Thamani inaweza kupatikana katika kichwa sawa file. Tafuta “console=ttymxc1…” na urekebishe “ttymxc1” hadi “ttymxc0”. Nambari ya faharasa inahusiana na faharasa ya UART, na daima ni fahirisi ya UART minus 1. Kwa hivyo kwa UART 2 tunatumia ttymxc1, kwa UART3 tumia ttymxc2 nk.
Kurekebisha Firmware Inayoaminika ya ARM
Firmware Inayoaminika ya Arm(imx-atf) haina utaratibu wa uanzishaji wa UART, hata hivyo ina anwani ya msingi ya UART yenye msimbo mgumu, na inategemea uanzishaji sahihi wa UART kutoka kwa u-boot. Usanidi tofauti wa anwani ya msingi katika u-boot na imx-atf uwezekano mkubwa utaacha kichakataji kimekwama kwenye kidhibiti cha kipekee, na hakutakuwa na chochote kinachoonekana kwenye UART (CPU inaonekana kuning'inia bila sababu inayoonekana). Wakati bandari ya UART inabadilishwa, mabadiliko haya lazima pia yafanyike katika imx-atf! Kubadilisha mlango wa UART katika imx-atf kunahitaji urekebishaji wa anwani ya msingi. Thamani hii imewekwa katika jukwaa.mk file ya processor.
Lengo file: nafasi ya kazi/vyanzo/imx-atf/plat/imx/imx8m/imx8mm/platform.mk
Anwani sahihi ya msingi ya UART inaweza kupatikana katika mwongozo wa marejeleo wa imx8. Katika hii exampna tunabadilisha kutoka UART2 hadi UART1 kwenye imx8mm:
# IMX_BOOT_UART_BASE ?= 0x30890000
IMX_BOOT_UART_BASE ?= 0x30860000
Kurekebisha optee-os
Mfumo wa Uendeshaji wa Optee kwa kawaida hupakiwa wakati kriptografia ya moduli ya CAAM inatumiwa kwenye mfumo. Optee huendesha kwa cores sawa za ARM Cortex-A53, lakini katika mfano mwingine huru kabisa kama kernel. Optee pia inahitaji ufikiaji wa UART na katika kesi hii inamaanisha urekebishaji wa anwani ya msingi.
Lengo file: nafasi ya kazi/vyanzo/optee-os/core/arch/arm/plat-imx/conf.mk
Ex huyuample itaweka anwani ya msingi ya UART kutoka UART2 hadi UART1:
#CFG_UART_BASE ?= UART2_BASE
CFG_UART_BASE ?= UART1_BASE
Kurekebisha Kernel
Kernel itahitaji marekebisho machache tu ya mti wa kifaa, na ikiwa tu UART haipatikani kwenye kernel bado. Katika hali nyingi, hakuna marekebisho yatahitajika hata kidogo. Walakini, tafadhali thibitisha ikiwa mfano wa tty unaotaka kutumia upo! Angalia uwepo wa tty na amri ya ganda:
$ ls /dev/ttymxc*
Ikiwa ttymxc tayari inapatikana, hakuna marekebisho inahitajika. Kwa mfanoample, kwa UART2 hii itakuwa /dev/ttymxc1. Kama tunavyojua tayari, faharasa ya tty daima ni fahirisi ya UART halisi ya kutoa 1. Ikiwa tty inayohitajika haipatikani, tafadhali fuata utaratibu wa kawaida wa kuunganisha UART.
Jenga & Mtihani
Kwa ujenzi salama, utakaso kamili unapaswa kutumika:
$ ./bitbake -c cleanall u-boot-imx linux-imx imx-atf optee-os
Jenga picha tena kwa amri chaguo-msingi ya kujenga, kwa mfanoample:
$ ./bitbake msc-image-base
Kwa madhumuni ya majaribio, adapta ya UART inapaswa kuunganishwa kwenye UART ya zamani. Haipaswi kuwa na pato zaidi kwenye UART ya zamani! UART mpya inapaswa kufanya kazi kikamilifu, kwa hilo tafadhali thibitisha muunganisho kwa kutumia shell ya UART ya u-boot na kiweko cha linux.
Msaada wa Bidhaa
Wahandisi na mafundi waliopachikwa wa Avnet wamejitolea kutoa usaidizi kwa wateja wetu kila inapohitajika. Kabla ya kuwasiliana na Usaidizi wa Kiufundi wa Avnet Iliyopachikwa, tafadhali wasiliana na kurasa husika kwenye yetu webtovuti kwenye
https://embedded.avnet.com/support/
kwa hati za hivi punde, viendeshaji na upakuaji wa programu.
Ikiwa maelezo yaliyotolewa hapo hayatatui tatizo lako, tafadhali wasiliana na timu yetu ya Usaidizi wa Kiufundi iliyopachikwa ya Avnet kama ifuatavyo:
Barua pepe: support.boards@avnet.eu
Simu: +49 (0)8165 906-200
Nyaraka / Rasilimali
![]() |
AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Based Computers kwenye Moduli [pdf] Maagizo MSC SM2S-IMX8M, MSC SM2S-IMX8M Debug UART Port ARM Based Computers kwenye Moduli, Tatua UART Port ARM Based Computers kwenye Moduli, UART Port ARM Based Computers kwenye Moduli, Port ARM Based Computers kwenye Moduli, ARM Based Computers kwenye Module, Based Computers kwenye Moduli, Kompyuta kwenye Moduli, Moduli |