(五)RISC-V核输出Hello World
飞凌嵌入式OK536N-C开发板
使用 玄铁E907 RISC-V核开发的开发环境采用飞凌嵌入式官方提供的VMWare虚拟机OK536-VM15.5.6-ubuntu20.04(详细内容见:https://bbs.aw-ol.com/topic/6392/飞凌嵌入式ok536n-c开发板-二)
1.进入OKT536-linux-sdk目录,并运行“./build.sh rtos”对RISC-V核进行单独编译。
开发_1.png
2.完成上述步骤则RISC-V核开发环境配置正确,可以开始进行开发了。
3.我们仿照RTOS的样例来写Hello World代码。首先在“rtos/lichee/rtos-hal/hal/test/”路径下建立HelloWorld文件夹,并在HelloWorld文件夹中添加“HelloWorld.c”文件。
开发_2.png
开发_3.png
4.在“HelloWorld.c”文件中输入如下代码。
#include <stdio.h>
#include <hal_log.h>
#include <hal_cmd.h>
#include <hal_mem.h>
static int HelloWorld()
{
printf("HelloWorld\n");
return 0;
}
FINSH_FUNCTION_EXPORT_CMD(HelloWorld, HelloWorld, Print tests)
开发_4.png
5.在HelloWorld文件夹中的Makefile中添加“obj-y += HelloWorld.o”;在test文件夹中的Makefile中添加“obj-$(CONFIG_HAL_TEST_HELLOWORLD) += HelloWorld/”;在“OKT536-linux-sdk/rtos/lichee/rtos/projects/t536_e907/demo/deconig”中添加“CONFIG_HAL_TEST_HELLOWORD=y”;在“OKT536-linux-sdk/rtos/lichee/rtos/.config”中添加“CONFIG_HAL_HelloWorld=y”
HelloWorld文件夹下Makefile
obj-y += HelloWorld.o
test文件夹下Makefile
obj-$(CONFIG_HAL_TEST_HELLOWORLD) += HelloWorld/
OKT536-linux-sdk/rtos/lichee/rtos/projects/t536_e907/demo/deconig中添加
CONFIG_HAL_TEST_HELLOWORD=y
OKT536-linux-sdk/rtos/lichee/rtos/.config中添加
CONFIG_HAL_HelloWorld=y
开发_5.1.png
开发_5.2.png
开发_5.3.png
开发_5.4.png
6.运行“./build.sh rtos”此时在“/home/forlinx/OKT536-linux-sdk/device/config/chips/t536/bin/”中产生编译好的RISC-V镜像amp_rv0.bin
开发_6.png
7.运行“./build.sh rtos clean”及“./build.sh”对A核进行编译。
开发_7.png
8.使用“./build.sh pack”将编译生成的各种文件和配置文件进行打包。
开发_8.png
9.将“/home/forlinx/OKT536-linux-sdk/out/t536_linux_OKT536-C_uart0.img”烧录至开发板(详细内容见:
https://bbs.aw-ol.com/topic/6354/飞凌嵌入式ok536n-c开发板-一)
10.开发板A核中运行“echo amp_rv0.bin > /sys/class/remoteproc/remoteproc0/firmware”及“echo start > /sys/class/remoteproc/remoteproc0/state”
开发_9.png
11.开发板RISC-V核中运行HelloWorld,开发板打印出Hello World即为成功。
开发_10.png