我平头哥RVB2601板子到了,第一件事就是上电测试一下看看板子好坏。当上电后听到一个女声“欢迎使用YOZ例程”,oled屏幕显示RISC-V,看来板子能够工作。接下来想安装一下开发环境,尽快熟悉一下如何开发。但是这一步确遇到了很大的困难。首先是资料非常的少好不容易找到了“阿里云开发者”网站,结果东绕西绕才找到开发工具页面。但是页面上有3个工具下载那个呢?好像第三个不想,就下载了CDK和CDS两个工具,这两个工具一个是基于eclipse的CDS,另一个是C++开发的CDK,使用的是wxwidgets库开发的。先是安装的cds,这个工具需要java环境,我的机器上倒是有java,安装后打开后乱七八糟的,我对eclipse的C/C++开发环境印象很差,也没有多研究就卸载了。然后安装CDK,表面上看上去很顺利好像安装成功了,但是在使用时确出现了很多问题。第一、打开工具后新建一个项目,结果发现根本就没有RVB2601的模板,甚至就连E906 CPU的模板都没有。无法使用
第二、于是打开可下载的例程ch2601_helloworld结果也一样悲剧,项目无法构建,错误是无法找CH2601的SDK设置。此时问题变的复杂了,我整个上晚都在找问题的原因。直到第二天才找到一点有用的信息。说是CDK在初次编译项目时需要下载很多的东西。这个使我意识到可能需要设置什么地方让CDK可以下载项目需要的东西。于是又开始疯狂的找信息,后来在一段视频中发现有关于构建hello_world项目的内容。关键是在软件开始页中点击+新建工程,然后在第二页中搜索CH2601,
看到项目后点击“+创建工程”
这时后CDK开始下载项目,并且自动开始下载相关的文件。这时的hello_world项目才可以使用
可以看到SDK_chip_ch2601(v7.4.3)和packages的信息出现在项目中。使用F7或菜单编译项目,就可以下载到芯片里了。
下载成功后在打开文件SDK包中的例程这时也可以顺利编译了。
/*
* Copyright (C) 2019-2020 Alibaba Group Holding Limited
*/
#include <stdlib.h>
#include <string.h>
#include <aos/aos.h>
#include "aos/cli.h"
#include "main.h"
#include "app_init.h"
#include "oled.h"
#define TAG "app"
int main(void)
{
board_yoc_init();
LOGD(TAG, "%s\n", aos_get_app_version());
oled_init();
while (1) {
LOGD(TAG, "Hello world! YoC");
aos_msleep(1000);
}
return 0;
}
在例程中可以看到#include <aos/aos.h> 和 #include "aos/cli.h"的包含文件说明:这一例程是使用alios系统的。
CH2601是使用E906系统的,支持 RISC-V RV32IMA[F][D]C[P] 指令集,但是不知道为什么F、D、P都带括号,是什么意思不明白。RISC-V的CPU就和ARM的M0、M3、M4、A7差不多,只要知道是什么指令集就可以知道使用什么编译编译器了。这个指令集说明E906的系统是可以使用GCC的RISC-V的通用编译工具的,这让我不明白的是国产软件为什么非要个什么CDK的“壳”出来。费事不说而且还不好用。看到CDK的一些文件使用了VIM的语法提示和高亮模型,老老实实的做好BSP库不是更好吗。看到FlashProgrammer是用C#写的,而且用的是通用的WINUSB驱动,呵呵看来制作团队的水平和我差不多,这个让我信心大增。最近intel收购了SiFive,看来RISC-V和ARM的战场看来更加的激烈啦。不过依intel的脾气肯定会大福的在自家的产品中夹带私货,这会增加RISC-V出现碎片化的可能。
|