AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Fa'avae Komepiuta i luga ole Fa'atonuga Fa'atonu.
Upu Tomua
Faasilasilaga Puletaofia
Puletaofia © 2023 Avnet Embedded GmbH. Ua taofia aia tatau uma. O le kopiina o lenei pepa, tuʻuina atu i isi ma le faʻaogaina poʻo le fesoʻotaʻiga o mea o loʻo i ai, e faʻasaina e aunoa ma se pule faʻaalia mai le Avnet Embedded /MSC Technologies
GmbH. E noatia tagata solitulafono mo le totogiina o mea ua faaleagaina. O aia tatau uma e fa'aagaga pe a tu'uina atu se pateni po'o le resitalaina o se fa'ata'ita'iga aoga po'o se mamanu.
Fa'amatalaga Taua
O lenei fa'amaumauga e fa'amoemoe mo na'o tagata fa'apitoa. O le oloa o lo'o fa'amatalaina i inei e le'o se mea e fa'aaogaina fa'au'uga. Na atia'e ma gaosia mo le fa'agaioiga atili e tagata faigaluega a'oa'oina.
Fa'ailoga
E ui lava o lenei pepa na gaosia ma le faaeteete e leai se faʻamaonia poʻo se noataga mo le saʻo poʻo le talafeagai mo soʻo se faʻamoemoega faʻapitoa e faʻaalia. O faʻamatalaga i totonu o lenei pepa o loʻo tuʻuina atu "e pei ona iai" ma e mafai ona suia e aunoa ma se faʻaaliga.
Fa'ailoga Fa'ailoga
O igoa uma o oloa fa'aaogaina, logos po'o fa'ailoga tau fefa'ataua'iga o meatotino a latou tagata.
Fa'amatalaga Lautele
Aotelega
O lenei pepa e faʻaoga mo Avnet Embedded Computer-on-Modules uma e faʻavae ile NXP i.MX8- ma le i.MX9-series CPUs, pei ole faʻataʻitaʻiga
- 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
O lenei lisi e le o fai mai e le atoatoa, aemaise lava pe a mafai ona tatalaina ni laupapa fou e mafai ona faʻaoga tutusa faiga, ae o lenei pepa e le mafai ona faʻafouina vave.
Toe Iloiloga ma Suiga
Toe Iloiloga | Aso | Faamatalaga | |
1.0 | 25.05.2023 | M. Koch | Faiga muamua |
Fa'afefea ona sui le debug UART uafu
Folasaga
O le tele o faiga fa'avae ARM o lo'o sau ma le Serial Console e fai ma auala autu e maua ai le fa'aogaina o le fa'aogaina ma le fa'atupuina o fa'amoemoega. Fa'alagolago i mana'oga o tagata fa'atau, ose mea e fa'atupu soo i ia faiga e mana'omia ai ona sui le uafu debug UART i se isi uafu serial. O le debug UART port o lona uiga o le UART port lea o le a maua uma ai le U-Boot input/output, kernel bootlog output ma kernel shell, e masani lava o fesoʻotaʻiga UART uma o le a vaʻaia e se tasi i se ata Yocto laʻititi. Talu ai ona o le faaletonu o le UART port e le o faaaogaina e na o le tasi le vaega polokalama, ae o le tele o vaega, e aofia ai le u-boot, atf-firmware, optee-os ma le fatu lava ia, o le setiina o le UART uafu faaletonu e mafai ona luitauina, ma le sili atu.view e mafai ona vave leiloa. O lenei pepa o le a faʻamatalaina laasaga uma e mulimuli ai, e ausia ai lenei galuega. Mo faʻamatalaga faigofie, o lenei pepa na tusia mo le NXP i.MX8 MINI processor ma mscldk, ae mafai ona faʻaoga i le i.MX8- ma le i.MX9-series processors ma isi faiga faʻavae ma se taumafaiga itiiti lava.
Saunia le siosiomaga
O le suia o le faʻaogaina o le UART port e manaʻomia ai le suia o le code i Yocto, ma o le auala pito sili ona faigofie e fai ai, o le faʻaaogaina lea o Yocto devtool e saunia ai punaoa mo i tatou. E manaʻomia le faʻaleleia o afifi Yocto nei:
- u-boot-imx (virtual/bootloader)
- linux-imx (virtual/kernel)
- atf-imx
- optee-os (naʻo pe a faʻaaoga le optee)
E tatau ona saunia punaoa ma devtool:
$ ./devtool suia le u-boot-imx
$ ./devtool sui linux-imx
$ ./devtool sui atf-imx
$ ./devtool sui optee-os
O puna'oa uma e mafai ona maua i le "workspace" directory.
Fa'ailoga tulafono
Suia le Bootloader
I totonu o le bootloader o le a tupu ai se amataga UART autu, o lea e tatau ai ona sui le muxing ma le tuatusi autu o le UART port. O le galuega lona lua a le u-boot o le tuʻuina atu lea o finauga faʻavae i le fatu ma o iinei o le a manaʻomia ai le suia o le console tty argument. UART amataina ma muxing e tupu i le amataga stage o le faiga fa'avae i le SPL. E mafai ona maua le code source i le laupapa spl.c faapitoa file.
Sini file: avanoa faigaluega/sources/u-boot-imx/board/msc/sm2s_imx8mm/spl.c
Tatala le file ma faʻafeiloaʻi i le galuega init_ser0():
static void init_ser0(vale)
{
imx_iomux_v3_setup_multiple_pads(ser0_pads, ARRAY_SIZE(ser0_pads)); init_uart_clk(1);
}
O le galuega e fa'agaoioia ai le uati mo UART2(fa'asino igoa 1 mo UART faaletino 2).
Ia, afai tatou te mananaʻo e faʻaoga UART1 nai lo lena, e mafai ona tatou faʻamatalaina a tatou lava init_ser1 galuega:
static void init_ser1(vale)
{
imx_iomux_v3_setup_multiple_pads(ser1_pads, ARRAY_SIZE(ser1_pads)); init_uart_clk(0);
}
Suia le valaau galuega a init_ser0 ma init_ser1() i le board_early_init_f() galuega. E le gata i lea, matou te matauina e le o faʻamalamalamaina le fausaga ser1_pads. O iinei e tatau ai ona nofouta i le uaea o UART1. I imx8mm, UART1 e mafai ona muxed i uart1 pads, po'o sai2 pads. E tusa ai ma lea, ser1_pads e mafai ona faauigaina e faapea:
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
};
A leai, faʻaaoga 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 };
O lea la e tatau ona sui le tuatusi fa'avae UART, o le tuatusi o lo'o fa'amatalaina i le fa'auluuluga o laupapa file.
Sini file: workspace/sources/u-boot-imx/include/configs/msc_sm2s_imx8mm.h
Suia le fa'amatalaga CONFIG_MXC_UART_BASE. Mo UART1 o le:
- // #define CONFIG_MXC_UART_BASE
- UART2_BASE_ADDR
- #define CONFIG_MXC_UART_BASE
- UART1_BASE_ADDR
Mulimuli ane, e tatau ona suia le finauga kernel console. E mafai ona maua le tau i le ulutala tutusa file. Saili mo “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..
Suia le ARM Trusted Firmware
Arm Trusted Firmware(imx-atf) e leai sana faiga fa'avae UART, peita'i o lo'o iai lona tuatusi fa'amaufa'ailoga UART, ma fa'alagolago ile amataga ole UART mai le u-boot. O se isi faʻasologa o tuatusi faʻavae i le u-boot ma le imx-atf e foliga mai o le a tuʻu ai le gaioiga e pipii i totonu o se tagata faʻapitoa, ma o le a leai se mea e iloa i luga o le UART (o le PPU e foliga mai e tautau e aunoa ma se mafuaaga vaaia). A suia le uafu UART, e tatau foi ona tupu lenei suiga ile imx-atf! Suia le UART uafu i imx-atf manaʻomia se faʻasologa o tuatusi faʻavae. O lenei tau o loʻo faʻatulagaina i le platform.mk file o le processor.
Sini file: avanoa faigaluega/sources/imx-atf/plat/imx/imx8m/imx8mm/platform.mk
O le tuatusi fa'avae UART sa'o e mafai ona maua i le tusi fa'asino imx8. I lenei examptatou sui mai le UART2 i le UART1 ile imx8mm:
# IMX_BOOT_UART_BASE ?= 0x30890000
IMX_BOOT_UART_BASE ?= 0x30860000
Suia optee-os
O le Optee OS e masani ona utaina pe a faʻaogaina le faʻaogaina o le CAAM module cryptography i luga o le polokalama. O le Optee e tamoe i luga o le ARM Cortex-A53 cores, ae i se isi tulaga tutoatasi atoatoa e pei o le fatu. E mana'omia fo'i e le Optee le avanoa i le UART ma i le tulaga lea o lona uiga o le suiga ole tuatusi fa'avae.
Sini file: workspace/sources/optee-os/core/arch/arm/plat-imx/conf.mk
O lenei exampo le a seti le tuatusi fa'avae UART mai UART2 i le UART1:
#CFG_UART_BASE ?= UART2_BASE
CFG_UART_BASE ?= UART1_BASE
Suia le Kernel
Ole Kernel ole a mana'omia na'o ni nai suiga ole la'au masini, ma pe afai e le'i maua le UART ile fatu. I le tele o tulaga, e leai se suiga e mana'omia. Ae ui i lea, faʻamolemole faʻamaonia pe o iai le faʻataʻitaʻiga tty e te manaʻo e faʻaoga! Siaki le tty faʻatasi ma se faʻatonuga atigi:
$ ls /dev/ttymxc*
Afai ua maua le ttymxc, e leai se suiga e manaʻomia. Mo example, mo UART2 o le /dev/ttymxc1. E pei ona uma ona tatou iloa, o le faasino igoa o le tty e masani lava o le faasinoupu o le UART faaletino toesea 1. Afai e le o maua le tty manaʻomia, faʻamolemole mulimuli i le masani UART integration procedure.
Fausia & Su'ega
Mo se toe fausia saogalemu e tatau ona faʻaogaina le faʻamamaina atoatoa:
$ ./bitbake –c faamama uma u-boot-imx linux-imx imx-atf optee-os
Toe fau le ata i le fa'atonuga faufale, mo fa'ataampLe:
$ ./bitbake msc-image-base
Mo le fa'amoemoega o su'ega, e tatau ona fa'afeso'ota'i se UART adapter i le UART tuai. E le tatau ona toe i ai se gaioiga i luga o le UART tuai! O le UART fou e tatau ona galue atoatoa, mo lena faʻamolemole faʻamaonia le fesoʻotaʻiga e ala i le faʻaogaina o le u-boot UART shell ma le linux console.
Lagolago oloa
Avnet Embedded engineers ma tekinisia o lo'o naunau e tu'uina atu le lagolago i a tatou tagata fa'atau i so'o se taimi e mana'omia ai. A'o le'i fa'afeso'ota'i le Lagolago Fa'atekinisi a le Avnet Embedded, fa'amolemole fa'afeso'ota'i itulau ta'itasi i la matou webnofoaga i
https://embedded.avnet.com/support/
mo fa'amaumauga lata mai, aveta'avale ma la'u mai polokalame.
Afai o fa'amatalaga o lo'o tu'uina atu iina e le fo'ia ai lou fa'afitauli, fa'amolemole fa'afeso'ota'i la matou vaega o le Avnet Embedded Technical Support e pei ona taua i lalo:
imeli: support.boards@avnet.eu
Telefoni: +49 (0)8165 906-200
Pepa / Punaoa
![]() |
AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Fa'avae Komepiuta i luga ole Module [pdf] Faatonuga MSC SM2S-IMX8M, MSC SM2S-IMX8M Debug UART Port ARM Fa'avae Komipiuta i luga o le Module, Debug UART Port ARM Fa'avae Komipiuta i luga ole Module, UART Port ARM Fa'avae Komipiuta i luga ole Module, Port ARM Fa'avae Komipiuta i luga ole Module, ARM Fa'avae Komipiuta i luga ole Module, Fa'avae Komipiuta i luga ole Module, Komepiuta ile Module, Module |