polarfire-soc / polarfire-soc-documentation

PolarFire SoC Documentation
Other
37 stars 19 forks source link

build failure (DEVKIT=icicle-kit-es) #62

Closed luoflyxidian closed 2 years ago

luoflyxidian commented 3 years ago

I am getting following build error while doing a make all for icicle-kit-es.

make[1]: Entering directory '/home/luo/multicore/polarfire-soc-buildroot-sdk/work/buildroot_build'

toolchain-external-custom Configuring Unable to detect the toolchain sysroot, Buildroot cannot use this toolchain. package/pkg-generic.mk:254: recipe for target '/home/luo/multicore/polarfire-soc-buildroot-sdk/work/buildroot_initramfs/build/toolchain-external-custom/.stamp_configured' failed make[2]: *** [/home/luo/multicore/polarfire-soc-buildroot-sdk/work/buildroot_initramfs/build/toolchain-external-custom/.stamp_configured] Error 1 Makefile:84: recipe for target '_all' failed

Have anyone ever had such problems?

ConchuOD commented 3 years ago

Hi, apologies for the delay getting back to you. Can you provide some more information on your setup? Are you using an external toolchain or the one provided with the sdk?

luoflyxidian commented 3 years ago

Hi, apologies for the delay getting back to you. Can you provide some more information on your setup? Are you using an external toolchain or the one provided with the sdk?

Thank you for your reply. I fix it by rebuild riscv-gnu-toolchain.Now linux has been booted. I have another question. After u54s running linux, I want to boot freertos on e51, what should I do? Can you give me some advices, thank you.

mcnamarad1971 commented 3 years ago

Just speaking generally, are you tied to using the E51? It would be far easier to run Linux, for example, on U54-1, -2, and -3 and put FreeRTOS on U54-4.

luoflyxidian commented 3 years ago

Just speaking generally, are you tied to using the E51? It would be far easier to run Linux, for example, on U54-1, -2, and -3 and put FreeRTOS on U54-4.

Thank you very much for your reply. If I want to run FreeRTOS on U54-4,how to do it. I learned a few ways by reading ‘’OpenAMP Framework for Zynq Devices‘’.I came up with a similar plan.Using OpenAMP framework remoteproc stop u54_4, u54_4 unloaded from Linux and is setup to execute the FreeRTOS. What method do you use?Looking forward to your reply.

vfalanis commented 3 years ago

Hi,

You could use the HSS payload generator to load a bare metal or FreeRTOS application on U54-4. In this way you would have two entries in the HSS YAML file, one for U-boot which will run Linux (on U54-1, -2 and -3), and a second entry which loads an ELF file on U54-4.

For detailed information, please refer to the HSS payload documentation.

We also have a YouTube playlist explaining how to run a bare metal application from the DDR.

A similar AMP example configuration (Linux + FreeRTOS) will be integrated to our Yocto and Buildroot environments as part of our next release.

luoflyxidian commented 3 years ago

Hi,

You could use the HSS payload generator to load a bare metal or FreeRTOS application on U54-4. In this way you would have two entries in the HSS YAML file, one for U-boot which will run Linux (on U54-1, -2 and -3), and a second entry which loads an ELF file on U54-4.

For detailed information, please refer to the HSS payload documentation.

We also have a YouTube playlist explaining how to run a bare metal application from the DDR.

A similar AMP example configuration (Linux + FreeRTOS) will be integrated to our Yocto and Buildroot environments as part of our next release.

Thank you for your prompt reply. I will try to bulid the AMP system as you suggest.Thanks again.

luoflyxidian commented 3 years ago

Hi,

You could use the HSS payload generator to load a bare metal or FreeRTOS application on U54-4. In this way you would have two entries in the HSS YAML file, one for U-boot which will run Linux (on U54-1, -2 and -3), and a second entry which loads an ELF file on U54-4.

For detailed information, please refer to the HSS payload documentation.

We also have a YouTube playlist explaining how to run a bare metal application from the DDR.

A similar AMP example configuration (Linux + FreeRTOS) will be integrated to our Yocto and Buildroot environments as part of our next release.

Hi, Another problem is whether I can use u54_1 to run openSBI instead of e51,I want to use e51 to do other things.

griffini commented 3 years ago

Hi, Another problem is whether I can use u54_1 to run openSBI instead of e51,I want to use e51 to do other things.

Hi @louflyxidian, can you explain a bit more what you mean by this, and we can see if what you want is supported?

The OpenSBI is actually available on all U54s, it is the HSS super loop that runs on the E51.

luoflyxidian commented 3 years ago

Hi, Another problem is whether I can use u54_1 to run openSBI instead of e51,I want to use e51 to do other things.

Hi @louflyxidian, can you explain a bit more what you mean by this, and we can see if what you want is supported?

The OpenSBI is actually available on all U54s, it is the HSS super loop that runs on the E51.

Hi @griffini , thank you for your reply. Maybe what I said is not clear. I want to know whether u54s can run HSS which include openSBI service, and boot to run linux by themself, I want to run bare metal apps or FreeRTOS on e51, because when e51 runs HSS, it is in a loop and can only be used to switch from S mode to M mode. So I want to release e51 to do other things.

luoflyxidian commented 3 years ago

Hi,

You could use the HSS payload generator to load a bare metal or FreeRTOS application on U54-4. In this way you would have two entries in the HSS YAML file, one for U-boot which will run Linux (on U54-1, -2 and -3), and a second entry which loads an ELF file on U54-4.

For detailed information, please refer to the HSS payload documentation.

We also have a YouTube playlist explaining how to run a bare metal application from the DDR.

A similar AMP example configuration (Linux + FreeRTOS) will be integrated to our Yocto and Buildroot environments as part of our next release.

Hi @vfalanis , I use hss to boot a bare metal application(mpfs-blinky). But when it jump to 0x08030000,the minicom appear messy codes as shown below.

&2�����������������������������������������������������������������������������

In u54_1_application function, the code is safe_MSS_UART0_polled_tx_string("Hello World from e51 (hart 0).\r\n");

I set the baut rate to 115200. I don't know why the minicom(or putty) output is incorrect. Can you give me some advise?

vfalanis commented 3 years ago

Hi,

Could you please use the mpfs-gpio example available on the polarfire-soc-bare-metal-examples repository?

The mpfs-gpio-interrupt example project is the up to date version which can be used to test GPIOs on the Icicle Kit.

luoflyxidian commented 3 years ago

@vfalanis With your help, I have successfully built the AMP system. Now I have another question. If I want to reboot any of the U54 cores, what should I do. And I dont't want to reboot all U54 cores through e51. Can you give me some advise? Thank you.

vfalanis commented 3 years ago

Hi,

At the moment there is no direct way to do a reboot request from E51 to an individual U54 core. This is something that will be implemented as part of the next HSS (hart software services) release. In the next HSS release, a boot request message could be used to reboot a particular U54 core using OpenSBI.