You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Download prepared ampdemo.zip and unzip it to /path/to/nuclei-sdk/application/freertos/
Now in Nuclei SDK folder
cd /path/to/nuclei-sdk/application/freertos/ampdemo
# make sure Makefile is in this ampdemo folder# build this application for U900FD, and generate binary
make CORE=u900fd clean
make CORE=u900fd bin
# sample binary as below
$ ll -h freertos_demo.bin
-rwxr-xr-x 1 hqfang hqfang 130K Nov 16 18:03 freertos_demo.bin
# copy this binary to Nuclei Linux SDK's folder as conf/evalsoc/amp/amp_c1.bin
mkdir -p /path/to/nuclei-linux-sdk/conf/evalsoc/amp/
cp -f freertos_demo.bin /path/to/nuclei-linux-sdk/conf/evalsoc/amp/amp_c1.bin
Build Linux SDK for U900FD
Now in Nuclei Linux SDK folder, make sure you are using a clean and up to date dev_nuclei_5.10_v2 branch
cd /path/to/nuclei-linux-sdk
# build and generate freeloader and boot images for sdcard# make sure step 1 changes have been made, and step 5 freertos binary has been copied
make CORE=u900fd freeloader bootimages
Get a 2 Core U900FD FPGA bitstream from Nuclei AE and evaluate it on hardware, this is not possible to run on Nuclei QEMU.
UX900FD SMP2(ECLIC+PLIC Required),CPU 0 run Linux Kernel 6.6, and CPU 1 run FreeRTOS.
Follow #18 (comment) steps to modify and build linux kernel images and freertos image.
The above example is for rv32, here we use rv64, so building image command is different as below:
Linux sdk branch switch to dev_nuclei_6.6_v2 . If prebranch is not dev_nuclei_6.6_v2, it's better to remove output built images work directory and then rebuild images.
build linux images for UX900FD
make CORE=ux900fd freeloader bootimages
# if place kernel images at SDCard, please add BOOTMODE=sd parameters to make command, such as # make CORE=ux900fd BOOTMODE=sd freeloader bootimages
build freertos images for UX900FD
make CORE=ux900fd clean
make CORE=ux900fd bin
Here is sample output, you can see freertos and linux both output in the same uart:
Let us take Nuclei
U900FD
(rv32imafdc) 2 SMP Core as example, CPU 0 run Linux Kernel 5.10, and CPU 1 run FreeRTOS demo.Both Linux and FreeRTOS runs on DDR memory:
0x80000000 -> 0xFE000000
0xFE000000
to0xFE040000
Let us clone source code and switch to
dev_nuclei_5.10_v2
branch, following steps how to do git clone clean source code 如何Clone下载干净的代码 #10Modify
conf/evalsoc/build.mk
andconf/evalsoc/freeloader.mk
as below:Clone Nuclei SDK 0.5.0 master branch from https://github.com/Nuclei-Software/nuclei-sdk
Following steps in https://doc.nucleisys.com/nuclei_sdk/quickstart.html to setup Nuclei SDK build environment
Download prepared ampdemo.zip and unzip it to
/path/to/nuclei-sdk/application/freertos/
Get a 2 Core U900FD FPGA bitstream from Nuclei AE and evaluate it on hardware, this is not possible to run on Nuclei QEMU.
Following steps in https://github.com/Nuclei-Software/nuclei-linux-sdk/tree/dev_nuclei_5.10_v2#upload-freeloader-to-fpga-evaluation-board to upload freeloader and place boot images into SDCard.
Here is sample output, you can see freertos and linux both output in the same uart:
linux_5.10_freertos_ampdemo.log
Our prebuilt images could be found here:
The text was updated successfully, but these errors were encountered: