AVNET EMBEDDED MSC SM2S-IMX8M Kembiforrit UART Port ARM byggðar tölvur á einingaleiðbeiningum
Formáli
Höfundarréttartilkynning
Höfundarréttur © 2023 Avnet Embedded GmbH. Allur réttur áskilinn. Afritun þessa skjals, afhending til annarra og notkun eða miðlun innihalds þess, er bönnuð án skýlausrar heimildar frá Avnet Embedded /MSC Technologies
GmbH. Brotamenn eru skaðabótaskyldir. Allur réttur er áskilinn ef um er að ræða veitingu einkaleyfis eða skráningu á nytjalíkani eða hönnun.
Mikilvægar upplýsingar
Þessi skjöl eru eingöngu ætluð hæfum áhorfendum. Varan sem lýst er hér er ekki notendavara. Það var þróað og framleitt til frekari vinnslu af þjálfuðu starfsfólki.
Fyrirvari
Þrátt fyrir að þetta skjal hafi verið búið til af fyllstu varkárni er engin ábyrgð eða ábyrgð á réttmæti eða hentugleika í neinum sérstökum tilgangi gefið í skyn. Upplýsingarnar í þessu skjali eru veittar „eins og þær eru“ og geta breyst án fyrirvara.
Vörumerki
Öll notuð vöruheiti, lógó eða vörumerki eru eign viðkomandi eigenda.
Almennar upplýsingar
Gildissvið
Þetta skjal gildir fyrir allar Avnet Embedded Computer-on-Modules byggðar á NXP i.MX8- og i.MX9-röð örgjörva, eins og td.
- 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
Þessi listi segist ekki vera tæmandi, sérstaklega þar sem nýjar stjórnir geta verið gefnar út þar sem sömu verklagsreglur gætu átt við, á meðan þetta skjal er ekki alltaf uppfært strax.
Endurskoðun og breytingar
Endurskoðun | Dagsetning | Athugasemd | |
1.0 | 25.05.2023 | M. Koch | Upphafleg útgáfa |
Hvernig á að breyta kembiforritinu UART tengi
Inngangur
Mörg ARM-undirstaða kerfi eru með Serial Console sem aðal aðgangsleiðin fyrir villuleit og kerfisuppbyggingu. Það fer eftir kröfum viðskiptavina, það er oft nauðsyn í slíkum kerfum að skipta þarf sjálfgefna kembiforritinu UART tengi yfir í annað raðtengi. Með því að kemba UART tengi er átt við UART tengið sem mun veita allt U-Boot inntak/úttak, kjarna bootlog úttak og kjarnaskel, í rauninni öll UART samskipti sem maður mun sjá í lágmarks Yocto mynd. Þar sem sjálfgefna UART tengið er ekki notað af aðeins einum hugbúnaðarhluta, heldur af mörgum hlutum, þar á meðal u-boot, atf-firmware, optee-os og kjarnanum sjálfum, getur það verið krefjandi að stilla sjálfgefna UART tengið ogview getur fljótt glatast. Þetta skjal mun útskýra öll skref sem fylgja skal til að ná þessu verkefni. Til að auðvelda skýringu var þetta skjal skrifað fyrir NXP i.MX8 MINI örgjörva og mscldk, en hægt er að nota það á alla i.MX8- og i.MX9-röð örgjörva og önnur smíðakerfi með mjög lítilli fyrirhöfn.
Undirbúa umhverfi
Til að breyta sjálfgefna kembiforritinu UART tengi þarf að breyta kóða í Yocto, og auðveldasta leiðin til að gera það er að nota Yocto devtool til að undirbúa heimildirnar fyrir okkur. Nauðsynlegt verður að breyta eftirfarandi Yocto pakka:
- u-boot-imx (virtual/bootloader)
- linux-imx (sýndar/kjarna)
- atf-imx
- optee-os (aðeins ef optee er notað)
Heimildir ættu að vera útbúnar með devtool:
$ ./devtool breyta u-boot-imx
$ ./devtool breyta linux-imx
$ ./devtool breyta atf-imx
$ ./devtool breyta optee-os
Allar heimildir er að finna í „workspace“ möppunni.
Breytir kóða
Að breyta ræsiforritinu
Í ræsiforritinu mun nokkur grunn UART frumstilling eiga sér stað, svo það verður að breyta muxing og grunn heimilisfangi UART tengisins. Annað verkefni u-boot er að senda ræsingarrök til kjarna og hér verður nauðsynlegt að breyta console tty rökunum. UART frumstilling og muxing gerist á fyrstu stage af ræsingarferli í SPL. Frumkóðann er að finna í borðsértæku spl.c file.
Markmið file: vinnusvæði/sources/u-boot-imx/board/msc/sm2s_imx8mm/spl.c
Opnaðu file og flettu að aðgerðinni init_ser0():
kyrrstætt tóm init_ser0(ógilt)
{
imx_iomux_v3_setup_multiple_pads(ser0_pads, ARRAY_SIZE(ser0_pads)); init_uart_clk(1);
}
Aðgerðin virkjar klukkuna fyrir UART2(vísitala 1 fyrir líkamlega UART 2).
Nú, ef við viljum nota UART1 í staðinn, gætum við skilgreint okkar eigin init_ser1 aðgerð:
kyrrstætt tóm init_ser1(ógilt)
{
imx_iomux_v3_setup_multiple_pads(ser1_pads, ARRAY_SIZE(ser1_pads)); init_uart_clk(0);
}
Skiptu út fallkalli init_ser0 fyrir init_ser1() í board_early_init_f() fallinu. Ennfremur tökum við eftir því að uppbygging ser1_pads er ekki skilgreind. Hér verður nauðsynlegt að vera meðvitaður um raflögn UART1. Á imx8mm er hægt að blanda UART1 við uart1 pads, eða við sai2 pads. Í samræmi við það gætu ser1_pads verið skilgreindir sem:
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
};
Eða annars, með því að nota 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 };
Nú ætti að breyta UART grunn heimilisfanginu, heimilisfangið er skilgreint í stillingum borðhausa file.
Markmið file: vinnusvæði/sources/u-boot-imx/include/configs/msc_sm2s_imx8mm.h
Breyttu skilgreiningunni CONFIG_MXC_UART_BASE. Fyrir UART1 væri þetta:
- // #define CONFIG_MXC_UART_BASE
- UART2_BASE_ADDR
- #skilgreina CONFIG_MXC_UART_BASE
- UART1_BASE_ADDR
Að lokum ætti að breyta console kjarnanum. Gildið er að finna í sama haus file. Leitaðu að „console=ttymxc1…“ og breytið „ttymxc1“ í „ttymxc0“. Vísitölunúmerið samsvarar UART vísitölunni og er alltaf UART vísitala mínus 1. Fyrir UART 2 notum við ttymxc1, fyrir UART3 notum við ttymxc2 o.s.frv.
Að breyta ARM traustum fastbúnaði
Arm Trusted Firmware(imx-atf) hefur enga eigin UART frumstillingarrútínu, hins vegar er hann með harðkóða UART grunnvistfang og treystir á rétta UART frumstillingu frá u-boot. Önnur grunnvistfangastilling í u-boot og imx-atf mun líklega skilja örgjörvann eftir fastan í undantekningarhöndlun, og það verður ekkert sýnilegt á UART (örgjörvinn virðist hanga án sýnilegrar ástæðu). Þegar UART portinu er breytt verður þessi breyting líka að gerast í imx-atf! Til að breyta UART tenginu í imx-atf þarf að breyta grunn heimilisfangi. Þetta gildi er stillt í platform.mk file af örgjörvanum.
Markmið file: vinnusvæði/sources/imx-atf/plat/imx/imx8m/imx8mm/platform.mk
Rétt UART grunnfang er að finna í imx8 tilvísunarhandbókinni. Í þessu frvampVið breytum úr UART2 í UART1 á imx8mm:
# IMX_BOOT_UART_BASE ?= 0x30890000
IMX_BOOT_UART_BASE ?= 0x30860000
Breytir optee-os
Optee OS er venjulega hlaðið þegar CAAM mát dulritun er notuð á kerfinu. Optee keyrir á sömu ARM Cortex-A53 kjarna, en í öðru algjörlega óháðu tilviki og kjarnann. Optee krefst einnig UART aðgangs og í þessu tilfelli þýðir það breytingu á grunn heimilisfangi.
Markmið file: vinnusvæði/sources/optee-os/core/arch/arm/plat-imx/conf.mk
Þetta frvample mun stilla UART grunnfang frá UART2 í UART1:
#CFG_UART_BASE ?= UART2_BASE
CFG_UART_BASE ?= UART1_BASE
Að breyta kjarnanum
Kjarninn mun þurfa aðeins nokkrar breytingar á tækistrénu og aðeins ef UART er ekki tiltækt í kjarnanum ennþá. Í mörgum tilfellum er alls ekki þörf á breytingum. Hins vegar vinsamlegast staðfestu hvort tty tilvikið sem þú vilt nota sé til! Athugaðu viðveru tty með skel skipun:
$ ls /dev/ttymxc*
Ef ttymxc er þegar tiltækt er ekki þörf á breytingum. Til dæmisample, fyrir UART2 væri þetta /dev/ttymxc1. Eins og við vitum nú þegar er vísitalan á tty alltaf vísitalan fyrir líkamlega UART mínus 1. Ef nauðsynleg tty er ekki tiltæk, vinsamlegast fylgdu venjulegu UART samþættingarferlinu.
Byggja & prófa
Fyrir örugga endurbyggingu ætti að beita fullri hreinsun:
$ ./bitbake –c cleanall u-boot-imx linux-imx imx-atf optee-os
Byggðu myndina aftur með sjálfgefna build skipuninni, til dæmisample:
$ ./bitbake msc-image-base
Til að prófa ætti UART millistykki að vera tengt við gamla UART. Það ætti ekki að vera meira framleiðsla á gamla UART! Nýi UART ætti að vera fullkomlega virkur, til þess vinsamlegast staðfestu tenginguna með því að nota u-boot UART skelina og linux stjórnborðið.
Vörustuðningur
Avnet Embedded verkfræðingar og tæknimenn eru staðráðnir í að veita viðskiptavinum okkar stuðning hvenær sem þess er þörf. Áður en þú hefur samband við tæknilega aðstoð Avnet Embedded, vinsamlegast skoðaðu viðkomandi síður á okkar websíða kl
https://embedded.avnet.com/support/
fyrir nýjustu skjölin, rekla og niðurhal hugbúnaðar.
Ef upplýsingarnar sem þar eru gefnar leysa ekki vandamál þitt, vinsamlegast hafðu samband við Avnet Embedded Technical Support teymi okkar sem hér segir:
Netfang: support.boards@avnet.eu
Sími: +49 (0)8165 906-200
Skjöl / auðlindir
![]() |
AVNET EMBEDDED MSC SM2S-IMX8M villuleit UART Port ARM byggðar tölvur á einingu [pdfLeiðbeiningar MSC SM2S-IMX8M, MSC SM2S-IMX8M Kembi UART tengi ARM byggðar tölvur á einingu, kembi UART tengi ARM byggðar tölvur á einingu, UART tengi ARM byggðar tölvur á einingu, höfn ARM byggðar tölvur á einingu, ARM byggðar tölvur á einingu, byggðar tölvur á mát, tölvur á einingu, mát |