AM62P-Q1: AM62P-LP: Cold Boot Optimisation

Part Number: AM62P-Q1
Other Parts Discussed in Thread: AM62P, SK-LCD1

Following the guide here, I am currently unable to reproduce the boot times stated: 4.1.12. Boot Time Optimizations — Processor SDK AM62Px Documentation 

With the minimal image and all of the instructions followed, I get a time of 3 seconds to go from power applied to Kernel booted which is nowhere near the stated <1 second. From what I can see in the documentation, the test there is completed under warm reset conditions, which would explan some of the discrepency.

From what I can get access to on the dev board, I see PSU and USB negotiation taking 0.7s, PMIC and ROM load 1s and Kernel load 1.3s. For my application, I need to boot from cold up to a screen that is capable of displaying a live GUI (no windows manager required for that as DRM supplies the hooks needed) in less than 3 seconds if possible.

Would I be able to get timings achieved from a cold boot, instructions by which to achieve the quickest boot possible with a screen and what avenues to chase down for further optimisations from there?

  • Hi Thomas, 

    Are you able to create the images mentioned in the above link that you shared using MCU+SDK software, that can be downloaded from

    https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-68ibsyT7Ks/12.00.00.27/mcu_plus_sdk_am62px_12_00_00_27-windows-x64-installer.exe

    Also, if you can follow the instructions provided in the attached document using Yocto and SBL Boot flow (MCU+SDK), you should be able to achieve the boot with Graphics in less than 2sec.

    AM62P-11.1 SDK -Linux Fastboot steps using SBL boot flow.-v2-20250829_123532.pdf

    Hope this helps

    Best Regards

    Suren

  • Hi Suren,

    So I followed the above, I do get a splash screen but then it refuses to boot into linux, I've been through the linux image and prepared exactly as documented but the kernel never starts the HB LED or a UART output on any of the 4 cores. I still think I'm missing something. 

    I can see FreeRTOS takes over the screen and pushes out over IPC but having traced that through it doesn't seem to be communicating with Linux?

    Is there anything else I should be flashing onto the board?

    Thanks

    Tom

  • Hi Tom,

    Can you please share the exacts steps you tried to do with the MCU+SDK images and Linux AppImage. 

    Also, if you could add the log that you see. You may want to include where to load the rootfs from in the bootargs specifying that in the Device tree (Kernel). 

    Best Regards

    Suren

  • Hi Suren,

    Please find attached the steps used, I'm still not seeing any sign Linux is operational. My main questions are:

    - Can I get the example images used to gain the test results shown in the example so I can see it is operational on my board and possible?
    - Can you confirm using the same setup steps with the most recent SDK release that the A53 is able to boot Linux and show output on the console? I want to confirm that the issue is not with the SDK release I am using or some step I am missing in the setup.
    Thanks
    Tom
     
  • Hi Thomas,

    From the attached log, I do see there are errors when compiling the yocto image and also you haven't followed the instructions provided in the MCU+SDK to disable the logs(As I still see the System Init... and other logs being shown).

    Attaching a wic image that I had created with all the above mentioned changes and tested with SK-LCD2 Display connected to my AM62P board.

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/908/coreimage_2D00_11.1_2D00_lcd2.wic_2800_1_2900_.xz

    There is a demo folder in the boot partition which has the MCU+SDK images that i created and flash those on the NOR. u-boot-commands.txt file should have all the commands to run  as well.

    Hope this helps

    Best Regards

    Suren

  • Hi Suren,

    For the YOCTO image error, yes, I included the error and the fix I needed to do from the instructions provided, this is with a fresh workspace and only the suggested changes being made, this is just showing that at least some things are missing from the instructions. My notes were originally written in MD so if the formatting is a bit hard to read please paste the contents into an MD editor.


    I'll have another look through the SDK, the doc you pointed me to took me here: https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/11_01_05_03/exports/docs/linux/How_to_Guides/Target/How_to_boot_quickly.html#secondary-boot-loader-sbl

    I then followed onto here: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62PX/latest/exports/docs/api_guide_am62px/TOOLS_BOOT.html#LINUX_APPIMAGE_GEN_TOOL

    And I followed the Falcon boot instructions from there.

    I am missing something, so please if you can give me detailed instructions of how to do this that would be immensely helpful.

    Also, I have an SK-LCD1 display, any chance you could complete a build with that dbc override so I can replicate on my hardware?

    Thanks

    Tom

  • Hi Thomas,

    The wic image should work on LCD1 as well, SK-LCD2 resolution is 1920x720 instead of 1920x1200 (SK-LCD1), the display should still be able to render graphics on it.

    Please give a try with the wic image, that I attached in my previous reply? We can get on a debug call, tomorrow if you are available in the afternoon.

    Best Regards

    Suren

  • Hi Suren,

    I'll give that a go!

    A debug call would be great and tomorrow afternoon works!

    Thanks

    Tom 

  • Hi Suren,

    So I ran the image and it seems to refer to the eMMC from the OSPI image, not sure if that was included in the file you sent over?
    Here is the serial output:

    Image loading done, switching to application ...
    Starting 2nd stage bootloader
    Image loading done, switching to application ...
    Starting linux and RTOS/Baremetal applications
    NOTICE:  BL31: v2.13.0(release):v2.13.0-259-ge0c4d3903b-dirty
    NOTICE:  BL31: Built : 07:01:36, Jul  1 2025
    [    0.550682] Kernel panic - not syncing: VFS: Unable to mount root fs on "/dev/mmcblk1p2" or unknown-block(179,2)
    [    0.560841] CPU: 1 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.42-ti-gfe4718a972cf-dirty #1
    [    0.569437] Hardware name: Texas Instruments AM62P5 SK (DT)
    [    0.574994] Call trace:
    [    0.577431]  dump_backtrace+0xa0/0xe0
    [    0.581094]  show_stack+0x18/0x24
    [    0.584402]  dump_stack_lvl+0x34/0x8c
    [    0.588057]  dump_stack+0x18/0x24
    [    0.591363]  panic+0x378/0x38c
    [    0.594412]  mount_root_generic+0x324/0x33c
    [    0.598587]  mount_root+0x170/0x334
    [    0.602065]  prepare_namespace+0x6c/0x2a4
    [    0.606063]  kernel_init_freeable+0x240/0x280
    [    0.610414]  kernel_init+0x20/0x1d4
    [    0.613897]  ret_from_fork+0x10/0x20
    [    0.617465] SMP: stopping secondary CPUs
    [    0.621380] Kernel Offset: 0x80000 from 0xffff800080000000
    [    0.626849] PHYS_OFFSET: 0xfff1000080000000
    [    0.631018] CPU features: 0x00,00000080,00000000,4200420b
    [    0.636403] Memory Limit: none
    [    0.639447] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on "/dev/mmcblk1p2" or unknown-block(179,2) ]---

    Thanks

    Tom

  • Hi Thomas,

    Did you have the sd card inserted on the EVM (with coreimage flashed on it)?

    Can we connect at 11:30AM Dallas time today?

    Best Regards,

    Suren

  • Hi Tom,

    It was great catching up with you today. Feel free to give it a run again on your end as discussed and let us know how it goes.

    Will share the instructions on how to validate the same with 12.0 SDK early next week.

    Best Regards

    Suren