AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Kọmputa dabere na ntuziaka modul.
AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Kọmputa dabere na modul.

Okwu mmalite

ọkwa nwebiisinka

Nwebiisinka © 2023 Avnet agbakwunyere GmbH. Ikike niile echekwabara. Amachibidoro iṅomi akwụkwọ a, inye ndị ọzọ na iji ma ọ bụ nzikọrịta ozi nke ọdịnaya ya, na-enweghị ikike nke Avnet Embedded /MSC Teknụzụ.

GmbH. Ndị omempụ ga-akwụ ụgwọ maka ịkwụ ụgwọ mmebi. Edebere ikike niile ma ọ bụrụ na onyinye nke patent ma ọ bụ ndebanye aha nke ụdị ọrụ ma ọ bụ imewe.

Ozi dị mkpa

Ezubere akwụkwọ a maka naanị ndị tozuru etozu. Ngwaahịa akọwara ebe a abụghị ngwaahịa onye ọrụ njedebe. Emepụtara ma rụpụta ya maka nhazi ọzọ site n'aka ndị ọrụ zụrụ azụ.

Nkwuputa

Agbanyeghi na ewepụtara akwụkwọ a nke ọma enweghị akwụkwọ ikike ma ọ bụ ụgwọ maka izi ezi ma ọ bụ dabara maka ebumnuche ọ bụla pụtara. Enyere ozi dị n'akwụkwọ a "dị ka ọ dị" ma ọ ga-agbanwe n'enweghị ọkwa.

Akara ụghalaahia

Aha ngwaahịa niile ejiri, akara ma ọ bụ ụghalaahịa bụ ihe nke ndị nwe ha.

Ozi izugbe

Oke

Akwụkwọ a na-emetụta ihe niile Avnet agbakwunyere Kọmputa-na-Modul dabere na NXP i.MX8- na i.MX9-usoro CPUs, dị ka 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

Ndepụta a anaghị ekwu na ọ ga-agwụ ike, ọkachasị ebe enwere ike wepụta bọọdụ ọhụrụ nke otu usoro ahụ nwere ike itinye maka ya, ebe enwere ike ọ gaghị emelite akwụkwọ a ozugbo.

Ndozigharị na Mgbanwe

Ndozigharị Ụbọchị Ikwu
1.0 25.05.2023 M. Koch Ụdị mbụ

Otu esi agbanwe ọdụ ụgbọ mmiri UART debug

Okwu mmalite

Ọtụtụ sistemụ dabere na ARM na-abịa na Serial Console dị ka ụzọ bụ isi nweta maka nbipu na ebulite sistemu. Dabere na ihe ndị ahịa chọrọ, ọ bụ ihe na-adịkarị mkpa na sistemu ndị dị otú ahụ na ọdụ ụgbọ mmiri UART ndabara kwesịrị ịgbanwe gaa na ọdụ ụgbọ mmiri dị iche. Site na debug UART ọdụ ụgbọ mmiri anyị pụtara UART ọdụ ụgbọ mmiri nke ga-enye niile U-Boot ntinye / mmepụta, kernel bootlog mmepụta na kernel shei, ihu ọma niile UART nkwurịta okwu otu ga-ahụ na a ntakiri Yocto oyiyi. Ebe ọ bụ na ọ bụghị naanị otu akụrụngwa ngwanrọ na-eji ọdụ ụgbọ mmiri UART ndabara, kama site na ọtụtụ akụrụngwa, gụnyere u-boot, atf-firmware, optee-os na kernel n'onwe ya, ịtọ ọdụ ụgbọ mmiri UART ndabara nwere ike bụrụ ihe ịma aka, yana ihe karịrị.view nwere ike efu ngwa ngwa. Akwụkwọ a ga-akọwa usoro niile ị ga-eso, iji nweta ọrụ a. Maka nkọwa dị mfe, e dere akwụkwọ a maka NXP i.MX8 MINI processor na mscldk, ma enwere ike itinye ya na i.MX8- na i.MX9-usoro processors na ndị ọzọ na-ewu usoro na obere mgbalị.

Na-akwado gburugburu ebe obibi

Ịgbanwe ọdụ ụgbọ mmiri UART nke ndabara ga-achọ mgbanwe koodu na Yocto, na ụzọ kachasị mfe iji mee ya bụ iji Yocto devtool iji dozie isi mmalite maka anyị. Ọ ga-adị mkpa ịgbanwe ngwungwu Yocto ndị a:

  • u-boot-imx (virtual/bootloader)
  • linux-imx (virtual/kernel)
  • atf-imx
  • optee-os (naanị ma ọ bụrụ na ejiri optee)

Ekwesịrị iji devtool kwadebe isi mmalite: 

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

Enwere ike ịchọta isi mmalite niile na ndekọ "opeepe ọrụ".

Koodu na-agbanwe agbanwe

Na-agbanwe ihe bootloader

Na bootloader ụfọdụ mmalite UART ga-eme, yabụ ọ ga-adị mkpa ịgbanwe muxing na adreesị isi nke ọdụ ụgbọ mmiri UART. Ọrụ nke abụọ nke u-boot bụ ịnyefe arụmụka buut na kernel na ebe a ọ ga-adị mkpa iji gbanwee arụmụka tty console. Mmalite UART na muxing na-eme na s mbụtage nke usoro buut na SPL. Enwere ike ịchọta koodu isi mmalite na bọọdụ kpọmkwem spl.c file.

Ebumnuche file: ebe ọrụ/sources/u-boot-imx/board/msc/sm2s_imx8mm/spl.c

Mepee file wee gaa na ọrụ init_ser0():

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

Ọrụ ahụ na-eme ka elekere rụọ ọrụ maka UART2 (index 1 maka anụ ahụ UART 2).

Ugbu a, ọ bụrụ na anyị chọrọ iji UART1 kama, anyị nwere ike kọwaa ọrụ init_ser1 nke anyị:

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

Dochie oku ọrụ nke init_ser0 na init_ser1 () na ọrụ board_early_init_f(). Ọzọkwa, anyị na-achọpụta na akọwaghị usoro ser1_pads. N'ebe a, ọ ga-adị mkpa ka ị mara nke wiring nke UART1. Na imx8mm, UART1 nwere ike tinye ya na paịlị uart1, ma ọ bụ na akwa akwa abụọ. N'ihi ya, enwere ike ịkọwa ser2_pads dị ka:

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

Ma ọ bụ ọzọ, na-eji 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 };

Ugbu a, a ga-agbanwe adreesị ntọala UART, akọwapụtara adreesị ahụ na nhazi nkụnye eji isi mee file.

Ebumnuche file: ebe ọrụ/sources/u-boot-imx/include/configs/msc_sm2s_imx8mm.h

Gbanwee nkọwapụta CONFIG_MXC_UART_BASE. Maka UART1 nke a ga-abụ: 

  • // # kọwapụta CONFIG_MXC_UART_BASE
  • UART2_BASE_ADDR
  • # kọwapụta CONFIG_MXC_UART_BASE
  • UART1_BASE_ADDR

N'ikpeazụ, a ga-agbanwe arụmụka kernel console. Enwere ike ịchọta uru ahụ n'otu nkụnye eji isi mee file. Chọọ maka “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..

Na-agbanwe Firmware ntụkwasị obi ARM

Arm Trusted Firmware(imx-atf) enweghị usoro mbido UART nke ya, mana ọ nwere adreesị ntọala UART siri ike, ma dabere na mbido UART kwesịrị ekwesị site na u-boot. Nhazi adreesị isi dị iche na u-boot na imx-atf ga-ahapụrịrị onye nrụpụta ahụ rapaara na onye na-ahụ maka ihe, ọ nweghịkwa ihe a na-ahụ anya na UART (CPU yiri ka ọ kwụgidere n'enweghị ihe a na-ahụ anya). Mgbe a gbanwere ọdụ ụgbọ mmiri UART, mgbanwe a ga-emerịrị na imx-atf! Ịgbanwe ọdụ ụgbọ mmiri UART na imx-atf chọrọ ngbanwe adreesị ntọala. Edere uru a na ikpo okwu.mk file nke processor.

Ebumnuche file: ebe ọrụ/sources/imx-atf/plat/imx/imx8m/imx8mm/platform.mk 

Enwere ike ịchọta adreesị ntọala UART ziri ezi na akwụkwọ ntuziaka imx8. Na nke a exampka anyị gbanwee site na UART2 ka UART1 na imx8mm:

# IMX_BOOT_UART_BASE ?= 0x30890000
IMX_BOOT_UART_BASE ?= 0x30860000

Na-agbanwe optee-os

A na-ebukarịkwa Optee OS mgbe ejiri cryptography modul CAAM na sistemụ. Optee na-agba n'otu cores ARM Cortex-A53, mana n'ihe atụ ọzọ nwere onwe zuru oke dị ka kernel. Optee na-achọkwa ohere UART na nke a ọ pụtara mgbanwe adreesị ntọala.

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

Nke a example ga-edozi adreesị isi UART site na UART2 ruo UART1: 

#CFG_UART_BASE ?= UART2_BASE
CFG_UART_BASE?= UART1_BASE

Ịgbanwe kernel

Kernel ga-achọ naanị mgbanwe osisi ngwaọrụ ole na ole, naanị ma ọ bụrụ na UART adịghị na kernel. N'ọtụtụ ọnọdụ, a gaghị achọ mgbanwe ọ bụla. Agbanyeghị, biko chọpụta ma ihe atụ tty nke ịchọrọ iji dị! Lelee ọnụnọ tty site na iji iwu shei:

$ls /dev/ttymxc*

Ọ bụrụ na ttymxc adịlarị, ọ nweghị mgbanwe achọrọ. Maka example, maka UART2 nke a ga-abụ /dev/ttymxc1. Dị ka anyị maralarị, index nke tty bụ mgbe niile ndepụta nke UART anụ ahụ mwepu 1. Ọ bụrụ na achọrọ tty adịghị, biko soro usoro mwekota UART na-emebu.

Mee & Nwalee

Maka mwughachi nke ọma, ekwesịrị itinye nchacha zuru oke:

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

Mepụta onyonyo a ọzọ site na iji iwu nrụpụta ndabara, maka exampLe:

$ ./bitbake msc-image-base

Maka ebumnuche nnwale, ekwesịrị ijikọ ihe nkwụnye UART na UART ochie. E kwesịghị inwe mmepụta ọzọ na UART ochie! UART ọhụrụ kwesịrị ịdị na-arụ ọrụ nke ọma, maka nke ahụ, biko chọpụta njikọ ahụ site na iji u-boot UART shei na console Linux.

Nkwado ngwaahịa

Avnet agbakwunyere injinia na ndị ọrụ nka na-agba mbọ inye ndị ahịa anyị nkwado mgbe ọ bụla achọrọ. Tupu ịkpọtụrụ Nka na ụzụ Nkwado nke Avnet Embedded, biko gakwuru ụdị ibe na anyị websaịtị na
https://embedded.avnet.com/support/
maka akwụkwọ ọhụrụ, ndị ọkwọ ụgbọala na nbudata ngwanrọ.

Ọ bụrụ na ozi enyere ebe ahụ anaghị edozi nsogbu gị, biko kpọtụrụ ndị otu Avnet Embedded Technical Support otu dị ka ndị a:

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

AVNET EMBEDED Logo

Akwụkwọ / akụrụngwa

AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port ARM Kọmputa dabere na modul. [pdf] Ntuziaka
MSC SM2S-IMX8M, MSC SM2S-IMX8M Debug UART Port ARM Kọmputa dabere na Module, Debug UART Port ARM Kọmputa na Module, UART Port ARM Kọmputa dabere na Module na modul, Kọmputa na modul, modul

Ntụaka

Hapụ ikwu

Agaghị ebipụta adreesị ozi-e gị. Akara mpaghara achọrọ akara *