Sipeed矽速科技
直播中

范嘉琦

6年用户 76经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[经验]

【LicheeRV-Nano开发套件试用体验】LicheeRV Nano 开箱

一、和一代对比

LicheeRV Nano是对milkv-duo的二代提升。与此同时,算力芯片也提升了一个台阶。

首先最明显的是1TOPS的NPU。相比一代TPU,功能更全面,同时算力有了较大的性能提升

视频方面,对视频的优化提供了更好地硬件支持

接口方面倒是没啥大的提升。只是增加了一个SD口,同时支持了EMMC。但是SD0和EMMC只能二选一

二代芯片增加了一个ARM主核。但是主核竟然不能和RiscV核同时使用,只能通过引脚二选一。这部分的应用场景不知道在哪里。毕竟硬件固件并不兼容。

二、板卡

1709890732731.png

这次测评厂商送的零件还是比较齐全的。首先网卡和7寸屏都给了。尤其是给了7寸屏。能做很多实验。而且屏幕成本稍高,确实对测评有着不小的帮助。

然而,网卡模块采用FPC软排自己手动焊接的方式。这个方式网卡模块一旦上去,就不好拿下来了。毕竟FPC软排不能被来回折腾。与此同时,固定网卡模块还占用了俩排针位。需要提前将这个位置的排针拔出去。同时还占用了本就不多的插针位置。有点不太友好。

三、上电

这次比之前人性化的地方就是USB供电接口,RNDIS,以及调试串口被集成了。这下可以节省掉令人烦躁的TTL调试口飞线,找USB转串口板子,以及维护这两根线的精力。

Image1.png

主流的一些工具软件确实没有。对于新手影响大

Image2.png

镜像配置了基本的扩容能力。所以可以完整地利用存储卡空间。

四、开发

这代比之前的一大好处是,CV1800B时代的编译链需要自己手动编译。虽然不难。但是这一版本直接由官方提供了工具链,免去了菜鸟刚入门的开发危机。

Image3.png

不过需要注意的是,其实她系统没给准备啥库。一打开就是空空荡荡的系统。所以想要开发啥软件,还是要自己搞一下库的问题。

测个小项目:

注意: 这里一定要用sysroot指定编译根目录。否则它会用编译器默认的库。而这个库和你官方固件对不上。第二就是一定要用CMAKE_C_FLAGS指定平台,否则也对不上库。

cmake_minimum_required(VERSION 3.20)

SET(CMAKE_C_COMPILER /home/host-tools/gcc/riscv64-linux-musl-x86_64/bin/riscv64-unknown-linux-musl-gcc)

project(CGobjectTest C)

SET(CMAKE_C_FLAGS "-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d")

SET(CMAKE_SYSROOT "/home/host-tools/gcc/riscv64-linux-musl-x86_64/sysroot")

add_executable(CGobjectTest main.c)
#include <stdio.h>
#include <string.h>

int main(int argc, char* argv[]) {
  printf("Hello World!\n");

  for (int index=0; index<argc; index++){
    printf("get argv id: %d |info:%s\n", index, argv[index]);
  }

  if (argc >= 3){
    if (strcmp(argv[1], "-a") == 0 && argc >= 3){
      printf("get argv: %s\n", argv[2]);
    }else{
      printf("no params info\n");
    }
  }else{
    printf("not argv\n");
  }

  return 0;
}

输出如下:

# ./CGobjectTest -a 123
Hello World!
get argv id: 0 |info:./CGobjectTest
get argv id: 1 |info:-a
get argv id: 2 |info:123
get argv: 123

更多回帖

发帖
×
20
完善资料,
赚取积分