AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Yakavakirwa Makomputa paModule Mirayiridzo.
Nhanganyaya
Copyright Notice
Copyright © 2023 Avnet Embedded GmbH. Kodzero dzese dzakachengetwa. Kukopa kwechinyorwa ichi, kupa kune vamwe uye kushandiswa kana kutaurirana kwezviri mukati maro, zvinorambidzwa pasina kuburitsa mvumo kubva kuAvnet Embedded / MSC Technologies.
GmbH. Vapari vemhosva vanosungirwa kubhadhara kukuvara. Kodzero dzese dzakachengeterwa kana kupihwa patent kana kunyoreswa kweutility modhi kana dhizaini.
Mashoko Akakosha
Mapepa aya akaitirwa vateereri vanokwanisa chete. Chigadzirwa chinotsanangurwa pano hachisi chekupedzisira mushandisi chigadzirwa. Yakagadzirwa uye yakagadzirwa kuti iwedzere kugadziriswa nevashandi vakadzidziswa.
Disclaimer
Kunyangwe gwaro iri rakagadzirwa nekungwarira kwakanyanya hapana waranti kana mhosva yekurongeka kana kukodzera kune chero chinangwa chinorehwa. Ruzivo rwuri mugwaro rino rwunopihwa “sezvazviri” uye runogona kuchinja pasina chiziviso.
Trademarks
Mazita ese anoshandiswa echigadzirwa, marogo kana zviratidzo zvivakwa zvevaridzi vazvo.
General Information
Scope
Gwaro iri rinoshanda kune ese maAvnet Embedded Computer-on-Modules anoenderana neNXP i.MX8- uye i.MX9-series CPUs, senge.
- 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
Rondedzero iyi hairevi kuti inopedza, kunyanya sezvo mabhodhi matsva anogona kuburitswa ayo maitiro akafanana angashande, nepo gwaro iri risingagone kuvandudzwa nekukasika.
Ongororo uye Kugadziridzwa
Kudzokorora | Date | Comment | |
1.0 | 25.05.2023 | M. Koch | Shanduro yekutanga |
Maitiro ekuchinja debug UART port
Nhanganyaya
Mazhinji maARM-akavakirwa masisitimu anouya neSeri Console senzira huru yekuwana yedebug uye system yekuunza-up zvinangwa. Zvichienderana nezvinodiwa nevatengi, chinhu chinowanzoitika mumasisitimu akadaro kuti iyo default debug UART port inoda kuchinjirwa kune imwe serial port. Nekugadzirisa UART chiteshi tinoreva chiteshi cheUART chinozopa ese U-Boot yekupinza / kubuda, kernel bootlog kubuda uye kernel shell, chaizvo zvese kutaurirana kweUART munhu anozoona mudiki Yocto mufananidzo. Sezvo iyo yakasarudzika UART port isingashandiswe nechinhu chimwe chete chesoftware, asi nezvikamu zvakawanda, zvinosanganisira u-boot, atf-firmware, optee-os uye kernel pachayo, kuseta iyo default UART port inogona kunetsa, uye pamusoro.view inogona kukurumidza kurasika. Gwaro rino richatsanangura matanho ese ekutevera, kuti aite basa iri. Kuti uwane tsananguro iri nyore, gwaro iri rakanyorerwa NXP i.MX8 MINI processor uye mscldk, asi rinogona kushandiswa kune ese i.MX8- uye i.MX9-series processors nemamwe masisitimu ekuvaka nekuedza kushoma.
Kugadzirira nharaunda
Kuchinja iyo default debug UART chiteshi kunoda kugadzirisa kodhi muYocto, uye nzira iri nyore yekuzviita, kushandisa Yocto devtool kutigadzirira masosi. Izvo zvichave zvakakodzera kugadzirisa anotevera Yocto mapakeji:
- u-boot-imx (virtual/bootloader)
- linux-imx (virtual/kernel)
- atf-imx
- optee-os (chete kana optee ikashandiswa)
Nzvimbo dzinofanirwa kugadzirirwa ne devtool:
$ ./devtool shandura u-boot-imx
$ ./devtool shandura linux-imx
$ ./devtool shandura atf-imx
$ ./devtool shandura optee-os
Zvese zviwanikwa zvinogona kuwanikwa mu "workspace" dhairekitori.
Kugadzirisa kodhi
Kugadzirisa iyo Bootloader
Mubootloader imwe yekutanga UART yekutanga ichaitika, saka zvichave zvakafanira kugadzirisa muxing uye base kero yeUART port. Basa rechipiri re-u-boot ndere kupfuudza bhutsu nharo ku kernel uye pano zvichave zvakafanira kugadzirisa iyo console tty nharo. Kutanga kweUART uye muxing kunoitika mukutanga stage ye boot process muSPL. Iyo kodhi kodhi inogona kuwanikwa mubhodhi chaiyo spl.c file.
Target file: workspace/source/u-boot-imx/board/msc/sm2s_imx8mm/spl.c
Vhura iyo file uye famba uchienda kune basa init_ser0():
static void init_ser0(isina)
{
imx_iomux_v3_setup_multiple_pads(ser0_pads, ARRAY_SIZE(ser0_pads)); init_uart_clk(1);
}
Basa rinoita kuti wachi ye UART2(index 1 yemuviri UART 2).
Zvino, kana tichida kushandisa UART1 pachinzvimbo, tinogona kutsanangura yedu init_ser1 basa:
static void init_ser1(isina)
{
imx_iomux_v3_setup_multiple_pads(ser1_pads, ARRAY_SIZE(ser1_pads)); init_uart_clk(0);
}
Tsiva basa rekufona kweinit_ser0 neinit_ser1() mubhodhi_early_init_f() basa. Kupfuurirazve tinoona kuti ser1_pads chimiro hachina kutsanangurwa. Pano zvichave zvakakosha kuziva nezve wiring yeUART1. Pa imx8mm, UART1 inogona kukwizwa kuita uart1 pads, kana kuti sai2 pads. Saizvozvo, ser1_pads inogona kutsanangurwa se:
static 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
};
Kana kuti zvimwe, uchishandisa sai2:
static 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 };
Iye zvino iyo UART base kero inofanirwa kugadziridzwa, iyo kero inotsanangurwa mumabhodhi header config file.
Target file: workspace/source/u-boot-imx/include/configs/msc_sm2s_imx8mm.h
Shandura tsananguro CONFIG_MXC_UART_BASE. Kune UART1 izvi zvingave:
- // #define CONFIG_MXC_UART_BASE
- UART2_BASE_ADDR
- #define CONFIG_MXC_UART_BASE
- UART1_BASE_ADDR
Pakupedzisira, iyo console kernel nharo inofanira kuchinjwa. Kukosha kunogona kuwanikwa mumusoro mumwe chete file. Tsvaga “console=ttymxc1…” and modify “ttymxc1” to “ttymxc0”. The index number correlates to UART index, and is always UART index minus 1. So for UART 2 we use ttymxc1, for UART3 use ttymxc2 etc..
Kugadzirisa iyo ARM Yakavimbika Firmware
Arm Trusted Firmware(imx-atf) haina yega UART yekutanga maitiro, zvisinei ine hardcoded UART base kero, uye inovimba neyakakodzera UART kutanga kubva ku-boot. Yakasiyana basero kero kumisikidzwa mu-u-boot uye imx-atf ingangosiya iyo processor yakanamatira mune yakasarudzika inobata, uye hapazove nechinhu chinoonekwa paUART (iyo CPU inoita kunge yakarembera pasina chikonzero chinooneka). Kana chiteshi cheUART chachinjwa, shanduko iyi inofanirawo kuitika mu imx-atf! Kuchinja chiteshi cheUART mu imx-atf kunoda kugadziriswa kwekero. Kukosha uku kwakaiswa mupuratifomu.mk file ye processor.
Target file: workspace/source/imx-atf/plat/imx/imx8m/imx8mm/platform.mk
Iyo chaiyo UART base kero inogona kuwanikwa mune imx8 referensi bhuku. Mune exampisu tinochinja kubva kuUART2 kuenda kuUART1 pane imx8mm:
# IMX_BOOT_UART_BASE ?= 0x30890000
IMX_BOOT_UART_BASE ?= 0x30860000
Kugadzirisa optee-os
Optee OS inowanzo kurodha kana CAAM module cryptography inoshandiswa pane system. Optee inomhanya pane imwecheteyo ARM Cortex-A53 cores, asi mune imwe yakasununguka yakazvimirira muenzaniso sekernel. Optee inodawo UART kuwana uye mune iyi kesi zvinoreva shanduko yekero.
Target file: workspace/source/optee-os/core/arch/arm/plat-imx/conf.mk
Ex uyuample ichaisa kero yekutanga yeUART kubva kuUART2 kuenda kuUART1:
#CFG_UART_BASE ?= UART2_BASE
CFG_UART_BASE ?= UART1_BASE
Kugadzirisa Kernel
Kernel inongoda mashoma emuti gadziriso yemuti, uye chete kana iyo UART isiri kuwanikwa mukernel parizvino. Muzviitiko zvakawanda, hapana shanduko ichadikanwa zvachose. Nekudaro, ndokumbirawo uone kana iyo tty muenzaniso yaunoda kushandisa iripo! Tarisa kuvepo kwe tty neshell command:
$ ls /dev/ttymxc*
Kana iyo ttymxc yatovepo, hapana shanduko inodiwa. For example, yeUART2 iyi ingave /dev/ttymxc1. Sezvatinoziva kare, index ye tty inogara iri index yeUART yemuviri minus 1. Kana tty inodiwa isipo, tapota tevera maitiro ekubatanidza UART.
Vaka & Muedze
Kuvakazve kwakachengeteka kucheneswa kwakazara kunofanirwa kushandiswa:
$ ./bitbake -c cleanall u-boot-imx linux-imx imx-atf optee-os
Vaka chifananidzo zvakare neyakagadzika kuvaka yekuraira, kune example:
$ ./bitbake msc-image-base
Nechinangwa chekuyedza, adapta yeUART inofanirwa kubatana kune yekare UART. Panofanira kunge pasisina chinobuda paUART yekare! Iyo UART itsva inofanirwa kunge ichishanda zvizere, kune izvo ndapota simbisa kubatana nekushandisa iyo u-boot UART shell uye linux console.
Product Support
Avnet Embedded mainjiniya uye matekiniki vakazvipira kupa rutsigiro kune vatengi vedu pese pazvinenge zvichidiwa. Usati wabata Unyanzvi Tsigiro yeAvnet Embedded, ndapota bvunza iwo mapeji anoenderana pane yedu website pa
https://embedded.avnet.com/support/
kune zvinyorwa zvichangoburwa, madhiraivha uye kurodha software.
Kana ruzivo rwakapihwa ipapo rukasagadzirisa dambudziko rako, ndapota taura neAvnet Embedded Technical Support timu sezvinotevera:
Email: support.boards@avnet.eu
Runhare: +49 (0)8165 906-200
Zvinyorwa / Zvishandiso
![]() |
AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Yakavakirwa Makomputa paModule [pdf] Mirayiridzo MSC SM2S-IMX8M, MSC SM2S-IMX8M Debug UART Port ARM Based Computers paModule, Debug UART Port ARM Based Computers paModule, UART Port ARM Based Computers paModule, Port ARM Based Computers paModule, ARM Based Computers paModule, Based Computers. paModule, Makomputa paModule, Module |