Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    LicheeRV 入门开发一帖通

    MR Series
    1
    1
    2156
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • q1215200171
      budbool LV 9 last edited by

      目录

      • 板卡系列介绍
      • 开箱教程
      • 上手点灯
      • 外设功能验证
      • Debian镜像体验
      • BSP SDK 开发指南
      • WAFT 开发指南

      1. 板卡系列介绍
      LicheeRV系列是Lichee系列下的RV子系列,主要为RISC-V内核的Linux SBC产品。
      目前有以下几款产品:Nezha CM, HDMI Dock, 86-Panel
      购买地址为:https://item.taobao.com/item.htm?id=663345415205
      交流QQ群为:488268051

      板卡相关开发资料已上传到百度云:

      链接:https://pan.baidu.com/s/1QJTaDw6kkTM4c_GAlmG0hg
      提取码:wbef

      NB20jdpSzAHsjCn6vmnbdvPGPzjN3WsgNV6zlOcS.png

      01GV2mogRbep6UkmNyQDObvBu5eQxncPvq8bNAlc.png

      ax0kjeXJ1nlukfIqVf2vsauhBlwj5zCZQRdqNr4q.png

      2. 开箱教程
      LicheeRV产品默认使用TF卡启动,不管你购买的哪款产品,请先备好tf卡与读卡器。

      烧录软件
      全志镜像的卡烧录工具下载地址:https://dl.sipeed.com/shareURL/LICHEE/D1/SDK/
      下载 PhoenixCard.rar 解压运行其中的主程序即可

      系统镜像
      默认系统镜像已上传到百度盘,会持续更新

      系统镜像分为 Tina与Debian两种,Tina为专用小linux镜像,Debian为桌面级镜像

      板级配置
      在上述百度盘的board目录下为板级配置文件,如果底包(系统镜像)的后缀与实际板卡不符,需要再使用此fex覆盖板级配置来正确显示。

      烧录步骤
      打开烧录软件,按顺序点击下图按键进行烧录对应镜像

      CQe4odVaM6LIFMR043hRj5o4luanrW9htBmSC5h5.png

      如果烧录的镜像后缀与板子实际型号不符,下载对应的 boot_package_XXX.fex 来覆盖板级配置

      覆盖指令为:

      sudo dd if=boot_package_XXX.fex of=/dev/sdX bs=1K seek=16400
      

      前面的镜像烧录,建议使用USB3.0的读卡器烧录,此时烧录100MB的Tina镜像约用时半分钟,烧录4GB的Debian镜像,约用时10分钟。

      开机启动
      将上面烧录好的镜像卡,插入核心板的tf卡槽里,接好系统串口(86 panel板载了USB转串口,可以直接插对应C口),上电启动,可以在串口以115200波特率看到系统启动信息,Tina启动时间约10s,Debian启动时间久些,约2~3分钟。

      BusyBox v1.27.2 () built-in shell (ash)
      
          __  ___     _        __   _   
         /  |/  /__ _(_)_ __  / /  (_)__  __ ____ __
        / /|_/ / _ `/ /\ \ / / /__/ / _ \/ // /\ \ /
       /_/  /_/\_,_/_//_\_\ /____/_/_//_/\_,_//_\_\ 
       ----------------------------------------------
       Maix Linux (Neptune, 5C1C9C53)
       ----------------------------------------------
      

      以上是Tina系统进入系统终端的logo打印,出现该字样说明系统启动成功

      如果你需要使用ssh登录,则默认Tina的用户名密码为 root,tina
      Debian的用户名密码为 sipeed,licheepi

      如果你只购买了LICheRV D1核心板,需要传输大文件的话,可以使用adb进行文件传输,adb push/pull 即可。

      3.点灯教程
      当我们成功进入系统后,就可以进行基础的点灯操作啦!
      (注:该教程不适用于86-panel,因为对应引脚连接了外设,86panel用户可以拆下核心板来操作实验)

      核心板的螺丝固定焊盘旁有一颗LED,查看原理图:https://dl.sipeed.com/shareURL/LICHEE/D1/HDK/Lichee_RV/2_Schematic

      可知该LED连接的是PC1,换算该IO的数字标号为:2*32+1=65,或者查看IO复用情况表:

      cat /sys/kernel/debug/pinctrl/2000000.pinctrl/pinmux-pins
      ...
      pin 64 (PC0): device 2008000.ledc function ledc group PC0
      pin 65 (PC1): UNCLAIMED
      pin 66 (PC2): UNCLAIMED
      pin 67 (PC3): UNCLAIMED
      pin 68 (PC4): UNCLAIMED
      pin 69 (PC5): UNCLAIMED
      pin 70 (PC6): UNCLAIMED
      pin 71 (PC7): UNCLAIMED
      

      我们先导出该GPIO:

      echo 65 > /sys/class/gpio/export
      cd /sys/class/gpio/export/gpio65
      

      然后再将该IO置为输出状态,即可操作其电平:

      echo out>direction
      echo 1 > value  #LED点亮
      echo 0 > value  #LED熄灭
      

      至此我们就成功在RISC-V 64 D1上点灯啦~

      你也可以对 串行RGB LED WS2812 进行花式点灯:

      cd /sys/class/leds/
      	echo 255 > sunxi_led0r/brightness;echo 0 > sunxi_led0g/brightness;echo 0 > sunxi_led0b/brightness;
      	echo 0 > sunxi_led0r/brightness;echo 255 > sunxi_led0g/brightness;echo 0 > sunxi_led0b/brightness;
      	echo 0 > sunxi_led0r/brightness;echo 0 > sunxi_led0g/brightness;echo 255 > sunxi_led0b/brightness;
      

      4. 外设功能验证

      4.1 音频功能

      录音设备查看

      root@MaixLinux:~# arecord -l
      **** List of CAPTURE Hardware Devices ****
      card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC 2030000.codec-0 []
        Subdevices: 1/1
        Subdevice 0: subdevice 0
      card 1: snddmic [snddmic], device 0: 2031000.dmic-dmic-hifi dmic-hifi-0 []
        Subdevices: 1/1
        Subdevice 0: subdevice 0
      card 2: sndhdmi [sndhdmi], device 0: 2034000.daudio-audiohdmi-dai 20340a4.hdmiaudio-0 []
        Subdevices: 1/1
        Subdevice 0: subdevice 0
      

      播放设备查看

      root@MaixLinux:~# aplay -l
      **** List of PLAYBACK Hardware Devices ****
      card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC 2030000.codec-0 []
        Subdevices: 1/1
        Subdevice 0: subdevice 0
      card 2: sndhdmi [sndhdmi], device 0: 2034000.daudio-audiohdmi-dai 20340a4.hdmiaudio-0 []
        Subdevices: 1/1
        Subdevice 0: subdevice 0
      

      录放音测试:

      arecord -D hw:1,0 -f S16_LE -t wav -d 3 t.wav 
      	aplay -D hw:0,0 t.wav
      

      另外可以使用alsamixer 进行音量调整

      4.2 USB功能
      默认内核支持外挂U盘的驱动,插上U盘后可以使用 fdisk -l 查看到新增的 /dev/sda
      如果U盘没有被格式化,可以使用mkfs.vfat指令来格式化U盘,再使用mount指令挂载
      默认Tina固件里的 /dev/mmcblk0p8 分区即可使用上述方式格式化后挂载,来提升可用空间

      4.3 有线网络
      LicheeRV-86 Panel 支持百兆网络,使用套餐附送的网线尾线接上网线后,执行以下指令来连接有线网络

      ifconfig eth0 up
      udhcpc -ieth0
      

      4.4 无线网络
      LicheeRV 底板默认使用XR829或者RTL8723BS wifi模块,可以使用以下指令进行联网操作:

      先配置热点信息:

      vim /etc/wifi/wpa_supplicant.conf
      	network={  
      		ssid="Sipeed_2.4G"  
      		psk="XXXX"  
      	} 
      配置完成后重启
      

      ,ifconfig wlan0 up; udhcpc -iwlan0 即可连上对应的wifi。
      连上网络后,你就可以使用ssh远程登录板卡,或者使用scp来进行文件传输啦~

      4.5 屏显触摸
      LicheeRV系列支持以下显示屏:

      SPI屏		1.14寸屏(TODO)
      RGB屏		4.3寸 480x272;5.0寸 800x480;
      RGB+SPI屏	4.0寸 480x480(st7701s); 4.0寸 720x720(nv3052c)
      MIPI屏		8.0寸 1280x720(ILI9881C)
      

      Tina下可以通过以下指令测试屏幕显示:
      fbviewer xxx.jpg
      如果需要调试屏幕驱动,可以使用以下指令查看屏幕驱动信息:

      cat /sys/class/disp/disp/attr/sys
      
      screen 0:
      de_rate 300000000 hz, ref_fps:60
      mgr0: 480x480 fmt[rgb] cs[0x204] range[full] eotf[0x4] bits[8bits] err[0] force_sync[0] unblank direct_show[false] iommu[1]
      dmabuf: cache[0] cache max[0] umap skip[0] overflow[0]
      	lcd output	backlight( 50)	fps:59.5	esd level(0)	freq(60)	pos(0)	reset(0)	 480x 480
      	err:0	skip:184	irq:230715	vsync:0	vsync_skip:0
         BUF    enable ch[1] lyr[0] z[16] prem[N] a[globl 255] fmt[  0] fb[ 480, 480; 480, 480; 480, 480] crop[   0,   0, 480, 480] frame[   0,   0, 480, 480] addr[ffe00000,       0,       0] flags[0x       0] trd[0,0]
      

      屏幕彩条测试:echo 1 > /sys/class/disp/disp/attr/colorbar

      如果你购买的是86面板套餐,可以使用 ts_test进行触摸测试
      (注意触摸驱动有瑕疵,ts_test测试时松开后,光标会不动,但是终端仍会正常打印信息)

      4.6 视频播放
      最终我们可以尝试在LicheeRV上播放BadApple啦~
      Tina镜像中内置了ffmpeg软件包,ffmpeg是强大的多媒体库,可以用于录屏或者播放
      录屏指令:ffmpeg -f fbdev -framerate 10 -i /dev/fb0 record.avi
      播放指令(分别是扬声器播放音频和hdmi播放音频):

      ffmpeg -i /mnt/UDISK/badapple_640480_xvid.mp4 -pix_fmt bgra -f fbdev /dev/fb0 -f alsa hw:0,0  
      ffmpeg -i /mnt/UDISK/badapple_640480_xvid.mp4 -pix_fmt bgra -f fbdev /dev/fb0 -f alsa hw:2,0
      

      这里由于是CPU软解,所以测试最高分辨率约为720x540, 再高会变卡

      4.7 麦克风阵列
      如果你使用的是dock板,那么还可以外接麦克风阵列版进行声场成像演示:
      直接执行debian系统下内置的micarr_0609指令即可
      有麦克风阵列相关的二次开发需求,可以联系support@sipeed.com

      5. Debian镜像体验
      对于只接触过桌面级系统的开发者,推荐使用Debian镜像,可在上面的网盘里下载
      LicheeRV_Debian_86_480p 为 480p的86盒板卡的debian镜像
      LicheeRV_Debian_hdmi 为 dock的hdmi输出的debian镜像
      如果是其他板卡或者屏幕,请自行使用对应的fex覆盖板级配置。
      烧录完成后,插卡启动,稍等2分钟左右,屏幕上就会显示登录界面

      z8QlbfdC11GLaT5dis9epd1DdfbRPpRsa6XEi2AU.png

      输入用户名 sipeed,密码 licheepi,即可进入桌面 (使用USB HOST口外接键鼠输入)

      2uBMvAjSuX8VLL3kVVKmBCUIxqOPJgVyYsl7MTge.png

      进入桌面后可以进行一些基础操作

      jtKDz9H3AvMrfmLCSwQW3QR8sRXQEDjAJFMG9KaI.png

      接下来让我们尝试在Debian下跑一下Hello World:

      vuluuJDdW5sJm2dSy60HmqUvpYJ6YJMuIinX3Y0N.png

      另有720P高清屏的效果对比,有米的同学可以考虑入手:

      77KuMcmppgJn44doDQMYBBi8pPDRdKwkXm9HPit6.png

      E1qugpwslyoHbknndO5KDqv3tjclx3GUWM5QDzN4.png

      6.BSP SDK 开发指南
      为了方便用户自行开发,矽速整理发布了 LicheeRV 的bsp开发docker镜像,大家使用该镜像可以快速开始D1的系统级开发。
      在网盘中下载对应的docker文件后,解压到tar文件,
      docker import licheerv_d1_compile.tar licheerv_d1_compile:lastest
      然后即可run该容器,用户名为nihao,密码为sipeed123
      进入容器后的基础编译操作为:

      cd ~/sdk/tina-d1-open_new/
      source build/envsetup.sh
      lunch   //选1
      make menuconfig //去掉里面的 alsa-plugin选项,否则编译不过
      make -j96 #按实际核数编译
      pack  # 打包
      

      SDK内置了一些版型的dts,你可以自行选择编辑:
      device/config/chips/d1/configs/nezha/board_xxx.dts

      其他SDK的开发说明,可以参见全志开发平台上下载的相关文档
      https://open.allwinnertech.com/
      也可以加全志交流QQ群:498263967

      如果需要自己下载SDK开发,参考全志在线相关网页:https://d1.docs.aw-ol.com/en/

      7.WAFT 开发指南
      TODO

      转载自Sipeed社区:https://bbs.sipeed.com/thread/1300

      1 Reply Last reply Reply Quote Share 0
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策