AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Chaw nres nkoj ARM Raws li Computers ntawm Module Instructions
AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Chaw nres nkoj ARM Raws li Computers ntawm Module

Ua ntej

Daim Ntawv Ceeb Toom Copyright

Copyright © 2023 Avnet Embedded GmbH. Txhua txoj cai. Kev luam tawm ntawm daim ntawv no, muab rau lwm tus thiab siv lossis kev sib txuas lus ntawm cov ntsiab lus ntawm qhov ntawd, raug txwv tsis pub muaj kev tshaj tawm los ntawm Avnet Embedded / MSC Technologies

GmbH. Cov neeg ua txhaum cai yuav tsum tau them nyiaj rau kev puas tsuaj. Tag nrho cov cai yog tshwj tseg nyob rau hauv qhov kev tshwm sim ntawm kev tso cai ntawm ib tug patent los yog sau npe ntawm ib tug qauv siv hluav taws xob los yog tsim.

Cov ntaub ntawv tseem ceeb

Cov ntaub ntawv no yog npaj rau cov neeg tuaj saib uas tsim nyog nkaus xwb. Cov khoom tau piav qhia hauv no tsis yog cov khoom siv kawg. Nws tau tsim thiab tsim rau kev ua haujlwm ntxiv los ntawm cov neeg ua haujlwm cob qhia.

Tsis lees paub

Txawm hais tias cov ntaub ntawv no tau raug tsim los nrog kev saib xyuas zoo tshaj plaws tsis muaj kev lees paub lossis kev lav phib xaub rau qhov raug lossis tsim nyog rau ib lub hom phiaj tshwj xeeb yog implied. Cov ntaub ntawv hauv daim ntawv no tau muab "raws li yog" thiab yuav hloov pauv yam tsis tau ceeb toom.

Cov cim lag luam

Tag nrho cov khoom siv npe, logos lossis cov cim lag luam yog cov cuab yeej ntawm lawv cov tswv.

Cov ntaub ntawv dav dav

Scope

Cov ntaub ntawv no siv rau tag nrho Avnet Embedded Computer-on-Modules raws li NXP i.MX8- thiab i.MX9-series CPUs, xws li eg.

  • 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

Daim ntawv teev npe no tsis tau hais kom tag nrho, tshwj xeeb tshaj yog cov boards tshiab yuav raug tso tawm uas cov txheej txheem tib yam yuav siv tau, thaum cov ntaub ntawv no tsis tas yuav hloov kho tam sim ntawd.

Hloov kho thiab hloov kho

Kev kho dua Hnub tim Saib
1.0 25.05.2023 M. Kov Thawj version

Yuav ua li cas hloov debug UART chaw nres nkoj

Taw qhia

Ntau lub tshuab ARM-raws li tuaj nrog Serial Console ua qhov tseem ceeb ntawm kev nkag mus rau kev debug thiab lub hom phiaj coj los ua. Raws li cov neeg siv khoom xav tau, nws yog qhov yuav tsum tau tshwm sim ntau zaus hauv cov kab ke uas qhov kev debug UART chaw nres nkoj yuav tsum tau hloov mus rau qhov chaw nres nkoj sib txawv. Los ntawm debug UART chaw nres nkoj peb txhais tau tias UART chaw nres nkoj uas yuav muab tag nrho U-Boot input/output, kernel bootlog output thiab kernel plhaub, pib tag nrho UART kev sib txuas lus ib tug yuav pom nyob rau hauv ib tug tsawg kawg nkaus Yocto duab. Txij li thaum lub neej ntawd UART chaw nres nkoj tsis yog siv los ntawm tsuas yog ib qho software tivthaiv, tab sis los ntawm ntau yam, suav nrog u-boot, atf-firmware, optee-os thiab kernel nws tus kheej, teeb tsa UART chaw nres nkoj yuav nyuaj, thiab dhau mus.view tuaj yeem poob sai sai. Cov ntaub ntawv no yuav piav qhia txhua kauj ruam ua raws, kom ua tiav txoj haujlwm no. Rau kev piav qhia yooj yim dua, cov ntaub ntawv no tau sau rau NXP i.MX8 MINI processor thiab mscldk, tab sis tuaj yeem siv tau rau txhua tus i.MX8- thiab i.MX9-series processors thiab lwm yam kev tsim kho nrog kev siv zog me ntsis.

Npaj ib puag ncig

Hloov pauv qhov kev debug UART chaw nres nkoj yuav xav tau kev hloov kho code hauv Yocto, thiab qhov yooj yim tshaj plaws los ua nws, yog siv Yocto devtool los npaj cov peev txheej rau peb. Nws yuav tsim nyog los hloov cov pob Yocto hauv qab no:

  • u-boot-imx (virtual/bootloader)
  • linux-imx (virtual/kernel)
  • atf imx
  • optee-os (tsuas yog siv optee)

Cov peev txheej yuav tsum tau npaj nrog devtool: 

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

Txhua qhov chaw tuaj yeem pom hauv "chaw ua haujlwm" directory.

Hloov kho code

Hloov kho lub Bootloader

Hauv bootloader qee qhov pib UART pib yuav tshwm sim, yog li nws yuav tsim nyog los hloov muxing thiab lub hauv paus chaw nyob ntawm UART chaw nres nkoj. Qhov thib ob txoj haujlwm ntawm u-boot yog kom dhau khau raj cov lus sib cav rau cov ntsiav thiab ntawm no nws yuav tsim nyog los hloov kho lub console tty sib cav. UART pib thiab muxing tshwm sim hauv qhov ntxov tshaj plawstage ntawm khau raj txheej txheem hauv SPL. Qhov chaws tuaj yeem pom hauv pawg thawj coj tshwj xeeb spl.c file.

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

Qhib lub file thiab mus rau qhov ua haujlwm init_ser0():

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

Txoj haujlwm qhib lub moos rau UART2 (index 1 rau lub cev UART 2).

Tam sim no, yog tias peb xav siv UART1 hloov, peb tuaj yeem txhais peb tus kheej init_ser1 muaj nuj nqi:

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

Hloov cov haujlwm hu ntawm init_ser0 nrog init_ser1() hauv board_early_init_f() muaj nuj nqi. Ntxiv mus, peb pom tias tus qauv ser1_pads tsis tau txhais. Ntawm no nws yuav tsim nyog kom paub txog kev xaim ntawm UART1. Ntawm imx8mm, UART1 tuaj yeem hloov mus rau uart1 ncoo, lossis sai2 ncoo. Raws li, ser1_pads yuav raug txhais raws li:

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

Los yog lwm yam, siv 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 };

Tam sim no UART lub hauv paus chaw nyob yuav tsum tau hloov kho, qhov chaw nyob yog txhais nyob rau hauv boards header config file.

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

Hloov kho lub ntsiab lus CONFIG_MXC_UART_BASE. Rau UART1 qhov no yuav yog: 

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

Thaum kawg, console kernel sib cav yuav tsum tau hloov kho. Tus nqi tuaj yeem pom nyob rau hauv tib lub header file. Nrhiav rau "console=ttymxc1…" thiab hloov "ttymxc1" rau "ttymxc0". Tus lej ntsuas cuam tshuam rau UART Performance index, thiab ib txwm UART index rho tawm 1. Yog li rau UART 2 peb siv ttymxc1, rau UART3 siv ttymxc2 thiab lwm yam.

Hloov kho ARM Trusted Firmware

Arm Trusted Firmware (imx-atf) tsis muaj tus kheej UART pib ua haujlwm li niaj zaus, txawm li cas los xij nws muaj qhov chaw nyob hardcoded UART, thiab tso siab rau qhov tsim nyog UART pib los ntawm u-boot. Ib qho chaw nyob sib txawv hauv kev teeb tsa hauv u-boot thiab imx-atf feem ntau yuav tawm ntawm lub processor daig hauv ib qho kev zam, thiab yuav tsis muaj dab tsi pom ntawm UART (CPU zoo li dai rau tsis pom qhov laj thawj). Thaum qhov chaw nres nkoj UART hloov pauv, qhov kev hloov pauv no yuav tsum tshwm sim hauv imx-atf! Hloov qhov chaw nres nkoj UART hauv imx-atf yuav tsum tau hloov chaw nyob. Tus nqi no yog teem rau hauv platform.mk file ntawm lub processor.

Hom phiaj file: workspace/sources/imx-atf/plat/imx/imx8m/imx8mm/platform.mk 

Qhov tseeb UART lub hauv paus chaw nyob tuaj yeem pom hauv phau ntawv siv imx8. Hauv no example peb hloov ntawm UART2 rau UART1 ntawm imx8mm:

# IMX_BOOT_UART_BASE ?= 0x30890000
IMX_BOOT_UART_BASE ?= 0x30860000

Hloov kho optee-os

Optee OS feem ntau yog loaded thaum CAAM module cryptography siv nyob rau hauv lub system. Optee khiav ntawm tib ARM Cortex-A53 cores, tab sis nyob rau hauv lwm yam kev ywj pheej kiag li raws li cov ntsiav. Optee kuj xav tau UART nkag mus thiab hauv qhov no nws txhais tau tias qhov chaw nyob hloov pauv.

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

Qhov no example yuav teeb UART qhov chaw nyob ntawm UART2 rau UART1: 

#CFG_UART_BASE ?= UART2_BASE
CFG_UART_BASE ?= UART1_BASE

Hloov kho Kernel

Kernel yuav xav tau qee qhov kev hloov kho tsob ntoo nkaus xwb, thiab tsuas yog UART tsis muaj nyob rau hauv kernel tseem. Feem ntau, tsis muaj kev hloov kho yuav tsum tau ua txhua. Txawm li cas los xij, thov txheeb xyuas yog tias qhov piv txwv tty koj xav siv muaj! Txheeb xyuas tty nrog lub plhaub hais kom ua:

$ ls /dev/ttymxc*

Yog tias ttymxc twb muaj lawm, tsis tas yuav hloov kho. Rau example, rau UART2 qhov no yuav yog /dev/ttymxc1. Raws li peb twb paub lawm, qhov Performance index ntawm tty ib txwm yog qhov ntsuas ntawm lub cev UART rho tawm 1. Yog tias qhov xav tau tty tsis muaj, thov ua raws li cov txheej txheem kev koom ua ke UART ib txwm.

Tsim & Xeem

Yuav kom muaj kev nyab xeeb rov tsim kho tag nrho yuav tsum tau siv:

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

Tsim cov duab dua nrog lub neej ntawd tsim cov lus txib, piv txwv liample:

$ ./bitbake msc-image-base

Txhawm rau kuaj lub hom phiaj, UART adapter yuav tsum txuas nrog UART qub. Yuav tsum tsis muaj ntau tshaj tawm ntawm UART qub! UART tshiab yuav tsum ua haujlwm tag nrho, rau qhov ntawd thov txheeb xyuas qhov kev sib txuas los ntawm kev siv u-boot UART plhaub thiab linux console.

Khoom txhawb

Avnet Embedded engineers thiab cov kws tshaj lij tau cog lus los muab kev txhawb nqa rau peb cov neeg siv khoom thaum twg xav tau. Ua ntej hu rau Technical Support ntawm Avnet Embedded, thov sab laj cov nplooj ntawv ntsig txog ntawm peb website ntawm
https://embedded.avnet.com/support/
rau cov ntaub ntawv tshiab, tsav tsheb thiab software downloads.

Yog tias cov ntaub ntawv muab nyob rau ntawd tsis daws koj qhov teeb meem, thov hu rau peb pab neeg Avnet Embedded Technical Support raws li hauv qab no:

Email: support.boards@avnet.eu
Xov tooj: +49 (0)8165 906-200

AVNET EMBEDDED Logo

Cov ntaub ntawv / Cov ntaub ntawv

AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Chaw nres nkoj ARM Raws li Computers ntawm Module [ua pdf] Cov lus qhia
MSC SM2S-IMX8M, MSC SM2S-IMX8M Debug UART Port ARM Raws Computers ntawm Module, Debug UART Port ARM Raws Computers ntawm Module, UART Port ARM Raws Computers ntawm Module, Chaw nres nkoj ARM Raws li Computers ntawm Module, ARM Raws Computers ntawm Module, Raws li Computers

Cov ntaub ntawv

Cia ib saib

Koj email chaw nyob yuav tsis raug luam tawm. Cov teb uas yuav tsum tau muaj yog cim *