sipeed / licheerv-nano-build Goto Github PK
View Code? Open in Web Editor NEWLicheeRV-Nano-Build
LicheeRV-Nano-Build
Has anyone had any success getting JTAG working?
I've got the sipeed SLOGIC and setup the pinmux for JTAG, but it can't be detected....
root@bullhomedocker:/DATAS/RISCV# git clone https://github.com/sipeed/LicheeRV-Nano-Build.git licheeRV-nano
Cloning into 'licheeRV-nano'...
remote: Enumerating objects: 186754, done.
remote: Counting objects: 100% (476/476), done.
remote: Compressing objects: 100% (314/314), done.
error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
error: 4106 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
ION reserves approx. 30% of the whole RAM (75MB of 256MB):
Ion: Ion memory setup at 0x000000008b300000 size 75 MiB
As far as I understand ION is basically a memory manager for Android. If Android is not used, is ION still necessary? (Are there certain drivers that will not work without ION?)
I don't want to use Android and I would like to have more memory available in the regular Linux userspace. If ION is still needed for some drivers, can the size be reduced to less than the 75 MiB?
(I haven't found documentation regarding this so far, so if there is any documentation I'd be happy to get some pointers as well.)
In most of my potential use-cases I'll probably use the board without using the NPU, audio/video subsystem, no video input and with no video output. (Headless basically)
I also would like to understand more how all the parts of the system & boot process come into play when running in RV mode. My current understanding is:
So mostly I wonder what the FreeRTOS does (apart from audio?), which core it's running on and if it continues running in parallel to the normal OS.
The OpenSBI monitor probably stays active in the background as well when the regular OS comes up?
Anyway, as far as I can see RTOS and SBI don't take up much RAM compared to ION. Therefore I'd like to get rid of ION if it's not needed or at least reduce the ION size.
Good to see that the 0410 c906 image has OpenCV and Python.
But, can not see dpkg nor apt available. Is that possible to include that in the future release? Thanks!
BTW, other two little bords, Milk-V Duo Ubuntu or RV1106 all have dpkg and apt included in the images.
Hello, i try the sd, with linux see the interface with USB and can have ssh, but where is the root password PLEASE ?
硬件: LicheeRV Nano
镜像: https://github.com/sipeed/LicheeRV-Nano-Build/releases/download/20240124/licheervnano-20230124.img.xz
问题:
修改了/etc/wpa_supplicant.conf
中的wifi配置, 执行命令wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf
会导致wlan0丢失,
重启设备/etc/wpa_supplicant.conf
文件会重置原样
找到原因是/etc/rc.local
中的/opt/stress-test/stress-test-all.sh &
脚本中,有相关wifi test的脚本,注释后可不重置,但是同样出现
执行命令wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf
会导致wlan0丢失
Every time I clone the repo, it shows lot of files being deleted or touched and can't even switch to main branch. Is this issue on my side?
cat /proc/device-tree/model
Cvitek. CV181X ASIC. C906.
名字和 milkv duo 256m 一样
我想开发一个需要摄像头采集视频并进行视频编码的应用。我注意到样例代码的sample_venc中有 BIND_VI_VPSS_VENC 和 VI_VPSS_VENC_SBM_MODE 两个testmode,但是并没有相应的使用帮助。
尝试根据代码猜测运行参数如下,执行后程序无报错退出,并没有创建相应视频文件。
# /tmp/sample_venc --bindmode=1 --testMode=2 -c 265 --viWidth=2560 --viHeight=1440 -w 2560 -h 1440 -o /tmp/vo -n 60
[SAMPLE_COMM_SNS_ParseIni]-2164: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1757: devNum = 1
[parse_sensor_name]-1838: sensor = GCORE_GC4653_MIPI_4M_30FPS_10BIT
[parse_sensor_busid]-1867: bus_id = 4
[parse_sensor_i2caddr]-1878: sns_i2c_addr = 29
[parse_sensor_mipidev]-1889: mipi_dev = 0
[parse_sensor_laneid]-1900: Lane_id = 4, 3, 2, -1, -1
[parse_sensor_pnswap]-1911: pn_swap = 0, 0, 0, 0, 0
[parse_sensor_mclken]-1933: mclk_en = 1
[parse_sensor_mclk]-1944: mclk = 1
[SAMPLE_PLAT_SYS_INIT]-72: common pool[0] BlkSize 5652480
ISP Vipipe(0) Allocate pa(0x8de20000) va(0x0x3fdb225000) size(291424)
stSnsrMode.u16Width 2560 stSnsrMode.u16Height 1440 25.000000 wdrMode 0 pstSnsObj 0x1062d0
[SAMPLE_COMM_VI_StartMIPI]-494: sensor 0 stDevAttr.devno 0
awbInit ver 6.9@2021500
0 R:1400 B:3100 CT:2850
1 R:1500 B:2500 CT:3900
2 R:2300 B:1600 CT:6500
Golden 1024 1024 1024
WB Quadratic:0
isWdr:0
ViPipe:0,===GC4653 1440P 30fps 10bit LINEAR Init OK!===
********************************************************************************
cvi_bin_isp message
gerritId: 97347 commitId: fc6ce647
md5: d6db2297ddfd44e8252c1f3f888f47b2
sensorNum 1
sensorName0 4653
PQBIN message
gerritId:
commitId: fc6ce647
md5: d6db2297ddfd44e8252c1f3f888f47b2
sensorNum 1
sensorName0 4653
author: lxowalle desc: gc4653 30fps
createTime: 2024-03-26 13:41:34version:
tool Version: v3.0.5.48 mode:
********************************************************************************
[SAMPLE_COMM_ISP_Thread]-95: ISP Dev 0 running!
0 R:1298 B:3773 CT:2688
1 R:1629 B:2599 CT:3890
2 R:2430 B:1675 CT:7300
Golden 1629 1024 2599
wdrLEOnly:1
想请问一下是否有这个样例使用摄像头输入的命令行使用方法,或者是否有其它使用摄像头输入视频并进行视频编码的样例?
I need to plug a specific Wifi adapter to the RV nano via USB, I can't use the wifi adapter that comes with the board.
Does the RV nano support plugging wifi adapter via USB? If so, can the usb-c port be switched to USB Host mode or are there other pins that can be used for that?
make[1]: *** [Makefile:82: _all] Error 2
make[1]: Leaving directory '/home/lmnb/LicheeRV-Nano-Build/buildroot'
make: *** [Makefile:557: br-rootfs-pack] Error 2
I am using licheervnano-alpine-musl-openrc-20240206-0802.img
on LicheeRV-Nano-E
. It boots okay when I flash the sdcard, but after reboot
or poweroff
it fails to start up again.
I don't possess a serial cable, so it's hard to debug this. However, after looking at the image I discovered that /etc/local.d/aaa_boot_setup.start
runs
cp -arv /mnt/etc/* /etc/
rm -rf /mnt/etc/*
/etc/init.d/S01modload start
/etc/init.d/S04usbdev start
I then started moving the files from /mnt/etc
to /etc
one by one and rebooting until I was able to reproduce the problem. I believe the culprit is mnt/etc/inittab
.
I can fix this myself, but I thought to let you know about this problem. Please let me know if you need any help -- I really like this SBC and I would love to help out with code, documentation, testing, whatever.
unable to connect to SSH on the a53-2024-03-26-11-41.img, from serial console, able to see that Linux was able to boot up on A53 core and able to login in to serial shell. When trying to connect by SSH both from remote and from local, SSH keep getting disconnect.
/opt dir seem to be empty on 20240515 release
修改TF卡旁边的BOOT选择电阻,使下拉5.1K,没有引导到A53,是官方镜像没有考虑兼容A53吗?
如题。
样例代码在SAMPLE_COMM_VI_IniToViCfg中,
https://github.com/sipeed/LicheeRV-Nano-Build/blob/main/middleware/v2/sample/common/sample_common_vi.c#L1040
一行定义的图像格式为VI_PIXEL_FORMAT,即PIXEL_FORMAT_NV21。
但是运行sensor_test样例使用dump_yuv功能,或者根据该样例简化得到如下代码:
#include <stdio.h>
#include <cvi_sys.h>
#include <sample_comm.h>
static SAMPLE_VI_CONFIG_S g_stViConfig;
static SAMPLE_INI_CFG_S g_stIniCfg;
static int sys_vi_init(void)
{
MMF_VERSION_S stVersion;
SAMPLE_INI_CFG_S stIniCfg;
SAMPLE_VI_CONFIG_S stViConfig;
PIC_SIZE_E enPicSize;
SIZE_S stSize;
CVI_S32 s32Ret = CVI_SUCCESS;
LOG_LEVEL_CONF_S log_conf;
CVI_SYS_GetVersion(&stVersion);
SAMPLE_PRT("MMF Version:%s\n", stVersion.version);
log_conf.enModId = CVI_ID_LOG;
log_conf.s32Level = CVI_DBG_INFO;
CVI_LOG_SetLevelConf(&log_conf);
// Get config from ini if found.
if (SAMPLE_COMM_VI_ParseIni(&stIniCfg)) {
SAMPLE_PRT("Parse complete\n");
}
//Set sensor number
CVI_VI_SetDevNum(stIniCfg.devNum);
/************************************************
* step1: Config VI
************************************************/
s32Ret = SAMPLE_COMM_VI_IniToViCfg(&stIniCfg, &stViConfig);
if (s32Ret != CVI_SUCCESS)
return s32Ret;
memcpy(&g_stViConfig, &stViConfig, sizeof(SAMPLE_VI_CONFIG_S));
memcpy(&g_stIniCfg, &stIniCfg, sizeof(SAMPLE_INI_CFG_S));
/************************************************
* step2: Get input size
************************************************/
s32Ret = SAMPLE_COMM_VI_GetSizeBySensor(stIniCfg.enSnsType[0], &enPicSize);
if (s32Ret != CVI_SUCCESS) {
CVI_TRACE_LOG(CVI_DBG_ERR, "SAMPLE_COMM_VI_GetSizeBySensor failed with %#x\n", s32Ret);
return s32Ret;
}
s32Ret = SAMPLE_COMM_SYS_GetPicSize(enPicSize, &stSize);
if (s32Ret != CVI_SUCCESS) {
CVI_TRACE_LOG(CVI_DBG_ERR, "SAMPLE_COMM_SYS_GetPicSize failed with %#x\n", s32Ret);
return s32Ret;
}
/************************************************
* step3: Init modules
************************************************/
s32Ret = SAMPLE_PLAT_SYS_INIT(stSize);
if (s32Ret != CVI_SUCCESS) {
CVI_TRACE_LOG(CVI_DBG_ERR, "sys init failed. s32Ret: 0x%x !\n", s32Ret);
return s32Ret;
}
s32Ret = SAMPLE_PLAT_VI_INIT(&stViConfig);
if (s32Ret != CVI_SUCCESS) {
CVI_TRACE_LOG(CVI_DBG_ERR, "vi init failed. s32Ret: 0x%x !\n", s32Ret);
return s32Ret;
}
return CVI_SUCCESS;
}
static void sys_vi_deinit(void)
{
SAMPLE_COMM_VI_DestroyIsp(&g_stViConfig);
SAMPLE_COMM_VI_DestroyVi(&g_stViConfig);
SAMPLE_COMM_SYS_Exit();
}
static CVI_S32 _vi_get_chn_frame(CVI_U8 chn)
{
VIDEO_FRAME_INFO_S stVideoFrame;
VI_CROP_INFO_S crop_info = {0};
if (CVI_VI_GetChnFrame(0, chn, &stVideoFrame, 3000) == 0) {
FILE *output;
size_t image_size = stVideoFrame.stVFrame.u32Length[0] + stVideoFrame.stVFrame.u32Length[1]
+ stVideoFrame.stVFrame.u32Length[2];
CVI_VOID *vir_addr;
CVI_U32 plane_offset, u32LumaSize, u32ChromaSize;
CVI_CHAR img_name[128] = {0, };
CVI_TRACE_LOG(CVI_DBG_WARN, "width: %d, height: %d, total_buf_length: %zu\n",
stVideoFrame.stVFrame.u32Width,
stVideoFrame.stVFrame.u32Height, image_size);
snprintf(img_name, sizeof(img_name), "sample_%d.yuv", chn);
output = fopen(img_name, "wb");
if (output == NULL) {
memset(img_name, 0x0, sizeof(img_name));
snprintf(img_name, sizeof(img_name), "/mnt/data/sample_%d.yuv", chn);
output = fopen(img_name, "wb");
if (output == NULL) {
CVI_VI_ReleaseChnFrame(0, chn, &stVideoFrame);
CVI_TRACE_LOG(CVI_DBG_ERR, "fopen fail\n");
return CVI_FAILURE;
}
}
u32LumaSize = stVideoFrame.stVFrame.u32Stride[0] * stVideoFrame.stVFrame.u32Height;
u32ChromaSize = stVideoFrame.stVFrame.u32Stride[1] * stVideoFrame.stVFrame.u32Height / 2;
CVI_VI_GetChnCrop(0, chn, &crop_info);
if (crop_info.bEnable) {
u32LumaSize = ALIGN((crop_info.stCropRect.u32Width * 8 + 7) >> 3, DEFAULT_ALIGN) *
ALIGN(crop_info.stCropRect.u32Height, 2);
u32ChromaSize = (ALIGN(((crop_info.stCropRect.u32Width >> 1) * 8 + 7) >> 3, DEFAULT_ALIGN) *
ALIGN(crop_info.stCropRect.u32Height, 2)) >> 1;
}
vir_addr = CVI_SYS_Mmap(stVideoFrame.stVFrame.u64PhyAddr[0], image_size);
CVI_SYS_IonInvalidateCache(stVideoFrame.stVFrame.u64PhyAddr[0], vir_addr, image_size);
plane_offset = 0;
for (int i = 0; i < 3; i++) {
if (stVideoFrame.stVFrame.u32Length[i] != 0) {
stVideoFrame.stVFrame.pu8VirAddr[i] = vir_addr + plane_offset;
plane_offset += stVideoFrame.stVFrame.u32Length[i];
CVI_TRACE_LOG(CVI_DBG_WARN,
"plane(%d): paddr(%#lld) vaddr(%p) stride(%d) length(%d)\n",
i, stVideoFrame.stVFrame.u64PhyAddr[i],
stVideoFrame.stVFrame.pu8VirAddr[i],
stVideoFrame.stVFrame.u32Stride[i],
stVideoFrame.stVFrame.u32Length[i]);
fwrite((void *)stVideoFrame.stVFrame.pu8VirAddr[i]
, (i == 0) ? u32LumaSize : u32ChromaSize, 1, output);
}
}
CVI_SYS_Munmap(vir_addr, image_size);
if (CVI_VI_ReleaseChnFrame(0, chn, &stVideoFrame) != 0)
CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_ReleaseChnFrame NG\n");
fclose(output);
return CVI_SUCCESS;
}
CVI_TRACE_LOG(CVI_DBG_ERR, "CVI_VI_GetChnFrame NG\n");
return CVI_FAILURE;
}
static CVI_S32 sensor_dump_yuv(void)
{
CVI_S32 loop = 0;
CVI_U32 ok = 0, ng = 0;
CVI_U8 chn = 0;
int tmp;
struct timespec start, end;
chn = 0;
loop = 5;
while (loop > 0) {
if (_vi_get_chn_frame(chn) == CVI_SUCCESS) {
++ok;
} else
++ng;
//sleep(1);
if (loop != 11111)
loop--;
}
CVI_TRACE_LOG(CVI_DBG_WARN, "VI GetChnFrame OK(%d) NG(%d)\n", ok, ng);
CVI_TRACE_LOG(CVI_DBG_WARN, "Dump VI yuv TEST-PASS\n");
return CVI_SUCCESS;
}
int main() {
sys_vi_init();
sensor_dump_yuv();
sys_vi_deinit();
return 0;
}
实际输出的图像按照NV21打开,颜色错误。
硬件为LicheeRV Nano 量产版本,软件为当前git最新版本。
please release firmware Core A53 file
I try build many time but fail , not success
Hope it can be support!
wiki.sipeed.com>LicheeRV Nano>Peripheral>7. Touch Screen
https://wiki.sipeed.com/hardware/en/lichee/RV_Nano/5_peripheral.html
There is the following description.
Connect the touchscreen ribbon to the board's touchscreen interface, paying attention to the wire sequence.
Then execute:
/opt/touch.sh # Load the touchscreen driver
Followed by:
echo 2 | evtest
Touching the screen will display specific coordinates in the terminal.
For reading coordinates and touch events, refer to the input section in /opt/src/vendortest.
In release of the repository here, 2024-05-28-17-33-82a0b7.img.xz is empty under the opt folder.
I want /opt/touch.sh and /opt/src/vendortest files, so I would like them to be made public.
Sorry for my naive question:
My host computer:
➜ ~ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
➜ ~ uname -a
Linux lvision-GT72-6QE 6.5.0-26-generic #26~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Mar 12 10:22:43 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
I just flashed LicheeRV-Nano-Build c906-2024-04-10-14-19-16d76b.img.gz onto my LicheeRV-Nano WE.
But, I've got no idea how to ssh into the system without an initial WIRED connection to set up the static IP and have ssh server enabled? Wondering if only USB connection, can I set up my WiFi configuration under /etc/default/networks
? By the way, I didn't even see a user folder /home
under rootfs. Even if I want to ssh into LicheeRV-Nano, I still ALWAYS need a username, isn't it?
Any manual/doc for this?
Cheers
Pei
Middleware build is failing.
Ubuntu Docker Container (from host/ubuntu) on M1 MacBook Air.
Should the "build all" command result in a completed image? I ask because even though I got a build middleware failed result, the install directory has quite a few files so I'm not sure if I need to run another command to create an image? Or is fixing this middleware failure is necessary.
Contents in the install directory after build:
boot.sd elf fip.bin fip_spl.bin fw_payload_uboot.bin ramboot.itb rawimages rootfs tpu_musl_riscv64
Run build_middleware() function
make: '/root/LicheeRV-Nano-Build/install/soc_sg2002_licheervnano_sd/rootfs' is up to date.
~/LicheeRV-Nano-Build/middleware/v2 ~/LicheeRV-Nano-Build/build
make[1]: Entering directory '/root/LicheeRV-Nano-Build/middleware/v2/3rdparty'
make[1]: Entering directory '/root/LicheeRV-Nano-Build/middleware/v2/component/isp'
#################################################
# #
# Compiling '3rdparty libs' Configs as below #
pushd sensor/sg200x && \
make all && \
popd;
# #
~/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x ~/LicheeRV-Nano-Build/middleware/v2/component/isp
#################################################
make[2]: Entering directory '/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/cv182x'
make[2]: Entering directory '/root/LicheeRV-Nano-Build/middleware/v2/3rdparty/cli'
pushd gcore_gc4653 && make all && popd
pushd ov_os04a10 && make all && popd
pushd sms_sc035gs && make all && popd
pushd lontium_lt6911 && make all && popd
~/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x/gcore_gc4653 ~/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x
#################################################
~/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x/ov_os04a10 ~/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x
~/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x/sms_sc035gs ~/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x
~/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x/lontium_lt6911 ~/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x
make[3]: Entering directory '/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/cv182x/ov_os04a10'
make[3]: Entering directory '/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/cv182x/lontium_lt6911'
make[3]: Entering directory '/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/cv182x/gcore_gc4653'
#
make[3]: Entering directory '/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/cv182x'
make[3]: Entering directory '/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/cv182x/sms_sc035gs'
# Compiling 'component libs' Configs as below...
# SENSOR_LIST=gcore_gc4653 ov_os04a10 sms_sc035gs lontium_lt6911
#
make[2]: Leaving directory '/root/LicheeRV-Nano-Build/middleware/v2/3rdparty/cli'
#################################################
/root/LicheeRV-Nano-Build/middleware/v2/3rdparty
make[2]: *** write jobserver: Bad file descriptor. Stop.
make[2]: *** Waiting for unfinished jobs....
make[2]: Entering directory '/root/LicheeRV-Nano-Build/middleware/v2/3rdparty/inih'
riscv64-unknown-linux-musl-gcc -Os -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d -std=gnu11 -g -Wall -Wextra -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/gdbserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libcrypto/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libz/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/otaserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/rsyslog/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/crontabs/include -mno-ldd -DARCH_SG200X -D__SOC_MARS__ -c -o gcore_gc4653/gc4653_cmos.o gcore_gc4653/gc4653_cmos.c
riscv64-unknown-linux-musl-gcc -Os -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d -std=gnu11 -g -Wall -Wextra -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/gdbserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libcrypto/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libz/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/otaserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/rsyslog/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/crontabs/include -mno-ldd -DARCH_SG200X -D__SOC_MARS__ -c -o gcore_gc4653/gc4653_sensor_ctl.o gcore_gc4653/gc4653_sensor_ctl.c
riscv64-unknown-linux-musl-gcc -Os -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d -std=gnu11 -g -Wall -Wextra -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/gdbserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libcrypto/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libz/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/otaserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/rsyslog/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/crontabs/include -mno-ldd -DARCH_SG200X -D__SOC_MARS__ -c -o ov_os04a10/os04a10_sensor_ctl.o ov_os04a10/os04a10_sensor_ctl.c
riscv64-unknown-linux-musl-gcc -Os -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d -std=gnu11 -g -Wall -Wextra -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/gdbserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libcrypto/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libz/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/otaserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/rsyslog/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/crontabs/include -mno-ldd -DARCH_SG200X -D__SOC_MARS__ -c -o ov_os04a10/os04a10_cmos.o ov_os04a10/os04a10_cmos.c
riscv64-unknown-linux-musl-gcc -Os -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d -std=gnu11 -g -Wall -Wextra -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/gdbserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libcrypto/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libz/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/otaserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/rsyslog/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/crontabs/include -mno-ldd -DARCH_SG200X -D__SOC_MARS__ -c -o sms_sc035gs/sc035gs_sensor_ctl.o sms_sc035gs/sc035gs_sensor_ctl.c
riscv64-unknown-linux-musl-gcc -Os -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d -std=gnu11 -g -Wall -Wextra -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/gdbserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libcrypto/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libz/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/otaserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/rsyslog/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/crontabs/include -mno-ldd -DARCH_SG200X -D__SOC_MARS__ -c -o sms_sc035gs/sc035gs_cmos.o sms_sc035gs/sc035gs_cmos.c
riscv64-unknown-linux-musl-gcc -Os -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d -std=gnu11 -g -Wall -Wextra -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/gdbserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libcrypto/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libz/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/otaserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/rsyslog/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/crontabs/include -mno-ldd -DARCH_SG200X -D__SOC_MARS__ -c -o lontium_lt6911/lt6911_cmos.o lontium_lt6911/lt6911_cmos.c
riscv64-unknown-linux-musl-gcc -Os -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d -std=gnu11 -g -Wall -Wextra -fPIC -ffunction-sections -fdata-sections -Wl,--gc-sections -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/gdbserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libcrypto/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/libz/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/otaserver/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/rsyslog/include -I/root/LicheeRV-Nano-Build/ramdisk/rootfs/public/crontabs/include -mno-ldd -DARCH_SG200X -D__SOC_MARS__ -c -o lontium_lt6911/lt6911_sensor_ctl.o lontium_lt6911/lt6911_sensor_ctl.c
make[2]: *** write jobserver: Bad file descriptor. Stop.
make[2]: *** Waiting for unfinished jobs....
sms_sc035gs/sc035gs_cmos.c:12:10: fatal error: linux/cvi_type.h: No such file or directory
12 | #include <linux/cvi_type.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
lontium_lt6911/lt6911_cmos.c:12:10: fatal error: linux/cvi_type.h: No such file or directory
12 | #include <linux/cvi_type.h>
| ^~~~~~~~~~~~~~~~~~
make[3]: *** [<builtin>: sms_sc035gs/sc035gs_cmos.o] Error 1
compilation terminated.
gcore_gc4653/gc4653_sensor_ctl.c:14:10: fatal error: linux/vi_snsr.h: No such file or directory
14 | #include <linux/vi_snsr.h>
| ^~~~~~~~~~~~~~~~~
make[3]: *** write jobserver: Bad file descriptor. Stop.
make[3]: *** Waiting for unfinished jobs....
sms_sc035gs/sc035gs_sensor_ctl.c:14:10: fatal error: linux/vi_snsr.h: No such file or directory
14 | #include <linux/vi_snsr.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
compilation terminated.
ov_os04a10/os04a10_sensor_ctl.c:14:10: fatal error: linux/vi_snsr.h: No such file or directory
14 | #include <linux/vi_snsr.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
gcore_gc4653/gc4653_cmos.c:12:10: fatal error: linux/cvi_type.h: No such file or directory
12 | #include <linux/cvi_type.h>
| ^~~~~~~~~~~~~~~~~~
make[3]: *** [<builtin>: gcore_gc4653/gc4653_sensor_ctl.o] Error 1
make[3]: *** write jobserver: Bad file descriptor. Stop.
compilation terminated.
/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x/ov_os04a10/os04a10_sensor_ctl.c: In function 'os04a10_init':
/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x/ov_os04a10/os04a10_sensor_ctl.c:257:2: warning: implicit declaration of function 'system' [-Wimplicit-function-declaration]
257 | system("devmem 0x0300116C 32 0x3");
| ^~~~~~
lontium_lt6911/lt6911_sensor_ctl.c:14:10: fatal error: linux/vi_snsr.h: No such file or directory
14 | #include <linux/vi_snsr.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:279: all_sensor] Error 1
make[2]: *** write jobserver: Bad file descriptor. Stop.
make[1]: *** [Makefile:9: all] Error 2
make[1]: Leaving directory '/root/LicheeRV-Nano-Build/middleware/v2/component/isp'
make: *** [Makefile:49: component] Error 2
make: *** Waiting for unfinished jobs....
ov_os04a10/os04a10_cmos.c:13:10: fatal error: linux/cvi_type.h: No such file or directory
13 | #include <linux/cvi_type.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x/lontium_lt6911/lt6911_sensor_ctl.c: In function 'lt6911_probe':
/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x/lontium_lt6911/lt6911_sensor_ctl.c:193:2: warning: implicit declaration of function 'system' [-Wimplicit-function-declaration]
193 | system("devmem 0x0300116C 32 0x3");
| ^~~~~~
/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x/sms_sc035gs/sc035gs_sensor_ctl.c: In function sc035gs_linear_1296P30_init':
/root/LicheeRV-Nano-Build/middleware/v2/component/isp/sensor/sg200x/sms_sc035gs/sc035gs_sensor_ctl.c:212:2: warning: implicit declaration of function 'system' [-Wimplicit-function-declaration]
212 | system("devmem 0x0300116C 32 0x3");
| ^~~~~~
[riscv64-unknown-linux-musl-gcc] lt6911_sensor_ctl.o
make[3]: *** write jobserver: Bad file descriptor. Stop.
make[3]: *** Waiting for unfinished jobs....
[riscv64-unknown-linux-musl-gcc] sc035gs_sensor_ctl.o
make[3]: *** write jobserver: Bad file descriptor. Stop.
make[3]: *** Waiting for unfinished jobs....
[riscv64-unknown-linux-musl-gcc] lt6911_cmos.o
make[3]: *** write jobserver: Bad file descriptor. Stop.
[riscv64-unknown-linux-musl-gcc] os04a10_sensor_ctl.o
make[3]: *** write jobserver: Bad file descriptor. Stop.
make[3]: *** Waiting for unfinished jobs....
[riscv64-unknown-linux-musl-gcc] gc4653_sensor_ctl.o
make[3]: *** write jobserver: Bad file descriptor. Stop.
make[3]: *** Waiting for unfinished jobs....
[riscv64-unknown-linux-musl-gcc] sc035gs_cmos.o
make[3]: *** write jobserver: Bad file descriptor. Stop.
[riscv64-unknown-linux-musl-gcc] ini.o
make[2]: *** write jobserver: Bad file descriptor. Stop.
make[1]: *** [Makefile:8: all] Error 1
make[1]: Leaving directory '/root/LicheeRV-Nano-Build/middleware/v2/3rdparty'
make: *** [Makefile:41: 3rdparty] Error 2
build middleware failed !!
~/LicheeRV-Nano-Build/build
root@c058ed84e6c2:~/LicheeRV-Nano-Build# [riscv64-unknown-linux-musl-gcc] gc4653_cmos.o
make[3]: *** write jobserver: Bad file descriptor. Stop.
[riscv64-unknown-linux-musl-gcc] os04a10_cmos.o
make[3]: *** write jobserver: Bad file descriptor. Stop.
I tried to follow along to build the image and came across the following error.
My machine is an M1 Macbook Air but I'm using the Ubuntu docker container provided. Any idea what could be wrong? Or any documentation that might be helpful?
Run build_uboot() function
Run _link_uboot_logo() function
[TARGET] u-boot-dts
find /root/LicheeRV-Nano-Build/build/boards/sg200x \
\( -path "*linux/*.dts*" -o -path "*dts_riscv/*.dts*" \) \
-exec cp {} /root/LicheeRV-Nano-Build/u-boot-2021.10/arch/riscv/dts/ \;
find /root/LicheeRV-Nano-Build/build/boards/default/dts/sg200x -name *.dts* -exec cp {} /root/LicheeRV-Nano-Build/u-boot-2021.10/arch/riscv/dts/ \;
[TARGET] u-boot-build
ln -snrf /root/LicheeRV-Nano-Build/build/output/sg2002_licheervnano_sd/cvi_board_memmap.h /root/LicheeRV-Nano-Build/u-boot-2021.10/include/
rm -f /root/LicheeRV-Nano-Build/u-boot-2021.10/board/cvitek/cvi_board_init.c
ln -s /root/LicheeRV-Nano-Build/build/boards/sg200x/sg2002_licheervnano_sd/u-boot/cvi_board_init.c /root/LicheeRV-Nano-Build/u-boot-2021.10/board/cvitek/cvi_board_init.c
rm -f /root/LicheeRV-Nano-Build/u-boot-2021.10/include/cvitek/cvitek.h
ln -s /root/LicheeRV-Nano-Build/build/boards/sg200x/sg2002_licheervnano_sd/u-boot/cvitek.h /root/LicheeRV-Nano-Build/u-boot-2021.10/include/cvitek/cvitek.h
make -j8 -C /root/LicheeRV-Nano-Build/u-boot-2021.10 olddefconfig
make[1]: Entering directory '/root/LicheeRV-Nano-Build/u-boot-2021.10'
make[2]: Entering directory '/root/LicheeRV-Nano-Build/u-boot-2021.10/build/sg2002_licheervnano_sd'
/bin/sh: 1: riscv64-unknown-linux-musl-gcc: not found
GEN Makefile
/root/LicheeRV-Nano-Build/u-boot-2021.10/scripts/kconfig/Makefile:105: *** No configuration exists for this target on this architecture. Stop.
scripts/kconfig/conf --olddefconfig Kconfig
/root/LicheeRV-Nano-Build/u-boot-2021.10/scripts/gcc-version.sh: 26: riscv64-unknown-linux-musl-gcc: not found
/root/LicheeRV-Nano-Build/u-boot-2021.10/scripts/gcc-version.sh: 27: riscv64-unknown-linux-musl-gcc: not found
/root/LicheeRV-Nano-Build/u-boot-2021.10/scripts/gcc-version.sh: 29: riscv64-unknown-linux-musl-gcc: not found
/root/LicheeRV-Nano-Build/u-boot-2021.10/scripts/gcc-version.sh: 26: riscv64-unknown-linux-musl-gcc: not found
/root/LicheeRV-Nano-Build/u-boot-2021.10/scripts/gcc-version.sh: 27: riscv64-unknown-linux-musl-gcc: not found
/root/LicheeRV-Nano-Build/u-boot-2021.10/scripts/gcc-version.sh: 29: riscv64-unknown-linux-musl-gcc: not found
Kconfig:66: syntax error
Kconfig:65: invalid option
/root/LicheeRV-Nano-Build/u-boot-2021.10/scripts/clang-version.sh: 15: riscv64-unknown-linux-musl-gcc: not found
make[3]: *** [/root/LicheeRV-Nano-Build/u-boot-2021.10/scripts/kconfig/Makefile:75: olddefconfig] Error 1
make[2]: *** [/root/LicheeRV-Nano-Build/u-boot-2021.10/Makefile:578: olddefconfig] Error 2
make[2]: Leaving directory '/root/LicheeRV-Nano-Build/u-boot-2021.10/build/sg2002_licheervnano_sd'
make[1]: *** [Makefile:178: sub-make] Error 2
make[1]: Leaving directory '/root/LicheeRV-Nano-Build/u-boot-2021.10'
make: *** [Makefile:187: u-boot-build] Error 2
请问是否支持AP/STA两种工作模式的切换?
如题,想测试自己写的裸机 s-mode 程序,但是这里的 OpenSBI 版本太低,只有 0.9,支持的 SBI Runtime 是 v0.2。不知道 sdk 里边对opensbi做了哪些更改?谢谢。
The Lichee RV nano + 7inch touchpanel (currently the only LCD available) displays images slowly.
In release of the repository here, 2024-05-28-17-33-82a0b7.img.xz is framebuffer acceleration is disabled.
Also, since the virtual resolution is large, I want this to be the same size as the device.
# fbset
mode "800x1280-0"
# D: 0.012 MHz, H: 0.011 kHz, V: 0.008 Hz
geometry 800 1280 800 2560 32
timings 85208760 137 55 35 2 79 9
accel false
rgba 8/0,8/8,8/16,8/24
endmode
Could you please disclose how to enable framebuffer acceleration in the Lichee RV nano.
And, please show me how to do virtual resolution configration.
按照教程 用了C906的配置 build_all 编译出img之后, 用dd 命令把img 烧进tf卡(金士顿的),
上电启动后 free 查看可用内存一直再减少, 大概5s 少0.1M, 直到内存耗光
挨个kill 了进程后, 发现kill了 mdnsd 进程后, 泄漏终于停止了........,这个进程看起来是dns服务的守护进程, 没有用过, 不知道有没有人遇到过这个问题
MobaXterm_COM3SiliconLabsCP210xUSBtoUARTBridgeCOM3_20240330_020359.log
具体可以看看我提供的log
还有个疑问, 我看淘宝上板子 的描述内存应该是256M, 为啥我的才150M.....
Ok build_all and 👍🏽
qt5svg a9752b00a03438de8e5b080073816e12409404b7 Fixing libtool files
for la in $(find /DATAS/RISCV/licheeRV-nano/buildroot/output/per-package/qt5svg/host/riscv64-buildroot-linux-musl/sysroot/usr/lib* -name "*.la"); do
cp -a "${la}" "${la}.fixed" &&
/usr/bin/sed -i -e "s:/DATAS/RISCV/licheeRV-nano/buildroot/output:@BASE_DIR@:g"
-e "s:/DATAS/RISCV/licheeRV-nano/buildroot/output/per-package/qt5svg/host/riscv64-buildroot-linux-musl/sysroot:@STAGING_DIR@:g"
-e "s:(['= ])/usr:\1@STAGING_DIR@/usr:g"
-e "s:(['= ])/lib:\1@STAGING_DIR@/lib:g"
-e "s:@STAGING_DIR@:/DATAS/RISCV/licheeRV-nano/buildroot/output/per-package/qt5svg/host/riscv64-buildroot-linux-musl/sysroot:g"
-e "s:@BASE_DIR@:/DATAS/RISCV/licheeRV-nano/buildroot/output:g"
"${la}.fixed" &&
if cmp -s "${la}" "${la}.fixed"; then
rm -f "${la}.fixed";
else
mv "${la}.fixed" "${la}";
fi || exit 1;
done
make[1]: Leaving directory '/DATAS/RISCV/licheeRV-nano/buildroot'
make: *** [Makefile:558: br-rootfs-pack] Error 2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.