AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port Komputer Berbasis ARM dina Parentah Modul
Mukadimah
Bewara Hak Cipta
Hak Cipta © 2023 Avnet Embedded GmbH. Sadaya hak disimpen. Nyalin dokumén ieu, nyadiakeun ka batur jeung pamakéan atawa komunikasi eusina, dilarang tanpa otoritas express ti Avnet Embedded /MSC Technologies
GmbH. Pelaku tanggung jawab pikeun mayar karusakan. Sadaya hak ditangtayungan upami aya hibah patén atanapi pendaptaran modél utilitas atanapi desain.
Émbaran penting
Dokuméntasi ieu dimaksudkeun pikeun pamirsa anu mumpuni wungkul. Produk anu dijelaskeun di dieu sanés produk pangguna akhir. Éta dikembangkeun sareng diproduksi pikeun ngolah salajengna ku tanaga anu dilatih.
Bantahan
Sanajan dokumén ieu geus dihasilkeun kalayan perawatan utmost euweuh jaminan atawa liability pikeun correctness atanapi suitability pikeun sagala tujuan nu tangtu tersirat. Inpormasi dina dokumén ieu disayogikeun "sapertos aya" sareng tiasa robih tanpa aya bewara.
mérek dagang
Sadaya nami produk, logo atanapi mérek dagang anu dianggo mangrupikeun milik anu gaduhna.
Inpormasi umum
Lingkup
Dokumén ieu manglaku ka sadaya Avnet Embedded Computer-on-Modules dumasar kana CPU NXP i.MX8- sareng i.MX9-seri, sapertos contona.
- 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
Daptar ieu henteu ngaku lengkep, khususna papan énggal tiasa dileupaskeun pikeun prosedur anu sami tiasa dianggo, sedengkeun dokumén ieu henteu salawasna diropéa langsung.
Révisi sarta modifikasi
Révisi | titimangsa | mairan | |
1.0 | 25.05.2023 | M. Koch | Vérsi awal |
Kumaha carana ngarobah debug port UART
Bubuka
Seueur sistem anu didasarkeun ku ARM nganggo Konsol Serial salaku sarana aksés utama pikeun tujuan debug sareng sistem mawa-up. Gumantung kana sarat customer, éta téh mangrupa kabutuhan remen kajadian dina sistem sapertos nu standar debug port UART perlu switched ka port serial béda. Ku port UART debug kami hartosna port UART nu bakal nyadiakeun sagala U-boot input / output, kaluaran bootlog kernel jeung cangkang kernel, dasarna sakabeh komunikasi UART hiji bakal ningali dina gambar Yocto minimal. Kusabab port UART standar henteu dianggo ku ngan ukur hiji komponén software, tapi ku seueur komponén, kalebet u-boot, atf-firmware, optee-os sareng kernel sorangan, netepkeun port UART standar tiasa nangtang, sareng langkung seueur.view bisa gancang leungit. Dokumén ieu bakal ngajelaskeun sagala léngkah anu kedah diturutan, pikeun ngahontal tugas ieu. Pikeun katerangan gampang, dokumen ieu ditulis pikeun NXP i.MX8 MINI processor na mscldk, tapi bisa dilarapkeun ka sadaya i.MX8- sarta prosesor runtuyan i.MX9 sarta sistem ngawangun lianna kalayan saeutik pisan usaha .
Nyiapkeun lingkungan
Ngarobah port UART debug standar ngabutuhkeun ngarobih kode dina Yocto, sareng cara anu paling gampang pikeun ngalakukeunana, nyaéta ngagunakeun Yocto devtool pikeun nyiapkeun sumber pikeun urang. Perlu ngarobih bungkusan Yocto ieu:
- u-boot-imx (virtual/bootloader)
- linux-imx (virtual/kernel)
- atf-imx
- optee-os (ngan upami optee dianggo)
Sumber kudu disiapkeun kalawan devtool:
$ ./devtool ngaropéa u-boot-imx
$ ./devtool ngaropéa linux-imx
$ ./devtool ngaropéa atf-imx
$ ./devtool ngaropéa optee-os
Sadaya sumber tiasa dipendakan dina diréktori "ruang kerja".
Ngarobah kode
Ngaropéa Bootloader
Dina bootloader sababaraha initialization UART dasar bakal kajadian, jadi eta bakal diperlukeun pikeun ngaropéa muxing jeung alamat dasar tina port UART. Tugas kadua u-boot nyaéta ngirimkeun argumen boot ka kernel sareng di dieu bakal diperyogikeun pikeun ngarobih argumen konsol tty. initialization UART na muxing lumangsung dina s pangheubeulnatage tina prosés boot di SPL. Kode sumber bisa kapanggih dina spl.c husus dewan file.
Sasaran file: workspace/sources/u-boot-imx/board/msc/sm2s_imx8mm/spl.c
Buka na file sareng arahkeun ka fungsi init_ser0():
batal statik init_ser0 (kosong)
{
imx_iomux_v3_setup_multiple_pads(ser0_pads, ARRAY_SIZE(ser0_pads)); init_uart_clk(1);
}
fungsi nu ngaktifkeun jam pikeun UART2 (indéks 1 pikeun UART fisik 2).
Ayeuna, upami urang hoyong nganggo UART1, urang tiasa nangtukeun fungsi init_ser1 urang sorangan:
batal statik init_ser1 (kosong)
{
imx_iomux_v3_setup_multiple_pads(ser1_pads, ARRAY_SIZE(ser1_pads)); init_uart_clk(0);
}
Ngaganti panggero fungsi tina init_ser0 kalawan init_ser1 () dina fungsi board_early_init_f (). Salajengna urang perhatikeun yén struktur ser1_pads henteu diartikeun. Di dieu anjeun kedah terang ngeunaan kabel UART1. Dina imx8mm, UART1 tiasa muxed kana uart1 hampang, atawa sai2 hampang. Sasuai, ser1_pads tiasa dihartikeun salaku:
statik 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
};
Atanapi, nganggo sai2:
statik 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 };
Ayeuna alamat dasar UART kedah dirobih, alamatna ditetepkeun dina konfigurasi header papan file.
Sasaran file: workspace/sources/u-boot-imx/include/configs/msc_sm2s_imx8mm.h
Robah harti CONFIG_MXC_UART_BASE. Pikeun UART1 ieu bakal kieu:
- // #define CONFIG_MXC_UART_BASE
- UART2_BASE_ADDR
- #define CONFIG_MXC_UART_BASE
- UART1_BASE_ADDR
Tungtungna, argumen kernel konsol kudu dirobah. Nilaina tiasa dipendakan dina header anu sami file. Milarian pikeun “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..
Ngaropéa ARM Dipercaya Firmware
Arm Trusted Firmware(imx-atf) teu boga rutin initialization UART sorangan, tapi boga alamat base UART hardcoded, sarta ngandelkeun initialization UART ditangtoskeun tina u-boot. Konfigurasi alamat basa anu béda dina u-boot sareng imx-atf paling dipikaresep bakal ngantepkeun prosésor macét dina panangan iwal, sareng moal aya anu katingali dina UART (CPU sigana ngagantung tanpa alesan anu katingali). Nalika port UART dirobah, parobahan ieu ogé kudu lumangsung dina imx-atf! Ngarobah port UART di imx-atf merlukeun modifikasi alamat dasar. Nilai ieu diatur dina platform.mk file tina prosésor.
Sasaran file: workspace/sources/imx-atf/plat/imx/imx8m/imx8mm/platform.mk
Alamat dasar UART anu leres tiasa dipendakan dina manual rujukan imx8. Dina ex ieuampku urang robih tina UART2 ka UART1 dina imx8mm:
# IMX_BOOT_UART_BASE ?= 0x30890000
IMX_BOOT_UART_BASE ?= 0x30860000
Ngaropéa optee-os
Optee OS biasana dimuat nalika kriptografi modul CAAM dipaké dina sistem. Optee dijalankeun dina ARM Cortex-A53 cores sarua, tapi dina conto lengkep bebas sejen salaku kernel. Optee ogé merlukeun aksés UART sarta dina hal ieu hartina modifikasi alamat dasar.
Sasaran file: workspace/sources/optee-os/core/arch/arm/plat-imx/conf.mk
Mantan ieuample bakal nyetél alamat dasar UART ti UART2 ka UART1:
#CFG_UART_BASE ?= UART2_BASE
CFG_UART_BASE ?= UART1_BASE
Ngarobah kernel
Kernel ngabutuhkeun ngan ukur sababaraha modifikasi tangkal alat, sareng ngan upami UART henteu sayogi dina kernel. Dina loba kasus, euweuh modifikasi bakal diperlukeun pisan. Nanging, punten pariksa upami conto tty anu anjeun hoyong dianggo aya! Pariksa ayana tty ku paréntah cangkang:
$ ls /dev/ttymxc*
Mun ttymxc geus sadia, euweuh modifikasi diperlukeun. Pikeun example, pikeun UART2 ieu bakal / dev / ttymxc1. Sakumaha anu geus urang terang, indéks tty sok indéks UART fisik dikurangan 1. Lamun tty diperlukeun teu sadia, mangga turutan prosedur integrasi UART biasa.
Ngawangun & Test
Pikeun ngawangun deui anu aman, ngabersihan pinuh kedah diterapkeun:
$ ./bitbake –c ngabersihan sadaya u-boot-imx linux-imx imx-atf optee-os
Ngawangun gambar deui nganggo paréntah ngawangun standar, contonaample:
$ ./bitbake msc-image-base
Pikeun tujuan nguji, adaptor UART kudu disambungkeun ka UART heubeul. Teu kudu aya deui kaluaran dina UART heubeul! UART anyar kedah sapinuhna fungsina, kanggo éta mangga pariksa sambunganna nganggo cangkang UART u-boot sareng konsol linux.
Rojongan produk
Avnet Embedded insinyur sarta technicians komitmen ka nyadiakeun rojongan ka konsumén urang iraha wae diperlukeun. Sateuacan ngahubungan Rojongan Téknis Avnet Embedded, mangga konsultasi kaca masing-masing on kami websitus di
https://embedded.avnet.com/support/
pikeun dokuméntasi panganyarna, drivers sarta undeuran software.
Upami inpormasi anu disayogikeun di dinya henteu ngarengsekeun masalah anjeun, mangga ngahubungi tim Rojongan Téknis Avnet Embedded kami sapertos kieu:
Surélék: support.boards@avnet.eu
Telepon: +49 (0)8165 906-200
Dokumén / Sumberdaya
![]() |
AVNET EMBEDDED MSC SM2S-IMX8M Debug UART Port Komputer Berbasis ARM dina Modul [pdf] Parentah MSC SM2S-IMX8M, MSC SM2S-IMX8M Debug UART Port Komputer Berbasis ARM dina Modul, Debug Komputer UART Port ARM Berbasis Modul, Komputer Berbasis ARM Port UART dina Modul, Komputer Berbasis ARM Port dina Modul, Komputer Berbasis ARM dina Modul, Komputer Berbasis on Module, Komputer on Module, Module |