LicheeRV Nano Develop

更新历史
日期 版本 作者 更新内容
2024-1-26 v0.1 30028

芯片手册

datasheet: https://github.com/sophgo/sophgo-doc/releases

芯片启动流程

  1. bootrom 判断sd卡第一个FAT32分区内是否拥有 fip.bin,如果有,则执行2,如果没有,则进入usb烧录模式(提供一个ACM串口从机设备)

  2. 加载fip.bin,跳转到fsbl,初始化clock,DRAM,执行3

  3. 加载opensbi,执行,然后跳转到uboot,执行4

  4. uboot加载第一个分区内的boot.sd文件到DRAM,如果文件没有问题,跳转到5

  5. 跳转到boot.sd内提供的代码(通常是Linux内核)

cvi_mmf_sdk

基于算能官方SDK修改,如果要使用mmf框架,则必须使用这个SDK

源码:

https://github.com/sipeed/LicheeRV-Nano-Build/tree/v4.1.0-licheervnano

构建环境搭建可以参考repo内的github cicd文件:

https://github.com/sipeed/LicheeRV-Nano-Build/blob/main/.github/workflows/licheervnano-host-linux-amd64.yml

文档:

主线buildroot

TODO

基于主线buildroot,提供更干净的构建环境

openwrt

TODO

基于主线openwrt,面向将板子当作便携无线AP的用户。

alpine linux

TODO

基于主线alpine linux,面向在板子上跑distro的用户。

引脚复用

这些寄存器的描述可以在芯片手册中找到

提供两种方法修改引脚复用

  1. 进入系统后读写/dev/mem修改pinumux:
devmem REG_ADDDRESS 32 VALUE
  1. 在uboot里面修改pinmux:

例如,wifi的pinmux:

https://github.com/sipeed/LicheeRV-Nano-Build/blob/926bbe94f4f00059ce0ff3857cc72a708aa85122/build/boards/cv181x/cv1812cp_licheerv_nano_sd/u-boot/cvi_board_init.c#L52

初始化MIPI TX

算能SDK提供两种方式:

  1. 在middleware中的用户空间demo中添加屏幕初始化序列.

  2. 在uboot中添加屏幕的初始化序列.(目前使用这种方式)

初始化MIPI RX

算能SDK的MIPI RX只能在用户空间初始化,需要修改middleware中的代码