Post Go back to editing

Yocto Linux build version 5.0.0 on ADSP-SC594 EZKIT - system freezes

Category: Software
Product Number: ADSP-SC594
Software Version: 5.0.0

Hi community,

I was very happy to run the process to build a Yocto Linux version 5.0.0 to be run on the SC594 EZKIT these days. In particular, the description how to build, release and install the system was really very good, thank you for that!

Unfortunately, the system does not really work in a stable way: once booted from SPI, the system freezes after a while. I found that it freezes within the time of a few seconds whenever a GBit cable is connected to the ethernet port. If no cable is connected, I have observed that the system freezes after some minutes, e.g., approximately 30 minutes.  

I also ran the system in nfsboot mode. Unfortunately, then, the system freezes after boot as well.

In the next step I built the older Yocto Linux version 3.1.2. With this version, the nfsboot on the EZKIT seems to work in a stable way. However, when trying to run spiboot, an error occurs whenever reading the kernel from spi memory in uboot with an error message reporting a wrong image format for bootm. I was able to work around this problem by using the stage1-boot.ldr and stage2-boot.ldr files from the version 5.0.0 build instead of the versions from 3.1.2 in combination with the kernel and the jff2 file from version 3.1.2.
Principally the boot process worked fine but later, unfortunately, error messages are shown indicating that the jff2 file system is broken (missing folder /var/run).

I am using a recent ADSP-SC594-EZKIT with SOM Rev C and EZKIT baseboard revision D.

Is there any kind of workaround to have version 5.0.0 running from SPI flash in a stable way?

Thank you and best regards

Hauke

Parents
  • Hi  ,

    Is this stock yocto/linux with nothing else running whatsover?

    Additionally, could you try the following steps with yocto 5.0.0:

    - Load uboot via gdb as usual

    - Once in uboot shell, run "run erase_spi"

    NOTE: This will take some time, do not worry if there is no output. The process should take about 10-15mins.

    - run "env default -a"
    - run "run update_spi"

    Alternatively, you could also attempt using the OSPI: github.com/.../Getting-Started-with-ADSP‐SC594-(Linux-for-ADSP‐SC5xx-Processors-5.0.0)

  • Hi,

    thank you for your response.
    I am using the stock yocto/linux - following in detail what is described on the website for version 5.0.0 Yocto/Linux build on a Ubuntu 24.04 host PC.

    I tried what you proposed:

    run erase_spi
    env default -a
    run update_spi

    Then switch boot switch to option 1 and reset. The system boots as expected and is then up and running. I then left the room and after 30 minutes, the watchdog had restarted the device. Hence, problem is still present even though the hang seems not to start immediately. A few days ago my feeling was that the uptime is shorter the longer the board is on, therefore, I added a cooling capability on the device - without any real impact.

    I also tried to run the OSPI option. However, I am not able to store the overall system on OSPI since the size of the image is too large (seems that OSPI is only 32 MB large).

    By the way, the behavior of the linux is also kind of strange: Typing, e.g., "ip a" does not return unless I push return. Could also be that something is broken in the serial output of the Linux with version 5.0.0.

    Thank you and best regards

    hkhauke

  • Yes, I started to "run ramboot" a few hours ago. The system was still stable after 6 hours - looks good. It does not show the weird console behavior reported earlier.

  • I could provide you with those six files (uboot, fitImage, root filesystem) which are stored in my /tftpboot folder for version 5.0.0 to give it a quick try.

  • Another update on this issue: I cross combined rootfs and kernels:

    1) Rootfs from version 5.0.0, Kernel from version 3.1.2 -> System runs properly and stable for at least 30 minutes
    2) Rootfs from version 3.1.2, kernel from version 5.0.0 -> System boots and hangs immediately

    No log can be reviewed as the system freezes without any verbose output. I cannot even logon using ssh as the system does not live long enough to view the IP address.

    Also, I have run the same tests on a second board today - same results, unfortunately. 

    From these tests I conclude that the problem is related to the kernel itself and not a hw issue.

    Best regards

  • Hi, I removed the ethernet from device-tree for Yocto-5 and spi boot seems stable. Will need to spend more time on this and see root cause of issue. 

  • We just found that some of the patches for the Linux kernel Yocto recipe (device tree) are applied for SC598 in case of machine type SC594. In this case, the patches will not be applied for SC594 since SC598 is ARM64 and SC594 is ARM(32) - hence the device trees are not modified. Maybe a hint for what goes wrong..

  • Heya, have created PR with the fix for SC594 https://github.com/analogdevicesinc/linux/pull/2966 I tried to run overnight with nfsboot and ramboot. Haven't observed any issues with stability anymore. 

  • Hi , very good work, thank you very much for that fix.

    I wonder: I tried to directly change the yocto files to include your version of the kernel. However, the rev id in the branch of the "meta-adi" layer currently points to version "2d5498652adadf55189c4f1b2d591b8db49e59be" for the linux recipe - which is an older version of the adsp-main-6.12 branch. When I switch that to a current version - e.g., commit id "530b3a667811cc9bbac47f7127996694b38cd1e5" - of branch adsp-main-6.12 in the linux recipe the Yocto build fails since the patches located in the "meta-adi" Yocto layer can not be employed properly. I am using the "main" branch of the "meta-adi" layer, is there another branch I could checkout to obtain the latest Yocto patches and allow to directly involve your patch?

  • Hi, yes as its PR its now located at branch adsp-main-6.12-sc594-ethernet-dma 
    When it will be approved and merged it will be located at adsp-main-6.12

  • Perfect, thank you very much - PR is done and closed.

    However, still there is the problem I reported earlier: 

    In order to build the system with your latest patch, I need to modify the file "meta-adi/meta-adi-adsp-sc5xx/recipes-kernel/linux/linux-adi_%.bb" in the meta-adi Yocto layer to checkout the latest SRCREV:


    That is the revision which was born today due to the PR.

    When doing this, unfortunately, the Yocto build fails:



    This makes absolutely sense since between the old revision "2d5498.." and the new version "605ec077..", the *.dtsi file has been changed according to the commit history in Github. In order to fix this, it seems that an update of the meta-adi layer is also required to update the patch files.

  • Have cloned the repo and applied patch without issue. Build Yocto-5.0.0 with setting for CRR_REV "A" and "D" couldn't reproduce observed issue. 

Reply Children
No Data