AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Based Computers on Module Instructions
AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Based Computers on Module

Selelekela

Tsebiso ea Copyright

Copyright © 2023 Avnet Embedded GmbH. Litokelo tsohle li sirelelitsoe. Ho kopitsa tokomane ena, ho fana ka ba bang le tšebeliso kapa puisano ea litaba tsa eona, li thibetsoe ntle le matla a hlakileng a tsoang ho Avnet Embedded / MSC Technologies.

GmbH. Batlōli ba molao ba ikarabella bakeng sa tefo ea litšenyehelo. Litokelo tsohle li bolokiloe ha ho fanoa ka tumello ea molao kapa ho ngolisoa ha mohlala oa lisebelisoa kapa moralo.

Boitsebiso ba Bohlokoa

Litokomane tsena li reretsoe batho ba tšoanelehang feela. Sehlahisoa se hlalositsoeng mona ha se sehlahisoa sa basebelisi ba ho qetela. E ile ea ntlafatsoa le ho etsoa bakeng sa ho tsoela pele ho sebetsoa ke basebetsi ba koetlisitsoeng.

Boithorollo

Leha tokomane ena e entsoe ka hloko e kholo, ha ho na tiisetso kapa boikarabello ba ho nepahala kapa ho tšoaneleha bakeng sa morero ofe kapa ofe o boletsoeng. Lintlha tse tokomaneng ena li fanoe ka "joalokaha li le" 'me li ka fetoha ntle le tsebiso.

Matšoao a khoebo

Mabitso ohle a sebelisitsoeng a lihlahisoa, li-logo kapa matšoao a khoebo ke thepa ea beng ba tsona.

Lintlha tse akaretsang

Sebaka

Tokomane ena e sebetsa bakeng sa Avnet Embedded Computer-on-Modules tsohle tse thehiloeng ho NXP i.MX8- le i.MX9-series CPUs, joalo ka mohlala.

  • 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

Lethathamo lena ha le bolele hore ha le na botlalo, haholo-holo kaha ho ka ’na ha lokolloa liboto tse ncha tseo mekhoa e tšoanang e ka sebelisoang ho tsona, athe tokomane ena e ka ’na ea se ke ea lula e nchafatsoa hang-hang.

Liphetoho le Liphetoho

Khatiso Letsatsi Tlhaloso
1.0 25.05.2023 M. Koch Phetolelo ea pele

Mokhoa oa ho fetola debug UART port

Selelekela

Litsamaiso tse ngata tse thehiloeng ho ARM li tla le Serial Console e le mokhoa oa mantlha oa phihlello bakeng sa ho lokisa liphoso le merero ea ho tlisa sistimi. Ho ipapisitse le litlhoko tsa bareki, ke ntho e etsahalang khafetsa lits'ebetsong tse joalo hore boema-kepe ba UART ba debug bo hloka ho fetisetsoa boema-kepeng bo fapaneng ba serial. Ka ho lokisa boema-kepe ba UART re bolela boema-kepe ba UART bo tla fana ka tlhahiso / tlhahiso ea U-Boot, tlhahiso ea kernel bootlog le khetla ea kernel, ha e le hantle puisano eohle ea UART eo motho a tla e bona setšoantšong se fokolang sa Yocto. Kaha kou ea kamehla ea UART ha e sebelisoe ke karolo e le 'ngoe feela ea software, empa e sebelisoa ke likarolo tse ngata, ho kenyeletsoa u-boot, atf-firmware, optee-os le kernel ka boeona, ho beha boema-kepe ba UART bo ka ba phephetso, le ho feta.view e ka lahleha kapele. Tokomane ena e tla hlalosa mehato eohle e lokelang ho lateloa, ho fihlela mosebetsi ona. Bakeng sa tlhaloso e bonolo, tokomane ena e ngotsoe bakeng sa processor ea NXP i.MX8 MINI le mscldk, empa e ka sebelisoa ho bohle ba i.MX8- le i.MX9-series processors le mekhoa e meng ea kaho ka boiteko bo fokolang haholo.

Ho lokisa tikoloho

Ho fetola boema-kepe ba debug UART ho tla hloka ho fetola khoutu ho Yocto, mme tsela e bonolo ka ho fetisisa ea ho e etsa, ke ho sebelisa Yocto devtool ho re lokisetsa mehloli. Ho tla hlokahala ho fetola liphutheloana tse latelang tsa Yocto:

  • u-boot-imx (virtual/bootloader)
  • linux-imx (virtual/kernel)
  • atf-imx
  • optee-os (ha feela optee e sebelisoa)

Mehloli e lokela ho lokisoa ka devtool: 

$ ./devtool fetola u-boot-imx
$ ./devtool fetola linux-imx
$ ./devtool fetola atf-imx
$ ./devtool fetola optee-os

Mehloli eohle e ka fumanoa bukeng ea "sebaka sa mosebetsi".

Ho fetola khoutu

Ho fetola bootloader

Ho bootloader ho tla qala ho qalisoa ha UART, kahoo ho tla hlokahala ho fetola muxing le aterese ea motheo ea boema-kepe ba UART. Mosebetsi oa bobeli oa u-boot ke ho fetisa likhang tsa boot ho kernel mme mona ho tla hlokahala ho fetola phehisano ea tty console. Ho qalisoa ha UART le muxing ho etsahala matsatsing a peletage ea ts'ebetso ea boot ho SPL. Khoutu ea mohloli e ka fumanoa ho board specific spl.c file.

Sepheo file: workspace/sources/u-boot-imx/board/msc/sm2s_imx8mm/spl.c

Bula the file 'me u tsamaee ho ea mosebetsing init_ser0():

static void init_ser0(void)
{
imx_iomux_v3_setup_multiple_pads(ser0_pads, ARRAY_SIZE(ser0_pads)); init_uart_clk(1);
}

Tshebetso e kenya tshebetsong tshupanako bakeng sa UART2(index 1 bakeng sa UART 2 ea 'mele).

Joale, haeba re batla ho sebelisa UART1 sebakeng sa rona, re ka hlalosa ts'ebetso ea rona ea init_ser1:

static void init_ser1(void)
{
imx_iomux_v3_setup_multiple_pads(ser1_pads, ARRAY_SIZE(ser1_pads)); init_uart_clk(0);
}

Tlosa mohala oa ts'ebetso oa init_ser0 ka init_ser1() ho board_early_init_f() tšebetso. Ho feta moo, rea hlokomela hore sebopeho sa ser1_pads ha se hlalosoe. Mona ho tla hlokahala hore u elelloe ka wiring ea UART1. Ho imx8mm, UART1 e ka tšeloa ho uart1 pads, kapa ho sai2 pads. Ka hona, li-ser1_pads li ka hlalosoa e le:

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
};

Kapa ho seng joalo, sebelisa 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 };

Hona joale aterese ea motheo ea UART e lokela ho fetoloa, aterese e hlalosoa ka har'a li-board header config file.

Sepheo file: workspace/sources/u-boot-imx/include/configs/msc_sm2s_imx8mm.h

Fetola tlhaloso CONFIG_MXC_UART_BASE. Bakeng sa UART1 sena e tla ba: 

  • // #define CONFIG_MXC_UART_BASE
  • UART2_BASE_ADDR
  • #define CONFIG_MXC_UART_BASE
  • UART1_BASE_ADDR

Qetellong, khang ea kernel ea console e lokela ho fetoloa. Boleng bo ka fumanoa sehloohong se tšoanang file. Batla “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..

Ho fetola Firmware e Tšeptjoang ea ARM

Arm Trusted Firmware(imx-atf) ha e na mokhoa oa ho qala UART, leha ho le joalo e na le aterese ea motheo ea UART e thata, 'me e itšetlehile ka ho qalisoa ka mokhoa o nepahetseng oa UART ho tloha u-boot. Tlhophiso e fapaneng ea liaterese ho u-boot le imx-atf e kanna ea siea processor e ts'oarehile ka har'a sesebelisoa se ikhethileng, 'me ha ho na letho le tla bonahala ho UART (CPU e bonahala e leketlile ntle le lebaka le bonahalang). Ha boema-kepe ba UART bo fetoloa, phetoho ena le eona e tlameha ho etsahala ho imx-atf! Ho fetola boema-kepe ba UART ho imx-atf ho hloka phetoho ea aterese ea mantlha. Boleng bona bo behiloe sethaleng.mk file ea processor.

Sepheo file: sebaka sa mosebetsi/ mehloli/imx-atf/plat/imx/imx8m/imx8mm/platform.mk 

Aterese e nepahetseng ea UART e ka fumanoa bukeng ea boitsebiso ea imx8. Ho sena mohlalaampre fetoha ho tloha ho UART2 ho ea ho UART1 ho imx8mm:

# IMX_BOOT_UART_BASE ?= 0x30890000
IMX_BOOT_UART_BASE ?= 0x30860000

Ho fetola optee-os

Optee OS hangata e laeloa ha mojule oa CAAM cryptography e sebelisoa ho sistimi. Optee e matha ka li-cores tse tšoanang tsa ARM Cortex-A53, empa ketsahalong e 'ngoe e ikemetseng e le kernel. Optee e boetse e hloka phihlello ea UART mme ntlheng ena e bolela phetoho ea aterese ea mantlha.

Sepheo file: workspace/sources/optee-os/core/arch/arm/plat-imx/conf.mk

Example tla beha aterese ea motheo ea UART ho tloha UART2 ho ea ho UART1: 

#CFG_UART_BASE ?= UART2_BASE
CFG_UART_BASE ?= UART1_BASE

Ho fetola kernel

Kernel e tla hloka feela liphetoho tse fokolang tsa sefate sa lisebelisoa, mme ha feela UART e sa fumanehe kernel hajoale. Maemong a mangata, ha ho tla hlokahala phetoho ho hang. Leha ho le joalo, ka kopo netefatsa hore na mohlala oa tty oo u batlang ho o sebelisa o teng! Sheba boteng ba tty ka taelo ea shell:

$ ls /dev/ttymxc*

Haeba ttymxc e se e fumaneha, ha ho hlokahale phetoho. Bakeng sa mohlalaample, bakeng sa UART2 sena e ka ba /dev/ttymxc1. Joalokaha re se re tseba, index ea tty e lula e le index ea UART ea 'mele ho tlosa 1. Haeba tty e hlokahalang e le sieo, ka kopo latela mokhoa o tloaelehileng oa ho kopanya UART.

Haha & Teko

Bakeng sa ho aha bocha ka mokhoa o sireletsehileng, tlhoekiso e felletseng e lokela ho sebelisoa:

$ ./bitbake -c hloekisa u-boot-imx linux-imx imx-atf optee-os

Haha setšoantšo hape ka taelo ea kamehla ea kaho, mohlalaampLe:

$ ./bitbake msc-image-base

Bakeng sa morero oa teko, adaptara ea UART e lokela ho hokeloa ho UART ea khale. Ha ho sa lokela ho ba le tlhahiso ho UART ea khale! UART e ncha e lokela ho sebetsa ka botlalo, molemong oa seo ka kopo netefatsa khokahano ka ho sebelisa khetla ea UART ea u-boot le khomphutha ea linux.

Tšehetso ea Sehlahisoa

Baenjiniere ba Avnet Embedded le litsebi li ikemiselitse ho fana ka tšehetso ho bareki ba rona neng kapa neng ha ho hlokahala. Pele o ikopanya le Tšehetso ea Tekheniki ea Avnet Embedded, ka kopo sheba maqephe a amehang ho rona website at
https://embedded.avnet.com/support/
bakeng sa litokomane tsa morao-rao, li-driver le li-software tsa downloads.

Haeba tlhahisoleseling e fanoeng moo e sa rarolle bothata ba hau, ka kopo ikopanye le sehlopha sa rona sa Avnet Embedded Technical Support ka tsela e latelang:

Lengolo-tsoibila: support.boards@avnet.eu
Mohala: +49 (0)8165 906-200

AVNET EMBEDDED Logo

Litokomane / Lisebelisoa

AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Based Computers on Module [pdf] Litaelo
MSC SM2S-IMX8M, MSC SM2S-IMX8M Debug UART Port ARM Based Computers on Module, Debug UART Port ARM Based Computers on Module, UART Port ARM Based Computers on Module, Port ARM Based Computers on Module, ARM Based Computers on Module, Based Computers ho Mojule, Likhomphutha ho Mojule, Mojule

Litšupiso

Tlohela maikutlo

Aterese ea hau ea lengolo-tsoibila e ke ke ea phatlalatsoa. Libaka tse hlokahalang li tšoailoe *