د NXP AN14093 فاسټ بوټ فالکن موډ کرنل کارن لارښود
NXP AN14093 فاسټ بوټ فالکن موډ کرنل

پیژندنه

دا سند لارښوونه کوي چې څنګه د بوټ وخت کم کړي:

  • i.MX 8M کورنۍ (i.MX 8M Mini LPDDR4 EVK، i.MX 8M نانو LPDDR4 EVK، او i.MX 8M پلس LPDDR4 EVK)
  • i.MX 9 کورنۍ (i.MX 93 LPDDR4 EVK) د دې سند موخې په لاندې ډول دي:
  • د بوټلوډر اصلاح کول
  • د لینکس کرنل او د کارونکي ځای اصلاح کول
  • په ټولو پلیټ فارمونو کې د ډیفالټ او پرمختللي بوټ وخت ترمینځ پرتله کول

د سافټویر چاپیریال

یو اوبنټو 20.04 کمپیوټر فرض شوی. د لینکس بورډ ملاتړ کڅوړه (BSP) خوشې کول 6.1.22_2.0.0 د اصلاح کولو پروسې کې کارول کیږي.

لاندې مخکې جوړ شوي انځورونه کارول کیږي:

  • i.MX 8M مینی: imx-image-full-imx8mmevk.wic
  • i.MX 8M نانو: imx-image-full-imx8mnevk.wic
  • i.MX 8M Plus: imx-image-full-imx8mpevk.wic
  • i.MX 93: imx-image-full-imx93evk.wic

د لاندې کمانډ په کارولو سره په SD کارت کې دمخه جوړ شوی عکس ولیکئ:
$ sudo dd if=.wic of=/dev/sd bs=1M status=progress conv=fsync

نوټ: د خپل کارت لوستونکي برخه وګورئ او د خپل اړونده برخې سره SD بدل کړئ.

د هارډویر تنظیم او تجهیزات

  • پراختیا کټ NXP i.MX 8MM EVK LPDDR4
  • پراختیا کټ NXP i.MX 8MN EVK LPDDR4
  • پراختیا کټ NXP i.MX 8MP EVK LPDDR4
  • پراختیا کټ NXP i.MX 93 EVK د 11×11 mm LPDDR4 لپاره
  • مایکرو ایس ډی کارت: د سان ډیسک الټرا 32 جی بی مایکرو خوندي ډیجیټل لوړ ظرفیت (SDHC) I ټولګي 10 د دې لپاره کارول شوی و.
    اوسنۍ تجربه
  • د ډیبګ پورټ لپاره مایکرو USB (i.MX 8M) یا Type-C (i.MX 93) کیبل

عمومي توضیحات

دا برخه یو اوور تشریح کويview د لنډو بوټو وختونو د ترلاسه کولو لپاره د عادي بدلونونو څخه.

د بوټلوډر وخت کم کړئ
تاسو کولی شئ د بوټلوډر وخت کمولو لپاره لاندې دوه لارو څخه یوه غوره کړئ.

  • د بوټ ځنډ لرې کړئ - د ډیفالټ ترتیب په پرتله شاوخوا دوه ثانیې خوندي کوي پداسې حال کې چې لږترلږه بدلونونو ته اړتیا لري. دا د U-Booټ لامل کیږي چې د کیپریس s لپاره انتظار پریږديtage د بوټ پر مهال.
  • د Falcon حالت پلي کړئ - د ډیفالټ ترتیب په پرتله شاوخوا څلور ثانیې خوندي کوي. دا د دویم برنامه لوډر (SPL) ته وړتیا ورکوي، د U-Bot یوه برخه په مستقیم ډول د کرنل بار کولو لپاره، بشپړ U-Boot پریږدي.

د لینکس کرنل بوټ وخت کم کړئ

  • د کنسول پیغامونه کم کړئ - شاوخوا درې ثانیې خوندي کوي. د کرنل کمانډ لاین ته خاموش اضافه کړئ.
  • د ډرایورانو په لرې کولو سره دانه ټیټ کړئ او fileسیسټمونه - د ډیفالټ په واسطه، د کرنل عکس ډیری ډریورونه لري او fileسیسټمونه (مثال: UBIFS) ترڅو د بورډ لپاره ملاتړ شوي ډیری فعالیت فعال کړي. د شامل چلوونکو لیست او fileسیسټمونه ستاسو د کارونې قضیې سره سم تنظیم کیدی شي.

د کارونکي ځای بوټ وخت کم کړئ

  • د پیل کولو سیسټمډ سکریپټونو کې د چلولو ترتیب بدل کړئ - شاوخوا 600 ms خوندي کوي. څومره ژر چې امکان ولري مطلوب پروسه پیل کړئ، د هغې د انحصار په پام کې نیولو سره

اندازه کول

د اندازه کولو ساحه د بورډ POR (Power-on Reset) او د INIT پروسې پیل ترمنځ ده.

د لاندې اندازه کولو لپاره کارول شوي ترتیب د بوټ وخت اندازه کولو میتودولوژي سند کې تشریح شوی.

جدول 1. اندازه شوي وقفې

د وخت ټکی د دالونو تر منځ وقفه د نبض موقعیت بوټ stages
بوټروم nRST -> مخکې له ddr_init() تخته/آزاده/ /spl.c/board_init_ f() SPL U-بوټ
د DDR پیل کول مخکې ddr_init() -> وروسته ddr_init() تخته/آزاده/ /spl.c/board_init_ f()
د SPL پیل کول + د U-بوټ عکس پورته کړئ د ddr_init () څخه وروسته -> مخکې له انځور څخه ننوتل () common/spl/spl.c/jump_to_image_no_ args()
د U-بوټ پیل (init_sequence_f) مخکې د انځور_داخله () -> پیل پیل_ ترتیب_ r common/board_r.c/board_init_r() U-BOOT
د U-بوټ پیل (init_sequence_r) پیل init_sequence_r -> u-boot main_loop common/main.c
د بوټ ترتیب u-boot main_loop -> مخکې له دې load_image شامل / تشکیلات / .ه
د کرنل عکس بار د load_image څخه مخکې -> د load_image وروسته شامل / تشکیلات / .ه
د INIT پروسې پورې د کرنل بوټ د load_image وروسته -> /sbin/init وخت ترلاسه کړئamp د کرنل بوټ پرمهال کرنل

شرطونه

په دې برخه کې، هغه سافټویر چې په یو واحد چاپیریال کې د U-Bot او لینکس کرنل د راټولولو لپاره اړین دی تشریح شوی.

  • اړین انحصارونه نصب کړئ

د دې لارښود لپاره د ARM64 کراس کمپیلر په ګډون د انحصارونو لړۍ اړینه ده.
$ sudo apt install flex bison libssl-dev gcc-aarch64-linux-gnu u-boot-tools libncurses5-dev libncursesw5-dev uuid-dev gnutls-dev

بیا، اړین سرچینې ډاونلوډ کړئ. دا ټول په ورته لارښود کې ځای په ځای کړئ.

  • imx-mkimage ډاونلوډ کړئ

مکی امیج یوه وسیله ده، کوم چې د SPL، U-Boot مناسب، ATF، او DDR فرم ویئر په یو واحد عکس کې سره یوځای کوي، چې په پایله کې د U-Bot انځور په SD کارت کې فلش کیږي.

$ git کلون https://github.com/nxp-imx/imx-mkimage
$ cd imx-mkimage
$ git checkout lf-6.1.22-2.0.0

  • ATF ډاونلوډ کړئ

$ git کلون https://github.com/nxp-imx/imx-atf
$ cd imx-atf
$ git checkout lf-6.1.22-2.0.0

  • U-Bot ډاونلوډ کړئ

$ git کلون https://github.com/nxp-imx/uboot-imx
$ cd uboot-imx
$ git checkout lf-6.1.22-2.0.0

  • د لینکس کرنل ډاونلوډ کړئ

$ git کلون https://github.com/nxp-imx/linux-imx
$ cd linux-imx
$ git checkout lf-6.1.22-2.0.0

  • د ډبل ډیټا نرخ (DDR) فرم ویئر ډاونلوډ کړئ

$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.20.bin
$ chmod +x firmware-imx-8.20.bin
$./firmware-imx-8.20.bin

  • [یوازې د i.MX 93 لپاره] د EdgeLock Secure Enclave (ELE) فرم ویئر ډاونلوډ کړئ

$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-sentinel-0.9.bin
$ chmod +x firmware-sentinel-0.9.bin
$./firmware-sentinel-0.9.bin

انځورونه جوړ کړئ

په اختیاري توګه، د دې لپاره چې وګورئ سرچینې او شرایط په سمه توګه ډاونلوډ شوي، لاندې مرحلې اجرا کړئ. که نه نو، د اوس لپاره پریږدئ او پلي کړئ برخه 7 "د بوټلوډر اصلاح کول" او 8 برخه "د کرنل ځای اصلاح کول".

د آرم باوري فرم ویئر جوړ کړئ

$ CROSS_COMPILE=aarch64-linux-gnu- make PLAT= bl31 چیرته کولی شي لاندې ارزښتونه ولري: imx8mn، imx8mm، imx8mp، یا imx93.
تولید شوی بائنری په جوړونه// ریلیز/ ډایرکټر کې موقعیت لري.

یو بوټ جوړ کړئ

  1.  bl31.bin له ATF (build//release/) څخه imx-mkimage// ته کاپي کړئ
  2. ټول lpddr4 کاپي کړئ* fileد فرم ویئر/ddr/synopsys/ څخه د firmware-imx کڅوړې څخه imxmkimage// ته.
  3. [یوازې د i.MX 93 لپاره] د فرم ویئر-سینټینل د ELE فرم ویئر کانټینر mx93a0-ahab-container.img عکس imx-mkimage/iMX9/ ته کاپي کړئ.
  4. U-Bot کمپل کړئ.
    $ cd uboot-imx $ جوړ کړئ distclean
    $ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- make
    $ CROSS_COMPILE=aarch64-linux-gnu- make -j
    $(nproc-ټول)
    د Falcon ملاتړ پرته د U-Bot جوړولو لپاره (د ډیفالټ بوټ حالت چیک کولو لپاره چې هرڅه ترکیب کوي) ، لاندې وکاروئ.
    1. imx8mm_evk_defconfig لپاره i.MX 8MM
    2. imx8mn_evk_defconfig لپاره i.MX 8MN
    3. imx8mp_evk_defconfig لپاره i.MX 8MP
    4. imx93_11x11_evk_defconfig د i.MX 93 لپاره د Falcon حالت لپاره، دا دی (دا defconfig وکاروئ file یوازې د 7.3 برخې "Falcon mode تطبیق" وروسته).
    5. imx8mm_evk_falcon_defconfig لپاره i.MX 8MM
    6. imx8mn_evk_falcon_defconfig لپاره i.MX 8MN
    7. imx8mp_evk_falcon_defconfig لپاره i.MX 8MP
    8. imx93_11x11_evk_falcon_defconfig د i.MX 93 لپاره
  5. u-boot*.bin او spl/u-boot-spl*.bin په imx-mkimage// کې کاپي کړئ.
  6. imx8mm-evk.dtb (د i.MX 8M Mini LPDDR4 EVK لپاره) یا imx8mn-evk.dtb (د i.MX 8M نانو LPDDR4 EVK لپاره) یا imx8mp-evk.dtb (د i.MX 8M پلس LPDDR4 EVK لپاره) یا imx93 کاپي کړئ -11×11-evk.dtb د (i.MX 93 11×11 LPDDR4 EVK) لپاره له uboot-imx/arch/arm/dts/ څخه imx-mkimage// ته.
  7. mkimage له uboot-imx/tools/ څخه په imx-mkimage// کې کاپي کړئ، په mkimage_uboot کې نوم بدل کړئ.
    $ cp uboot-imx/tools/mkimage imx-mkimage//mkimage_uboot
  8. د U-Bot بشپړ انځور جوړ کړئ: flash.bin
    $ cd imx-mkimage # د i.MX 8M لپاره*
    $ جوړ کړئ SOC= flash_evk # د i.MX 93 لپاره
    $ جوړ کړئ SOC=iMX9 flash_singleboot
    چیرته کولی شي لاندې ارزښتونه واخلي: iMX8MM، iMX8MN، iMX8MP.

د لینکس کرنل جوړ کړئ

$ cd linux-imx
$ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- imx_v8_defconfig جوړ کړئ
$ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make -j $(nproc –all) ټول

پایله لرونکی بائنری عکس په آرچ / آرم 64 / بوټ لارښود کې موقعیت لري.

بائنریونه په SD کارت کې ولیکئ

د دې لپاره چې وګورئ چې جوړښت سم دی، په SD کارت کې پایله شوي بائنری ولیکئ او بورډ بوټ کړئ.

  • د U-Bot انځور ولیکئ:
    $ sudo dd if=flash.bin of=/dev/sd bs=1k seek= conv=fsync
    چیرې دی:
  • 32 – د i.MX 8M نانو، i.MX 8M Plus او i.MX 93 لپاره
  • 33 - د i.MX 8M مینی لپاره
  • د لینکس کرنل ولیکئ:
    $ sudo mount /dev/sd1 /mnt
    $ cp انځور / mnt
    $ umount /mnt

د بوټلوډر اصلاح کول

پدې فصل کې لاندې معلومات شامل دي.

  • برخه 7.1 "د ډیفالټ بوټ حالت"
  • برخه 7.2 "فالکن حالت"
  • برخه 7.3 "د فالکن حالت پلي کول"
  • برخه 7.4 "د حافظې نقشه"
  • برخه 7.5 "د فالکن حالت په جریان کې فنکشن زنګونه"

د ډیفالټ بوټ حالت

شکل 1 د ډیفالټ بوټ ترتیب بیانوي. د بریښنا له فعالولو یا بیا تنظیم کولو وروسته، i.MX 8M د بوټ ROM (لومړني برنامه لوډر) اجرا کوي، په خپل یوازې د لوستلو حافظه (ROM) کې زیرمه کیږي.

بوټ ROM د سیسټم پر چپ (SoC) د بنسټیز پیریفیریل ابتکارونو لکه د فیز لاک شوي لوپس (PLLs)، د ساعت ترتیبونه، د حافظې ابتکار (SRAM) په ترسره کولو سره تنظیموي. بیا دا د بوټ وسیله ومومي چیرې چې دا د بوټلوډر عکس پورته کوي ، کوم چې لاندې برخې پکې شامل کیدی شي: U-Boot SPL، ATF، U-Boot، او داسې نور.
د ډیفالټ بوټ حالت
یو عادي U-Bot عکس د داخلي SRAM دننه نه فټ کیږي او له همدې امله په دوه برخو ویشل شوی: د ثانوي پروګرام لوډر (SPL) او U-Bot مناسب.

SPL لومړی s دیtage د بوټلوډر څخه، یو کوچنی پری لوډ شوی چې سرچینې د U-Boot په توګه شریکوي، مګر د لږترلږه کوډ سره چې په SRAM کې فټ کیږي. SPL په SRAM کې بار شوی. دا ځینې پیری فیرلز تنظیم او پیل کوي او خورا مهم ، متحرک تصادفي لاسرسي حافظه (DRAM). وروسته، دا په DRAM کې ATF او U-Bot په مناسب ډول باروي. وروستی ګام دا دی چې ATF ته لاړ شي، کوم چې به په پایله کې U-Boot ته لاړ شي.

آرم ټرسټډ فرم ویئر (ATF) په دې وروستیو کې د i.MX8* کورنۍ کې شامل شوي، د Armv8 معمارۍ لپاره د حوالې باوري کوډ اساس چمتو کوي. دا د آرم انٹرفیس مختلف معیارونه پلي کوي ، پشمول د بریښنا ریاست همغږۍ انٹرفیس (PSCI). بائنری عموما د بوټلوډر بائنری کې شامل دی. دا په لومړیو کې پیل کیږيtagد U-Boot es. د ATF پرته، کرنل نشي کولی خدمتونه تنظیم کړي، کوم چې باید د خوندي نړۍ چاپیریال کې اجرا شي.

U-بوټ مناسب دوهم دیtage بوټلوډر. دا د لینکس کرنل بارولو او پیل کولو لپاره انعطاف وړ لاره وړاندې کوي. همچنان ، دا د کمانډ لاین انٹرفیس له لارې په بورډ کې د هارډویر سره متقابل عمل کولو لپاره لږترلږه وسیلې چمتو کوي. دا د DRAM څخه تیریږي او اضافي هارډویر وسیلې پیل کوي. د مثال لپارهample، شبکه، USB، او DSI/CSI. بیا، دا د وسیله ونې (FDT) باروي او چمتو کوي. اصلي دنده چې د U-Bot لخوا اداره کیږي پخپله د کرنل عکس پورته کول او پیل کول دي.

د لینوکس کرنل د DRAM څخه تیریږي او سیسټم په بشپړ ډول اخلي. U-Bot له دې مودې څخه نور په سیسټم باندې کنټرول نلري.

Falcon حالت
Falcon mode په U-Boot کې یوه ځانګړتیا ده چې SPL ته اجازه ورکوي چې د لینکس کرنل پیل کړي.
دا په بشپړ ډول د U-Boot بار کول او پیل کول پریږدي ، د بوټلوډر کې د مصرف شوي وخت کمولو اغیزې سره.

شکل 2 د Falcon حالت د بوټ کولو ترتیب روښانه کوي.
Falcon حالت

د دې حالت پلي کولو لپاره، لاندې کړنې ترسره کړئ:

  • د Falcon لپاره ځینې ځانګړي تشکیلات فعال کړئ.
  • د فلټ شوي وسیلې ونې (FDT) مخکې له مخکې چمتو کړئ.
  • ATF تنظیم کړئ ترڅو کرنل ته لاړ شي.
  • د کرنل فلیټ شوي عکس ونې (FIT) عکس چې ATF او د کرنل عکس لري رامینځته کړئ.

د Falcon حالت تطبیق

د پلي کولو اسانتیا لپاره، د Falcon حالت فعالولو لپاره د پیچونو لړۍ چمتو شوي.
د پیچونو ترلاسه کولو لپاره اړوند سافټویر AN14093SW.zip ډاونلوډ کړئ، او لاندې مرحلې ترسره کړئ.

د U-Bot پیچ پلي کړئ:
$ cd uboot-imx
$ git am 0001-Enable-Fast-Boot-on-i.MX-8M-Family-and-i.MX-93.patch

دا پیچ د Falcon ترتیب رامینځته کوي files د هر پلیټ فارم لپاره (i.MX 8M او i.MX 93)، کوم چې په uboot-imx/configs/ لارښود کې موندل کیدی شي، د نوم لاندې: _falcon_ defconfig. تشکیلات files د ډیفالټ _defconfig پراساس دي ، کوم چې د Falcon ملاتړ په لاندې ډول اضافه شوی.

فعال شوي پیرامیټونه [=y]

  • CONFIG_SPL_SERIAL
  • CONFIG_CMD_SPL - په U-Bot کې د spl صادراتو کمانډ فعالوي؛ د 15 مرحلې لپاره اړین دی.
  • CONFIG_SPL_MMC — د SPL MMC API په کارولو سره د MMC څخه لوستلو لپاره SPL وړوي.
  • CONFIG_MMC_BROKEN_CD [یوازې د i.MX 93 لپاره]
  • CONFIG_SPL_FS_FAT - SPL ته وړتیا ورکوي چې د FAT برخې څخه لوستل شي.
  • CONFIG_SPL_LOAD_FIT
  • CONFIG_FIT
  • CONFIG_SPL_OS_BOOT — د Falcon حالت فعالوي.
  • CONFIG_ SPL_MMC_IO_VOLTAGE او CONFIG_SPL_MMC_UHS_SUPPORT — د SPL لپاره د MMC لوړ سرعت لیږد فعال کړئ، د کرنل عکس لپاره د بارولو وخت کمولو لپاره کارول کیږي (* د i.MX 8MM لپاره کار نه کوي
    ځکه چې SPL DM د OCRAM اندازې محدودیت له امله نه ملاتړ کیږي).
  • CONFIG_LTO [یوازې د i.MX 8MN لپاره] - د لینک وخت اصلاح کولو اضافه کولو سره د بائنری اندازه کموي. په i.MX 8M نانو کې اړین دی ترڅو ډاډ ترلاسه شي چې د SPL عکس د FAT ملاتړ سره مناسب دی.
    غیر فعال پیرامیټر [=n]
    CONFIG_SPL_BOOTROM_SUPPORT
    پیرامیټونه تنظیم کړئ
    CONFIG_SYS_SPL_ARGS_ADDR
    سره:
  • 0x43000000 د i.MX 8MN، i.MX 8MM او i.MX 8MP لپاره
  • 0x83000000 د i.MX 93 لپاره
    CONFIG_SPL_FS_LOAD_PAYLOAD_NAME د u-boot.itb سره
    CONFIG_SPL_FS_LOAD_KERNEL_NAME د Image.itb سره
    CONFIG_SPL_FS_LOAD_ARGS_NAME سره:
  • imx8mm-evk-falcon.dtb د i.MX 8MM لپاره
  • imx8mn-evk-falcon.dtb د i.MX 8MN لپاره
  • imx8mp-evk-falcon.dtb د i.MX 8MP لپاره
  • imx93-11×11-evk-falcon.dtb د i.MX 93 لپاره
    CONFIG_CMD_SPL_WRITE_SIZE سره 0xC000
    CONFIG_FIT_EXTERNAL_OFFSET=0x3000 [یوازې د i.MX 93 لپاره]
    سربیره پردې، پیچ د spl_start_uboot() فنکشن پلي کوي، چې په uboot-imx/board/ freescale//spl.c کې موقعیت لري، چیرته چې دی: imx8mm_evk، imx8mn_evk، imx8mp_evk یا imx93_evk. دا فنکشن چک کوي چې آیا SPL باید کرنل یا U-Bot پیل کړي. که د 'c' کیلي د بوټ پر مهال فشار راوړل شي، فنکشن 1 بیرته راګرځي، پدې معنی چې U-Boot باید پیل شي. که نه نو، SPL باید کرنل پیل کړي. د دې لپاره چې دا په عملیاتي حالت کې راوړي چیرې چې ایترنیټ MAC کولی شي د PHY سره اړیکه ونیسي، PHY باید د SPL څخه د i.MX 8M کورنۍ لپاره بیا تنظیم شي. دا هم اضافه کیږي کله چې د U-Bot پیچ پلي کول. PHY په board_init_r() فنکشن کې بیا تنظیم شوی، چې په uboot-imx/common/spl/spl.c کې موقعیت لري file.

د ATF پیچ پلي کړئ:
$ cd imx-atf
$ git am 0001-Add-support-to-jump-to-Kernel-directly-from-ATF.patch
پیچ مستقیم دانی ته د کود کولو لپاره ملاتړ اضافه کوي. څرنګه چې ATF د NXP پلیټ فارمونو کې مستقیم کرنل ته د کود کولو ملاتړ نه کوي، د FDT پته باید د دلیل په توګه انتقال شي، په bl31_early_platform_setup2() فنکشن کې، په imx-atf/plat/imx/imx8m// _bl31_setup.c کې د i.MX8M لپاره کورنۍ او imx-atf/plat/imx/imx93/imx93_bl31_setup.c د i.MX93 لپاره.

د mkimage پیچ پلي کړئ:

$ cd imx-mkimage
$ git am 0001-Add-scripts-for-Fast-Boot-applementation-for-i.MX8M-.patch

دا پیچ د U-Boot FIT عکس سرچینې (u-boot.its) uboot-1 نوډ ته د "os" ملکیت اضافه کوي. دا ملکیت د U-Boot بار کولو پرمهال اړین دی (هغه قضیه کله چې spl_start_uboot() 1 بیرته راګرځي) پداسې حال کې چې فالکن حالت فعال دی. که نه نو، U-Bot په بوټ کولو کې پاتې راغلی.
برسېره پردې، پیچ سکریپټ اضافه کوي، کوم چې د I.MX 93 لپاره د U-Boot FIT انځور تولیدوي (ځکه چې پدې نسخه کې شتون نلري): imx-mkimage/iMX9/mkimage_fit_atf.sh.
د دې پیچ لخوا اضافه شوی دوهم سکریپټ هغه دی چې د کرنل FIT عکس (ATF + kernel) رامینځته کولو لپاره کارول کیږي - د فالکن حالت پلي کولو لپاره اړین دی. دا سکریپټ د i.MX 8M کورنۍ او i.MX 93 دواړو لپاره کارول کیږي.

  1. ATF جوړ کړئ لکه څنګه چې ویل شوي برخه 5.1. د تعدیل شوي ATF بائنری په imx-mkimage// کې کاپي کړئ.
  2. د بوټلوډر عکس جوړ کړئ لکه څنګه چې په 5.2 برخه کې ویل شوي - فالکن حالت. د 6 برخې مطابق د U-Boot بائنری پایله ولیکئ.
  3. [یوازې د i.MX93 لپاره] د U-Boot FIT انځور جوړ کړئ. کله چې د flash.bin انځور جوړ کړئ، د u-boot.itb FIT انځور د i.MX93 لپاره په اتوماتيک ډول نه جوړیږي، ځکه چې هیڅ سکریپټ شتون نلري چې دا تولیدوي.
    $cd imx-mkimage/iMX9
    $DEK_BLOB_LOAD_ADDR=0x80400000 TEE_LOAD_ADDR=0x96000000
    ATF_LOAD_ADDR=0x204e0000 ./mkimage_fit_atf.sh imx93-11×11-evk.dtb > u-boot.its
    $./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb
  4. د u-boot.itb بائنری کاپي کړئ چې د SD کارت په لومړي (FAT) برخه کې په imx-mkimage/ کې موقعیت لري.
  5. د لینکس کرنل جوړولو دمخه ، تاسو ممکن د 8.2 برخې سره سم دا غوره کړئ "غیر ضروري ډرایورونه لرې کړئ او file سیسټمونه ". د لینکس کرنل د 5.3 برخې سره سم جوړ کړئ "د لینکس کرنل جوړ کړئ".
  6. د کرنل FIT انځور جوړ کړئ. د FIT عکس د ATF او د کرنل عکس لري. دا د SPL لخوا د Falcon حالت په جریان کې بار شوی. څرنګه چې SPL د ATF عکس په Falcon حالت کې نه پورته کوي، ATF باید د FIT عکس کې شامل شي.
    د FIT انځور (Image.itb) چمتو کولو لپاره، د mkimage_fit_atf_kernel.sh سکریپټ کارول کیږي. د کرنل انځور imx-mkimage// ډایرکټر ته کاپي کړئ:
    $ cp linux-imx/arch/arm64/boot/Image imx-mkimage/
    د FIT انځور جوړ کړئ:
    • د i.MX8M لپاره
      $ cd imx-mkimage/iMX8M
      # د i.MX8MM لپاره
      $ATF_LOAD_ADDR=0x00920000 KERNEL_LOAD_ADDR=0x40200000 ../mkimage_fit_atf_kernel.sh
      > Image.its
      # د i.MX8MN لپاره
      $ATF_LOAD_ADDR=0x00960000 KERNEL_LOAD_ADDR=0x40200000 ../mkimage_fit_atf_kernel.sh
      > Image.its
      # د i.MX8MP لپاره
      $ATF_LOAD_ADDR=0x00970000 KERNEL_LOAD_ADDR=0x40200000 ../mkimage_fit_atf_kernel.sh
      > Image.its
      # د FIT بائنری چلولو رامینځته کولو لپاره:
      $./mkimage_uboot -E -p 0x3000 -f Image.its Image.itb
    • د i.MX93 لپاره
      $cd imx-mkimage/iMX9
      $ATF_LOAD_ADDR=0x204e0000 KERNEL_LOAD_ADDR=0x80200000 ../
      mkimage_fit_atf_kernel.sh > Image.its
      # د FIT بائنری چلولو رامینځته کولو لپاره:
      $./mkimage_uboot -E -p 0x3000 -f Image.its Image.itb
  7. پایله شوې Image.itb کاپي کړئ file د SD کارت لومړۍ (FAT) برخې ته.
  8. د فلیټ شوي وسیلې ونې چمتو کړئ او په SD کارت کې یې ولیکئ. کله چې په فالکن حالت کې بوټ کول، یو مهم ګام د وسیلې ونې چمتو کول دي. عموما، U-Bot د FDT فکس اپ کوي کله چې لینکس بوټ کوي. دا پدې مانا ده چې د لومړنۍ وسیلې ونې ته، U-Bot د نورو بدلونونو په منځ کې د کرنل دلیلونه او د حافظې نوډ اضافه کوي. دا دلیلونه په یو ترتیب کې موندل کیدی شي files: uboot-imx/configs/_evk.h، د بوټارګز نوم لاندې. دوی د کنسول پیرامیټونه مشخص کوي او کرنل ته ووایی چیرې چې ریښه ومومي file سیسټم چیرته دی: imx8mm، imx8mn، imx8mp یا imx93. د فلټ شوي وسیلې ونې د تولید لپاره دوه میتودونه شتون لري:
    • طريقه 1: په لاسي ډول د وسیلې ونې ته اړین اصلاحات اضافه کولو سره
    • طريقه 2: U-Boot ته د فکس اپ کولو اجازه ورکولو سره او په پایله کې د وسیلې ونې خوندي کولو میتود 2 خورا عمومي دی او لږ پوهې ته اړتیا لري ، مګر دا هم اوږد دی او د څو نورو مرحلو سره.
      طريقه 1: تاسو کولی شئ د کرنل آلې ونې ته د بوټارګز او د حافظې نوډ اضافه کولو سره په لاسي ډول د FDT رامینځته کولو هڅه وکړئ. د مثال لپارهample، د i.MX 93 لپاره imx93-11×11-evk-falcon.dts جوړ کړئ file په linuximx/arch/arm64/boot/dts/freescale کې او له لاندې څخه د کوډ لاینونه اضافه کړئ. د حافظې نوډ د U-Boot د DTS څخه کاپي شوی. د شامل شوي وسیله ونه ستاسو د کارونې قضیې سره سم بدل کیدی شي. په دې حالت کې، موږ د ډیفالټ کرنل وسیله ونې کاروو.
      #شامل کړئ "imx93-11×11-evk.dts" / { حافظه { reg = <0x00 0x80000000 0x00 0x80000000>; device_type = "یادونه"؛ }; غوره شوی { bootargs = "console=ttyLP0,115200 earlycon root=/dev/mmcblk1p2 rootwait rw"؛ }; };
      د اړوندې وسیلې ونې بائنری رامینځته کولو لپاره کرنل بیا تنظیم کړئ او پایله شوې imx93-11×11- کاپي کړئ.
      evk-falcon. dtb file د SD کارت لومړۍ برخې ته.
      که تاسو لومړی میتود غوره کړی، بل ګام د بورډ بوټ کول دي او د فالکن حالت باید فعال وي.
      طريقه 2: FDT په U-Boot s کې د spl صادراتو کمانډ په کارولو سره چمتو کیدی شيtage. U-boat ته د ننوتلو لپاره، د C کیلي فشار وساتئ. کمانډ د چلولو بوم سره مساوي دی تر هغه چې د وسیلې ونې فکس اپ نه وي
      ترسره شوی په حافظه کې د وسیلې ونه د فالکن حالت لپاره اړین دی. دا عکس باید د SD کارت بوټ برخې کې خوندي شي.
      [اړتیاوې]
      a. د کرنل میراث او انځور جوړ کړئ file له انځور څخه.
      انځور یو ځانګړی انځور دی file چې د حقیقي کرنل عکس څخه دمخه د 64 بایټ سرلیک اضافه کوي ، چیرې چې لوډر
      معلومات مشخص شوي (د بارولو پته، د ننوتلو نقطه، د OS ډول، او داسې نور).
      دا ډول عکس د spl کمانډ لخوا اړین دی، ترڅو د فلیټ شوي وسیله ونې تولید کړي.
    • د i.MX 8M لپاره
      $ cd linux-imx/arch/arm64/boot
      $ mkimage -A arm -O linux -T kernel -C none -a 0x43FFFFC0
      -e 0x44000000 -n "لینکس کرنل" -d انځور uImage
      د انځور نوم: لینکس کرنل
      جوړ شوی: چهارشنبه جولای 26 14:12:09 2023
      د انځور ډول: د ARM لینوکس کرنل انځور (غیر کمپریس شوی)
      د معلوماتو اندازه: 31072768 بایټ = 30344.50 KiB = 29.63 MiB
      د بارولو پته: 43ffffc0
      د ننوتلو ځای: 44000000
    • د i.MX 93 لپاره
      $ cd linux-imx/arch/arm64/boot
      $ mkimage -A arm -O linux -T kernel -C none -a 0x83FFFFC0
      -e 0x84000000 -n "لینکس کرنل" -d انځور uImage
      د انځور نوم: لینکس کرنل
      جوړ شوی: چهارشنبه جولای 26 14:14:09 2023
      د انځور ډول: د ARM لینوکس کرنل انځور (غیر کمپریس شوی)
      د معلوماتو اندازه: 31072768 بایټ = 30344.50 KiB = 29.63 MiB
      د بارولو پته: 83ffffc0
      د ننوتلو ځای: 84000000
      چیرته:
      • الف [معماري]: د معمارۍ ترتیب کول.
      • O [os]: د عملیاتي سیسټم تنظیم کولو لپاره.
      • T [د انځور ډول]: د عکس ډول تنظیم کولو لپاره.
      • C [کمپریشن ډول]: د کمپریشن ډول تنظیم کولو لپاره.
      • n [د انځور نوم]: د انځور نوم ته د انځور نوم ټاکلو لپاره.
      • d [د انځور ډاټا file]: د عکس ډیټا څخه د عکس ډیټا کارولو لپاره file.
      • a [لوډ پته]: د هیکس نمبر سره د بار پته تنظیم کولو لپاره.
      • e [د ننوتلو نقطه]: د هیکس نمبر سره د ننوتلو نقطه تنظیم کول.
    • b. د کرنل uImage د SD کارت EXT2 برخې ته کاپي کړئ.
      sudo mount /dev/sd2 /mnt
      $ sudo mkdir -p /mnt/home/root/.falcon
      $ sudo cp uImage /mnt/home/root/.falcon
      $ sudo umount /mnt
      د spl صادراتو کمانډ په کارولو سره د FDT چمتو کولو لپاره ، لاندې مرحلې ترسره کړئ.
      1. بورډ په U-Bot کې بوټ کړئ او د آټوبوټ ترتیب ته د ننوتلو دمخه یې ودروئ. U-Bot ته د ننوتلو لپاره، د 'c' کیلي باید د بوټ په وخت کې کیښودل شي. پدې مرحله کې ، د فالکن حالت ناکام شو ځکه چې په SD کارت کې د لینکس کرنل لپاره هیڅ چمتو شوی FDT شتون نلري.
      2. [اختیاري] که تاسو د ډیفالټ څخه مختلف FDT ته اړتیا لرئ ، لومړی لاندې کمانډ چل کړئ. د file باید په SD کې د FAT برخې کې وي.
        u-boot=> setenv fdtfile .dtb
      3. FDT په رام کې بار کړئ.
        u-boot=> loadfdt چلول
        43801 بایټس په 15 ms (2.8 MiB/s) کې لوستل شوی
      4. د کرنل uImage په RAM کې پورته کړئ.
        u-boot=> ext2load mmc 1:2 ${loadaddr} /home/root/.falcon/uImage
        31072832 بایټس په 387 ms (76.6 MiB/s) کې لوستل شوی
      5. که تاسو د کرنل بوټ وخت اصلاح کولو ته هم اړتیا لرئ ، د راتلونکي مرحلې دمخه د 8.1 برخې "خاموش اضافه کړئ" ، 2 ګام څخه کمانډونه پرمخ وړئ.
      6. د کرنل بوټ دلیلونه پورته کړئ.
        u-boot=> spl صادرات fdt ${loadaddr} – ${fdt_addr_r}
        ## په 80400000 کې د میراث عکس څخه د کرنل بوټ کول ...
        د انځور نوم: لینکس کرنل
        جوړ شوی: 2023-07-19 6:57:40 UTC
        د انځور ډول: د ARM لینوکس کرنل انځور (غیر کمپریس شوی)
        د ډاټا اندازه: 31072768 بایټ = 29.6 MiB
        د بارولو پته: 83ffffc0
        د ننوتلو ځای: 84000000
        د چکسم تصدیق کول ... سمه ده
        ## په ۸۳۰۰۰۰۰۰ کې د وسیلې ونې فلیټ شوی بلاب
        د fdt بلاب په کارولو سره په 0x83000000 کې بوټ کول
        کاري FDT 83000000 ته ټاکل شوی
        د کرنل انځور پورته کول
        په 0000000083000000 کې د وسیلې ونې کارول ، پای 000000008300db18
        کاري FDT 83000000 ته ټاکل شوی
        فرعي کمانډ ناکام شوی (غلط = -1)
        فرعي کمانډ ناکام شوی (غلط = -1)
        په 0000000083000000 کې د وسیلې ونې کارول ، پای 0000000083010b18
        کاري FDT 83000000 ته ټاکل شوی
        د دلیل عکس اوس په رام کې دی: 0x0000000083000000
        یادونه: د پیل او پای پتې ترمنځ توپیر په پورتنۍ بولډ کې د پیچ ​​شوي FDT اندازه په حافظه کې ده. پایله شوې FDT د RAM څخه د SD کارت FAT برخې ته کاپي کړئ چې د وروستي پیرامیټر په توګه د سم کاپي اندازه مشخص کوي. په exampپورته محصول، دا به 0x83010b18 - 0x83000000 = 0x10b18 وي.
        # د i.MX 93 لپاره
        u-boot=> فتوا mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} imx93-11×11-
        evk-falcon.dtb 0x10b18
        یادونه: د خوندي شوي FDT نوم باید د نوم سره سمون ولري
        CONFIG_SPL_FS_LOAD_ARGS_NAME متغیر په 1 مرحله کې د 7.3 برخې برخې څخه "فالکن حالت
        پلي کول". که نه نو، SPL د وسیلې ونه په DRAM کې نه پورته کوي او بورډ په بوټ کولو کې پاتې راغلی.
  9. د ریبوټ کولو وروسته، په ډیفالټ سره، بورډ به په Falcon حالت کې بوټ شي.

د حافظې نقشه

شکل 3 د i.MX93 لپاره د Falcon Mode په جریان کې د حافظې نقشه ده.
BootROM SPL باروي او SPL د آن چپ رام (OCRAM - د داخلي پروسیسر حافظه) څخه تیریږي. SPL متحرک رام (DDR) پیلوي، ATF په OCRAM کې باروي، بیا د کرنل وسیله ونې او د کرنل عکس په DDR کې باروي. SPL په DDR کې د میلوک لپاره د حافظې ځای لري. دا ساحه باید د SPL په وخت کې نه لیکل کیږي
د حافظې نقشه
جدول 2 د i.MX 8M کورنۍ لپاره پته لیست کوي.

جدول 2. i.MX 8M کورنۍ پتې}

پلیټ فارم SPL ATF د کرنل انځور کرنل DTB
i.MX 8M مینی 0x007e1000 0x00920000 0x40200000 0x43000000
i.MX 8M نانو 0x00912000 0x00960000 0x40200000 0x43000000
i.MX 8M Plus 0x00920000 0x00970000 0x40200000 0x43000000

د Falcon حالت په جریان کې فنکشن زنګونه
شکل 4 د SPL Falcon حالت په جریان کې ویل شوي مهم دندې لیست کوي
د حافظې نقشه

د کرنل ځای اصلاح کول

دا برخه د 8.1 برخې "خاموشه اضافه کړئ" او 8.2 برخه "غیر ضروري چلوونکي لرې کړئ" ته مرحلې لیست کوي او file سیسټمونه".

خاموش اضافه کړئ
د دې لپاره چې د کرنل وخت نیمایي ته راټیټ شي، د کرنل بوټارګوس کې خاموش دلیل اضافه کړئ. دا د لینکس پیل کولو ترتیب په جریان کې د ډیبګ پیغامونه فشاروي.

یادونه: د وسیلې ونه باید د نوي بوټارګونو سره بیا رامینځته شي ، د spl صادراتو کمانډ په کارولو سره.

  1. U-Bot ته د ننوتلو لپاره، د بوټ کولو په وخت کې د C کیلي فشار وساتئ.
  2. د خاموش په اضافه کولو سره د mmcargs پیرامیټر ایډیټ کړئ.
    u-boot=> mmcargs ایډیټ کړئ
    تدوین: setenv bootargs ${jh_clk} کنسول=${کنسول} روټ=${mmcroot} خاموش
    u-boot=> savenv
    MMC ته د چاپیریال خوندي کول… MMC ته لیکل(1)… سمه ده
  3. د وسیلې ونې SD کارت ته بیا رامینځته کړئ او خوندي کړئ لکه څنګه چې برخه 7.3 "Falcon mode تطبیق"، ګام 14

غیر ضروري چلوونکي لرې کړئ او file سیسټمونه
ستاسو د کارونې قضیې پورې اړه لري، تاسو کولی شئ د غیر ضروري ډرایورانو په لرې کولو سره دانه کمه کړئ او file سیسټمونه
تاسو کولی شئ د بایوګراف سره د بوټ په جریان کې د کرنل افعال تحلیل کړئ ، د کرنل ځانګړتیا چې تاسو ته اجازه درکوي ګراف کړئ چې د پیل کولو پرمهال په کرنل کې څه پیښیږي.

د بوټګراف جوړولو لپاره، لاندې مرحلې ترسره کړئ:

  1. initcall_debug د کرنل بوټارګوس ته اضافه کړئ.
    a. U-Bot ته د ننوتلو لپاره، د بوټ کولو په وخت کې د C کیلي فشار وساتئ،
    b. د mmcargs پیرامیټر د initcall_debug اضافه کولو سره سم کړئ
    u-boot=> mmcargs ایډیټ کړئ
    تدوین: setenv bootargs ${jh_clk} کنسول=${کنسول} روټ=${mmcroot} خاموش
    initcall_debug
    u-boot=> savenv
    MMC ته د چاپیریال خوندي کول… MMC ته لیکل(1)… سمه ده
  2. د وسیلې ونې په SD کارت کې بیا رامینځته کړئ او خوندي کړئ لکه څنګه چې د 7.3 برخه "فالکن حالت پلي کول" ، 14 مرحله کې.
  3. بورډ بوټ کړئ او د کرنل لاګ ترلاسه کړئ
    root@imx8mn-lpddr4-evk:~# dmesg > boot.log
    د boot.log file د لاندې لاګ په څیر ډاټا لري. ډاټا د دې په اړه تحلیل کیدی شي چې هر فعالیت د کرنل بوټ په جریان کې څومره وخت مصرفوي.
    [2.583922] initcall deferred_probe_initcall+0x0/0xb8 0 وروسته له 895357 راستانه شو
    [2.583955] زنګ وهل genpd_power_off_unused+0x0/0x98 @ 1
    [2.583977] initcall genpd_power_off_unused+0x0/0x98 د 0 کارولو وروسته 12 بیرته راستانه شو
    [2.583984] genpd_debug_init+0x0/0x90 @ 1 ته زنګ وهل
    [2.584312] initcall genpd_debug_init+0x0/0x90 د 0 کارولو وروسته 321 بیرته راستانه شو
    [2.584333] ubi_init+0x0/0x23c @ 1 ته زنګ وهل
    [2.584627] initcall ubi_init+0x0/0x23c د 0 کارولو وروسته 286 بیرته راستانه شو
  4. پایله شوې boot.log کاپي کړئ file په کوربه کمپیوټر کې. بیرته کوربه کمپیوټر ته لاړ شئ او د لاندې کمانډونو په کارولو سره ګراف رامینځته کړئ.
    $ cd linux-imx/scripts
    $./bootgraph.pl boot.log > boot.svg
    تاسو کولی شئ د دې په څیر یو څه ترلاسه کړئ او تحلیل کولی شئ چې د کرنل بوټ وخت څنګه کارول کیږي.
    خاموش اضافه کړئ
  5. د ډرایور یا ځانګړتیا غیر فعالولو لپاره، د کرنل ترتیب تازه کړئ.
    د مثال لپارهample، موږ د کرنل څخه ډیبګ غیر فعال کړ (چې د عکس اندازه کموي) او UBI file سیسټم
    a. د کرنل مینیکونټیګ ته د ننوتلو لپاره لاندې کمانډونه چل کړئ.
    $ cd linux-imx
    $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- imx_v8_defconfig جوړ کړئ
    $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make minicontig
    د مینو ترتیب څخه، CONFIG_UBIFS_FS او CONFIG_DEBUG_KERNEL غیر فعال کړئ، ورته ورته
    برخه 7.3 "د فالکن حالت پلي کول". پایله .config file لاندې کرښې لري.
    # CONFIG_UBIFS_FS نه دی ټاکل شوی
    # CONFIG_DEBUG_KERNEL نه دی ټاکل شوی
    b. د کرنل نوی انځور جوړ کړئ.
    $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- ټول جوړ کړئ
    c. د کرنل FIT عکس بیا تولید کړئ لکه څنګه چې په 7.3 برخه کې "Falcon mode تطبیق"، 13 ګام او کاپي کړئ
    د SD کارت بوټ (FAT) برخې ته.
    d. [اختیاري] که تاسو غواړئ د نورمال بوټ په جریان کې تعدیل شوي کرنل وکاروئ ، نو د نوي عکس بائنری د لومړي SD کارت بوټ برخې ته کاپي کړئ.

د کارن ځای اصلاح کول

دا برخه د "سیسټمډ څخه دمخه غوښتنلیک پیل کړئ" او برخې "د سیسټم واحد انحصار بدل کړئ" برخې ته مرحلې لیست کوي.

د سیسټم څخه دمخه یو غوښتنلیک پیل کړئ
که اړتیا وي، یو پروګرام د سیسټم څخه مخکې پیل کیدی شي.

  1. یو سکریپټ جوړ کړئ /home/root/newinit.sh، کوم چې ستاسو پروګرام د سیسټم څخه مخکې پیل کوي. لاندې یو ساده دی
    exampد سیسټم څخه دمخه خپل برنامه څنګه پیل کړئ. د خپل مطلوب غوښتنلیک سره د اکو لاین بدل کړئ.
    #!/bin/sh
    echo "لومړنی پیل" > /dev/kmsg
    exec /lib/systemd/systemd
  2. سکرېپټ د اجرا وړ کړئ.
    $ chmod +x newinit.sh
  3. /sbin/init خپل newinit.sh سکریپټ ته لینک کړئ.
    $ ln -sf /home/root/newinit.sh /sbin/init 
    یادونه: لومړني ترتیب ته د راستنیدو لپاره ، لاندې کمانډ وکاروئ.
    $ ln -sf /lib/systemd/systemd/sbin/init
  4. بورډ ریبوټ کړئ او د کرنل لاګ چیک کړئ. په dmesg کې د "لومړني پیل" تار لټون کول ښیې چې newinit.sh سکریپټ د پیل پروسې دمخه اجرا شوی.

د سیسټم شوي واحد انحصار بدل کړئ
د کارونکي ځای کې د مصرف شوي وخت کمولو لپاره ترټولو اسانه لار د هغه ترتیب ترتیب کول دي چې غوښتنلیکونه پکې چلیږي.
د خدمت دمخه پیل کولو لپاره ، انحصار بدل کړئ چې سیسټم ورسره کار کوي.
په تخته کې، /lib/systemd/system/.service خلاص کړئ file او د واحد انحصار بدل کړئ. د مثال لپارهampلي
د local-fs-pre.target څخه مخکې پیل کول.
[یونټ]
...
مخکې=local-fs-pre.target
ډیفالټ انحصار = شمیره

که د کمانډ سیسټم تحلیل د ملامتۍ دلیل سره ویل کیږي Systemd د systemd-analyze په نوم یو اسانتیا هم وړاندې کوي، کوم چې خدمتونه او د دوی د پیل وخت چاپوي.
$ سیستمات - تحلیل ملامت

د یو خدمت غیر فعالولو لپاره، تاسو کولی شئ د systemctl غیر فعال کمانډ وکاروئ. د ځینې خدماتو غیر فعالولو لپاره (په ځانګړي توګه هغه چې سیسټم یې چمتو کوي)، د systemctl ماسک کمانډ وکاروئ. په هرصورت، پاملرنه وکړئ کله چې خدمتونه غیر فعال کړئ ځکه چې سیسټم کولی شي په سمه توګه کار کولو لپاره په دوی باندې تکیه وکړي.

پایلې

جدول 3. د ابتدايي بوټ وخت اندازه کول

SPL U-بوټ کرنل
بورډ بوټروم DDRابتکار SPLابتکارونه+ د U-Bot عکس پورته کړئ U-بوټ ابتکارونه (init_sequence_f) U-بوټ ابتکارونه (init_sequence_r) بوټ ترتیب کرنل انځور بار ATF + Kernel بوټ تر INIT پروسې پورې ټول وخت
(اغلی) (اغلی) (اغلی) (اغلی) (اغلی) (اغلی) (اغلی) (اغلی) (اغلی)
i.MX 8MN 161 241 162 363 790 2894 333 3506 8450
i.MX 8MP 162 301 175 373 1726 4181 345 3627 10890
i.MX 8MM 142 265 117 412 812 2970 396 5002 10116
i.MX 93 369 111 117 628 1172 3271 412 3090 9170

جدول 4. د بوټو وخت مطلوب اندازه اندازه کول

SPL کرنل
بورډ بوټروم د DDR پیل کول د SPL پیل کول د کرنل عکس بار[1] ATF + Kernel بوټ تر INIT پروسې پورې[2] ټول وخت
(اغلی) (اغلی) (اغلی) (اغلی) (اغلی) (اغلی)
i.MX 8MN 203 240 86 376 1185 2090
i.MX 8MP 187 301 97 382 1237 2204
i.MX 8MM[3] 139 265 63 1336 2956[3] 4759
i.MX 93 374 111 89 366 1391 2330
  1. CONFIG_DEBUG_KERNEL غیر فعال شوی، په پایله کې د کرنل عکس اندازه کوچنۍ ده => د کرنل عکس پورته کول کموي.
  2. د کرنل لاګ پیغامونه د خاموش په کارولو سره فشارول کیږي.
  3. i.MX 8M Mini EVK د PCIe پورټ سره وصل شوي مدغم Wi-Fi ماډل سره نه راځي (د i.MX 8M پلس برعکس). له همدې امله، د PCIe PHY پیل کول د فعال لینک په انتظار کې وخت مصرفوي. که چیرې د وای فای ماډل د PCIe انٹرفیس سره وصل وي ، نو د کرنل بوټ وخت 1215 ms ته راټیټیږي ، نو د بوټ ټول وخت 3018 ms دی.

په سند کې د سرچینې کوډ په اړه یادونه وکړئ

د پخوانيampپه دې سند کې ښودل شوی کوډ لاندې کاپي حق لري او د BSD-3-Clause جواز لري:

د کاپي حق 2023 NXP بیا توزیع او د سرچینې او بائنری فورمو کې کارول، د تعدیل سره یا پرته، اجازه لري چې لاندې شرایط پوره کړي:

  1. د سرچینې کوډ بیا توزیع باید د کاپي حق پورتنۍ خبرتیا، د شرایطو لیست او لاندې اعلانات وساتي.
  2. په بائنری شکل کې بیا توزیع باید د پورتنۍ کاپي حق خبرتیا بیا تولید کړي، د شرایطو دا لیست او په اسنادو او / یا نورو توکو کې چې د توزیع سره چمتو شوي لاندې اعلانات.
  3. نه د کاپي رایټ لرونکي نوم او نه هم د دې شریک کونکي نومونه د ځانګړي مخکیني لیکلي اجازې پرته د دې سافټویر څخه ترلاسه شوي محصولاتو تایید یا فروغ لپاره کارول کیدی شي.

دا سافټویر د کاپي حق لرونکو او مرسته کونکو لخوا چمتو شوی دی "لکه څنګه چې دی" او کوم
څرګند یا ضمیمه تضمینونه، په شمول، مګر محدود نه دي، د یو ځانګړي هدف لپاره د سوداګریزې وړتیا او مناسبیت تضمین شوي تضمینونه رد شوي دي. په هیڅ صورت کې د کاپي حق لرونکی یا ونډه اخیستونکي به د کوم مستقیم، غیر مستقیم، حادثې، ځانګړي، مثالي، یا پایله لرونکي زیانونو لپاره مسؤل نه وي (په شمول، مګر محدودیت نه لري د کارونې، ډاټا، یا ګټې ضایع کول؛ یا د سوداګرۍ مداخله) که څه هم د مسؤلیت په هره تیورۍ کې، که په تړون کې وي، سخت مسؤلیت، یا شکنجه (په شمول د غفلت یا بل ډول) له الرې په هر حالت کې، په هر صورت کې د دې ډول زیانونو احتمال.

د بیاکتنې تاریخ

جدول 5. د بیاکتنې تاریخ

د بیاکتنې شمیره د بیاکتنې نیټه تفصیل
1 ۱۲ اکتوبر ۱۸۴۷ ابتدايي خوشې کول

قانوني معلومات

تعریفونه
مسوده - په یوه سند کې د مسودې حالت ښیي چې مینځپانګه لاهم د داخلي بیاکتنې لاندې دهview او د رسمي تصویب تابع وي، کوم چې کیدای شي د تعدیلاتو یا اضافو پایله ولري. د NXP سیمی کنډکټرونه د اسنادو په مسوده کې شامل شوي معلوماتو دقت یا بشپړتیا په اړه هیڅ ډول نمایش یا تضمین نه ورکوي او د داسې معلوماتو کارولو پایلو لپاره هیڅ مسؤلیت نلري.

ددفتروسایل
محدود تضمین او مسؤلیت - په دې سند کې معلومات دقیق او د باور وړ دي. په هرصورت، د NXP سیمیکمډکټرونه د داسې معلوماتو دقت یا بشپړتیا په اړه هیڅ ډول نمایش یا تضمین نه ورکوي، څرګند شوي یا ضمیمه شوي او د داسې معلوماتو کارولو پایلو لپاره هیڅ مسؤلیت نلري. د NXP سیمیکنډکټرونه په دې سند کې د مینځپانګې مسؤلیت په غاړه نه اخلي که چیرې د NXP سیمیکمډکټر څخه بهر د معلوماتو سرچینې لخوا چمتو شوي وي.

په هیڅ صورت کې د NXP سیمیکمډکټرونه د کوم غیر مستقیم، حادثې، جزا، ځانګړي یا نتیجه لرونکي زیانونو لپاره مسؤل نه دي (پشمول - پرته له محدودیت څخه - له لاسه ورکړې ګټې، ضایع شوي سپما، د سوداګرۍ خنډ، د کوم محصول یا د بیا کار کولو لګښتونو لرې کولو یا بدلولو پورې اړوند لګښتونه) که نه. یا نه دا ډول زیانونه د شکنجې (د غفلت په ګډون)، تضمین، د تړون سرغړونې یا کومې بلې قانوني نظریې پراساس دي.

د هر ډول زیانونو سره سره چې پیرودونکي ممکن د هر دلیل له امله پیښ شي، د NXP سیمیکمډکټرونو مجموعي او مجموعي مسؤلیت د پیرودونکي په وړاندې د هغه محصولاتو لپاره چې دلته تشریح شوي باید د NXP سیمیکمډکټرونو د سوداګریز پلور د شرایطو او شرایطو سره سم محدود وي.

د بدلونونو حق - د NXP سیمیکمډکټر حق لري چې په دې سند کې خپاره شوي معلوماتو کې بدلونونه راولي، په شمول پرته له محدودیت مشخصاتو او د محصول توضیحات، هر وخت او پرته له خبرتیا. دا سند ټول هغه معلومات بدلوي او ځای په ځای کوي چې دلته د خپریدو دمخه چمتو شوي.

د استعمال لپاره مناسب - د NXP سیمیکمډکټر محصولات ډیزاین شوي ، مجاز یا تضمین ندي چې د ژوند ملاتړ ، ژوند - مهم یا خوندیتوب - مهم سیسټمونو یا تجهیزاتو کې د کارولو لپاره مناسب وي ، او نه هم په غوښتنلیکونو کې چیرې چې د NXP سیمیکمډکټر محصول ناکامي یا نیمګړتیا په معقول ډول تمه کیدی شي پایله ولري. شخصي ژوبل، مړینه یا شدید ملکیت یا د چاپیریال زیان. د NXP سیمیکنډکټرونه او د هغې عرضه کونکي په داسې تجهیزاتو یا غوښتنلیکونو کې د NXP سیمیکمډکټر محصولاتو شاملولو او/یا کارولو لپاره هیڅ مسؤلیت نه مني او له همدې امله دا ډول شاملول او/یا کارول د پیرودونکي په خپل خطر کې دي.

غوښتنلیکونه - هغه غوښتنلیکونه چې دلته د دې محصولاتو لپاره تشریح شوي یوازې د مثالي موخو لپاره دي. د NXP سیمیکمډکټرونه هیڅ استازیتوب یا تضمین نه کوي چې دا ډول غوښتنلیکونه به د نورو ازموینې یا ترمیم پرته د ټاکل شوي کارونې لپاره مناسب وي. پیرودونکي د NXP Semiconductors محصولاتو په کارولو سره د خپلو غوښتنلیکونو او محصولاتو ډیزاین او عملیاتو مسؤلیت لري، او د NXP سیمیکمډکټر د غوښتنلیکونو یا پیرودونکي محصول ډیزاین سره د مرستې لپاره هیڅ مسؤلیت نه مني. دا د پیرودونکي یوازینۍ مسؤلیت دی چې معلومه کړي چې ایا د NXP سیمیکمډکټر محصول د پیرودونکي غوښتنلیکونو او محصولاتو لپاره چې پلان شوي ، او همدارنګه د پلان شوي غوښتنلیک او د پیرودونکي د دریمې ډلې پیرودونکي کارولو لپاره مناسب او مناسب دی. پیرودونکي باید مناسب ډیزاین او عملیاتي محافظتونه چمتو کړي ترڅو د دوی غوښتنلیکونو او محصولاتو پورې اړوند خطرونه کم کړي.

NXP سیمیکنډکټرونه د کوم ډیفالټ ، زیان ، لګښت یا ستونزې پورې اړوند هیڅ مسؤلیت نه مني چې د پیرودونکي غوښتنلیکونو یا محصولاتو کې د کوم ضعف یا ډیفالټ پراساس وي ، یا د پیرودونکي دریمې ډلې پیرودونکي لخوا غوښتنلیک یا کارول. پیرودونکي د NXP سیمیکمډکټر محصولاتو په کارولو سره د پیرودونکي غوښتنلیکونو او محصولاتو لپاره د ټولو اړینو ازموینو ترسره کولو مسؤلیت لري ترڅو د غوښتنلیکونو او محصولاتو یا غوښتنلیک یا د پیرودونکي د دریمې ډلې پیرودونکي لخوا کارولو څخه مخنیوی وشي. NXP پدې برخه کې هیڅ مسؤلیت نه مني.

د تجارتي خرڅلاو شرایط او شرایط - د NXP سیمی کنډکټر محصولات د سوداګریز پلور عمومي شرایطو او شرایطو سره سم پلورل کیږي، لکه څنګه چې په http://www.nxp.com/pro کې خپور شویfile/شرطونه، پرته لدې چې بل ډول په یوه معتبر لیکلي انفرادي تړون کې موافقه شوې وي. په هغه صورت کې چې یو انفرادي تړون پای ته رسیږي یوازې د اړوند تړون شرایط او شرایط پلي کیږي. د NXP سیمیکنډکټرونه دلته په ښکاره ډول د پیرودونکي لخوا د NXP سیمیکمډکټر محصولاتو پیرودلو په اړه د پیرودونکي عمومي شرایطو او شرایطو پلي کولو اعتراض کوي. د صادراتو کنټرول - دا سند او همدارنګه دلته تشریح شوي توکي ممکن د صادراتو کنټرول مقرراتو تابع وي. صادرات ممکن د وړ چارواکو څخه مخکینۍ اجازې ته اړتیا ولري.

په غیر اتوماتیک وړ محصولاتو کې د کارولو لپاره مناسبیت - پرته لدې چې دا سند په څرګند ډول وايي چې دا ځانګړي NXP سیمیکمډکټر محصول د موټرو وړ دی ، محصول د موټرو کارولو لپاره مناسب ندی. دا د موټرو ازموینې یا غوښتنلیک اړتیاو سره سم نه وړ دی او نه ازمول شوی. د NXP سیمیکمډکټرونه د موټرو تجهیزاتو یا غوښتنلیکونو کې د غیر اتومات وړ وړ محصولاتو شاملولو او/یا کارولو لپاره هیڅ مسؤلیت نه مني.

په هغه صورت کې چې پیرودونکی محصول د اتوماتیک غوښتنلیکونو کې د ډیزاین کولو او کارولو لپاره د موټرو مشخصاتو او معیارونو لپاره کاروي ، پیرودونکي (a) باید محصول د دې ډول اتومات غوښتنلیکونو ، کارولو او مشخصاتو لپاره د محصول د NXP سیمیکمډکټر تضمین پرته وکاروي ، او ( b) هرکله چې پیرودونکي د NXP سیمیکمډکټرونو مشخصاتو هاخوا د اتوماتیک غوښتنلیکونو لپاره محصول کاروي دا ډول کارول باید یوازې د پیرودونکي په خپل خطر کې وي ، او (c) پیرودونکي د پیرودونکي ډیزاین او کارولو په پایله کې د هر ډول مسؤلیت ، زیانونو یا ناکام محصول ادعاګانو لپاره د NXP سیمیکنډکټرونو بشپړ تاوان ورکوي. د NXP سیمی کنډکټرونو معیاري تضمین او د NXP سیمیکمډکټر محصول مشخصاتو هاخوا د اتوماتیک غوښتنلیکونو لپاره محصول.

ژباړه – د یوه سند غیر انګلیسي (ژباړل شوې) نسخه، په دې سند کې د قانوني معلوماتو په ګډون، یوازې د حوالې لپاره ده. د ژباړل شوي او انګلیسي نسخو ترمنځ د کوم توپیر په صورت کې انګلیسي نسخه باید غالب وي.

امنیت - پیرودونکي پوهیږي چې د NXP ټول محصولات ممکن د نامعلومو زیانونو تابع وي یا ممکن د پیژندل شوي محدودیتونو سره د تاسیس شوي امنیتي معیارونو یا مشخصاتو ملاتړ وکړي. پیرودونکي د خپل ژوند په اوږدو کې د خپلو غوښتنلیکونو او محصولاتو ډیزاین او عملیاتو مسؤلیت لري ترڅو د پیرودونکي غوښتنلیکونو او محصولاتو باندې د دې زیانونو اغیز کم کړي. د پیرودونکي مسؤلیت نورو خلاص او/یا ملکیت ټیکنالوژیو ته هم غزیږي چې د پیرودونکي غوښتنلیکونو کې د کارولو لپاره د NXP محصولاتو لخوا ملاتړ کیږي. NXP د کومې زیانمننې لپاره هیڅ مسؤلیت نه مني. پیرودونکي باید په منظمه توګه د NXP څخه امنیتي تازه معلومات وګوري او په سمه توګه تعقیب کړي. پیرودونکي باید د امنیتي ځانګړتیاو سره محصولات غوره کړي چې د ټاکل شوي غوښتنلیک مقررات، مقررات او معیارونه په غوره توګه پوره کوي او د خپلو محصولاتو په اړه د ډیزاین وروستۍ پریکړې کوي او یوازې د خپلو محصولاتو په اړه د ټولو قانوني، تنظیمي، او امنیت پورې اړوند اړتیاو سره د موافقت مسولیت لري. کوم معلومات یا ملاتړ چې کیدای شي د NXP لخوا چمتو شي.

NXP د محصول امنیتي پیښې غبرګون ټیم (PSIRT) لري (په PSIRT@nxp.com کې د لاسرسي وړ) چې د NXP محصولاتو امنیتي زیانونو ته د څیړنې ، راپور ورکولو او حل حل اداره کوي.

NXP BV — NXP BV یو عملیاتي شرکت نه دی او دا محصولات نه توزیع کوي یا پلوري.

سوداګریزې نښې

خبرتیا: ټول راجع شوي برانډونه، د محصول نومونه، د خدماتو نومونه، او سوداګریزې نښې د دوی د اړوندو مالکینو ملکیت دی.
NXP - نښه او لوګو د NXP BV سوداګریزې نښې دي
EdgeLock - د NXP BV سوداګریز نښه ده
i.MX - د NXP BV سوداګریز نښه ده
مایکروسافټ، Azure، او ThreadX - د مایکروسافټ شرکتونو سوداګریزې نښې دي.

اسناد / سرچینې

NXP AN14093 فاسټ بوټ فالکن موډ کرنل [pdf] د کارونکي لارښود
AN14093 فاسټ بوټ فالکن موډ کرنل، AN14093، فاسټ بوټ فالکن موډ کرنل، د بوټ فالکن موډ کرنل، فالکن موډ کرنل، موډ کرنل

حوالې

یو نظر پریږدئ

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې په نښه شوي *