AVNET EMBEDDED MSC SM2S-IMX8M Dadfygio Porthladd UART Cyfrifiaduron Seiliedig ar ARM ar Gyfarwyddiadau Modiwl
Rhagymadrodd
Hysbysiad Hawlfraint
Hawlfraint © 2023 Avnet Embedded GmbH. Cedwir pob hawl. Gwaherddir copïo'r ddogfen hon, darparu i eraill a defnyddio neu gyfathrebu ei chynnwys, heb awdurdod penodol gan Avnet Embedded /MSC Technologies
GmbH. Mae troseddwyr yn atebol i dalu iawndal. Cedwir pob hawl os rhoddir patent neu os cofrestrir model neu ddyluniad cyfleustodau.
Gwybodaeth Bwysig
Mae'r ddogfennaeth hon ar gyfer cynulleidfaoedd cymwys yn unig. Nid yw'r cynnyrch a ddisgrifir yma yn gynnyrch defnyddiwr terfynol. Fe'i datblygwyd a'i weithgynhyrchu i'w brosesu ymhellach gan bersonél hyfforddedig.
Ymwadiad
Er bod y ddogfen hon wedi'i chynhyrchu gyda'r gofal mwyaf, nid oes unrhyw warant nac atebolrwydd am gywirdeb neu addasrwydd i unrhyw ddiben penodol. Darperir y wybodaeth yn y ddogfen hon “fel y mae” a gall newid heb rybudd.
Nodau masnach
Mae pob enw cynnyrch ail-law, logos neu nod masnach yn eiddo i'w perchnogion priodol.
Gwybodaeth Gyffredinol
Cwmpas
Mae'r ddogfen hon yn berthnasol i holl Fodiwlau Cyfrifiadur-ar-Gyfres Avnet sy'n seiliedig ar CPUs cyfres NXP i.MX8- ac i.MX9, megis e.e.
- 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
Nid yw’r rhestr hon yn honni ei bod yn hollgynhwysfawr, yn enwedig gan y gallai byrddau newydd gael eu rhyddhau y gallai’r un gweithdrefnau fod yn berthnasol iddynt, tra efallai na fydd y ddogfen hon bob amser yn cael ei diweddaru ar unwaith.
Diwygiadau ac Addasiadau
Adolygu | Dyddiad | Sylw | |
1.0 | 25.05.2023 | M. Koch | Fersiwn gychwynnol |
Sut i newid porthladd dadfygio UART
Rhagymadrodd
Mae gan lawer o systemau sy'n seiliedig ar ARM Consol Cyfresol fel y prif ddull mynediad at ddibenion dadfygio a dod â system i fyny. Yn dibynnu ar ofynion cwsmeriaid, mae'n anghenraid sy'n digwydd yn aml mewn systemau o'r fath bod angen newid y porthladd dadfygio UART rhagosodedig i borth cyfresol gwahanol. Wrth ddadfygio porthladd UART golygwn y porthladd UART a fydd yn darparu'r holl fewnbwn/allbwn U-Boot, allbwn bootlog cnewyllyn a chragen cnewyllyn, yn y bôn bydd pob cyfathrebu UART un yn gweld mewn delwedd Yocto lleiaf. Gan nad yw'r porthladd UART rhagosodedig yn cael ei ddefnyddio gan un gydran meddalwedd yn unig, ond yn hytrach gan lawer o gydrannau, gan gynnwys u-boot, atf-firmware, optee-os a chnewyllyn ei hun, gall gosod y porthladd UART rhagosodedig fod yn heriol, a'r drosoddview gellir ei golli yn gyflym. Bydd y ddogfen hon yn esbonio'r holl gamau i'w dilyn er mwyn cyflawni'r dasg hon. Er mwyn cael esboniad haws, ysgrifennwyd y ddogfen hon ar gyfer prosesydd MINI NXP i.MX8 a mscldk, ond gellir ei chymhwyso i bob prosesydd cyfres i.MX8- ac i.MX9 a systemau adeiladu eraill gydag ychydig iawn o ymdrech.
Paratoi amgylchedd
Bydd newid y porthladd dadfygio UART rhagosodedig yn gofyn am addasu cod yn Yocto, a'r ffordd hawsaf o wneud hynny, yw defnyddio Yocto devtool i baratoi'r ffynonellau ar ein cyfer. Bydd angen addasu'r pecynnau Yocto canlynol:
- u-boot-imx (rhithlwythwr/cychwynnol)
- linux-imx (rhithwir/cnewyllyn)
- atf-imx
- optee-os (dim ond os defnyddir optee)
Dylid paratoi ffynonellau gyda devtool:
$ ./devtool addasu u-boot-imx
$ ./devtool addasu linux-imx
$ ./devtool addasu atf-imx
$ ./devtool addasu optee-os
Gellir dod o hyd i bob ffynhonnell yn y cyfeiriadur “lle gwaith”.
Addasu cod
Addasu'r Bootloader
Yn y cychwynnwr bydd rhywfaint o ymgychwyn UART sylfaenol yn digwydd, felly bydd angen addasu muxing a chyfeiriad sylfaenol y porthladd UART. Ail dasg u-boot yw trosglwyddo dadleuon cist i'r cnewyllyn ac yma bydd angen addasu dadl y consol tty. Mae ymgychwyn UART a muxing yn digwydd yn yr s cynharaftage o broses cychwyn yn yr SPL. Mae'r cod ffynhonnell i'w weld yn y spl.c sy'n benodol i'r bwrdd file.
Targed file: man gwaith/sources/u-boot-imx/board/msc/sm2s_imx8mm/spl.c
Agorwch y file a llywio i'r swyddogaeth init_ser0():
gwagle statig init_ser0(gwag)
{
imx_iomux_v3_setup_multiple_pads(ser0_pads, ARRAY_SIZE(ser0_pads)); init_uart_clk(1);
}
Mae'r swyddogaeth yn actifadu'r cloc ar gyfer UART2(mynegai 1 ar gyfer UART corfforol 2).
Nawr, os ydym am ddefnyddio UART1 yn lle hynny, gallem ddiffinio ein swyddogaeth init_ser1 ein hunain:
gwagle statig init_ser1(gwag)
{
imx_iomux_v3_setup_multiple_pads(ser1_pads, ARRAY_SIZE(ser1_pads)); init_uart_clk(0);
}
Disodli galwad ffwythiant init_ser0 gyda init_ser1() yn y ffwythiant board_early_init_f(). Ymhellach rydym yn sylwi nad yw strwythur ser1_pads wedi'i ddiffinio. Yma bydd angen bod yn ymwybodol o wifrau UART1. Ar imx8mm, gellir muxed UART1 i badiau uart1, neu i badiau sai2. Yn unol â hynny, gellir diffinio ser1_pads fel:
iomux_v3_cfg_t statig const ser1_pads[] = {
IMX8MM_PAD_UART1_RXD_UART1_RX | DEFAULT_UART_PAD_CTRL, IMX8MM_PAD_UART1_TXD_UART1_TX | DEFAULT_UART_PAD_CTRL, NULL
};
Neu fel arall, gan ddefnyddio sai2:
iomux_v3_cfg_t statig const ser1_pads[] = {
IMX8MM_PAD_SAI2_RXFS_UART1_TX | DEFAULT_UART_PAD_CTRL, IMX8MM_PAD_SAI2_RXC_UART1_RX | DEFAULT_UART_PAD_CTRL NULL } ;
Nawr dylid addasu'r cyfeiriad sylfaen UART, mae'r cyfeiriad wedi'i ddiffinio yn config header byrddau file.
Targed file: man gwaith/sources/u-boot-imx/include/configs/msc_sm2s_imx8mm.h
Addasu'r diffiniad CONFIG_MXC_UART_BASE. Ar gyfer UART1 byddai hyn fel a ganlyn:
- // #define CONFIG_MXC_UART_BASE
- UART2_BASE_ADDR
- #define CONFIG_MXC_UART_BASE
- UART1_BASE_ADDR
Yn olaf, dylid addasu dadl cnewyllyn y consol. Mae'r gwerth i'w weld yn yr un pennawd file. Chwiliwch am “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..
Addasu'r Firmware ARM Trust
Nid oes gan Arm Trusted Firmware (imx-atf) unrhyw drefn gychwynnol UART ei hun, fodd bynnag mae ganddo gyfeiriad sylfaen UART cod caled, ac mae'n dibynnu ar gychwyn UART yn iawn o u-boot. Mae'n debyg y bydd cyfluniad cyfeiriad sylfaen gwahanol yn u-boot ac imx-atf yn gadael y prosesydd yn sownd mewn triniwr eithriad, ac ni fydd unrhyw beth yn weladwy ar UART (mae'n ymddangos bod y CPU yn hongian am ddim rheswm gweladwy). Pan fydd y porthladd UART yn cael ei newid, rhaid i'r newid hwn hefyd ddigwydd yn imx-atf! Mae newid y porthladd UART yn imx-atf yn gofyn am addasiad cyfeiriad sylfaen. Mae'r gwerth hwn wedi'i osod yn y platform.mk file o'r prosesydd.
Targed file: man gwaith/ffynonellau/imx-atf/plat/imx/imx8m/imx8mm/platform.mk
Mae'r cyfeiriad sylfaen UART cywir i'w weld yn y llawlyfr cyfeirio imx8. Yn y cynampRydym yn newid o UART2 i UART1 ar imx8mm:
# IMX_BOOT_UART_BASE ?= 0x30890000
IMX_BOOT_UART_BASE ?= 0x30860000
Addasu optee-os
Mae Optee OS fel arfer yn cael ei lwytho pan ddefnyddir cryptograffeg modiwl CAAM ar y system. Mae Optee yn rhedeg ar yr un creiddiau ARM Cortex-A53, ond mewn achos cwbl annibynnol arall â'r cnewyllyn. Mae Optee hefyd angen mynediad UART ac yn yr achos hwn mae'n golygu addasiad cyfeiriad sylfaen.
Targed file: man gwaith/sources/optee-os/core/arch/arm/plat-imx/conf.mk
Mae'r cynampBydd yn gosod cyfeiriad sylfaenol UART o UART2 i UART1:
#CFG_UART_BASE ?= UART2_BASE
CFG_UART_BASE ?= UART1_BASE
Addasu'r Cnewyllyn
Dim ond ychydig o addasiadau coed dyfais fydd eu hangen ar gnewyllyn, a dim ond os nad yw'r UART ar gael yn y cnewyllyn eto. Mewn llawer o achosion, ni fydd angen unrhyw addasiad o gwbl. Fodd bynnag, gwiriwch a yw'r enghraifft tty rydych chi am ei defnyddio yn bodoli! Gwiriwch y presenoldeb tty gyda gorchymyn cragen:
$ls /dev/ttymxc*
Os yw'r ttymxc ar gael eisoes, nid oes angen unrhyw addasiad. Am gynample, ar gyfer UART2 byddai hyn yn /dev/ttymxc1. Fel y gwyddom eisoes, mae'r mynegai tty bob amser yn fynegai'r UART corfforol minws 1. Os nad yw'r tty gofynnol ar gael, dilynwch y weithdrefn integreiddio UART arferol.
Adeiladu a Phrofi
Ar gyfer ailadeiladu diogel, dylid glanhau'n llawn:
$ ./bitbake –c cleanall u-boot-imx linux-imx imx-atf optee-os
Adeiladwch y ddelwedd eto gyda'r gorchymyn adeiladu diofyn, ar gyfer example:
$ ./bitbake msc-image-base
At ddibenion profi, dylid cysylltu addasydd UART â'r hen UART. Ni ddylai fod mwy o allbwn ar yr hen UART! Dylai'r UART newydd fod yn gwbl weithredol, ar gyfer hynny gwiriwch y cysylltiad trwy ddefnyddio'r cragen u-boot UART a'r consol linux.
Cymorth Cynnyrch
Mae peirianwyr a thechnegwyr Avnet Embedded wedi ymrwymo i ddarparu cefnogaeth i'n cwsmeriaid pryd bynnag y bo angen. Cyn cysylltu â Chymorth Technegol Avnet Embedded, edrychwch ar y tudalennau priodol ar ein websafle yn
https://embedded.avnet.com/support/
ar gyfer y ddogfennaeth, gyrwyr a lawrlwytho meddalwedd diweddaraf.
Os nad yw'r wybodaeth a ddarperir yno yn datrys eich problem, cysylltwch â'n tîm Cymorth Technegol Embedded Avnet fel a ganlyn:
E-bost: cymorth.fyrddau@avnet.eu
Ffôn: +49 (0)8165 906-200
Dogfennau / Adnoddau
![]() |
AVNET EMBEDDED MSC SM2S-IMX8M Dadfygio Porthladd UART Cyfrifiaduron Seiliedig ar ARM ar Fodiwl [pdfCyfarwyddiadau MSC SM2S-IMX8M, MSC SM2S-IMX8M Dadfygio Porthladd UART Cyfrifiaduron Seiliedig ar Modiwl ARM, Dadfygio UART Port Cyfrifiaduron Seiliedig ar ARM ar Fodiwl, Porthladd UART Cyfrifiaduron Seiliedig ar ARM ar Fodiwl, Cyfrifiaduron Seiliedig ar Fodwl ARM Porthladd, Cyfrifiaduron Seiliedig ar Fodiwl ARM, Cyfrifiaduron Seiliedig ar Fodiwl, Cyfrifiaduron Seiliedig ar Fodiwl, Cyfrifiaduron ar Fodiwl |