- V853 ARM A7 + RISC-V E907 + 1T NPU
- UP to 2GiB DDR3 and 128GiB EMMC
- Raspberry Pi Camera Connector
- 2 lane MIPI-CSI
- 4 lane MIPI-DSI up to 1920x1200
- Built-in USB to UART Support RV and ARM
- Built-in XR829 Wi-Fi BT
- Raspberry Pi A Size and Pinout

柚木 鉉LV 9
@YuzukiTsuru
Best posts made by YuzukiTsuru
-
Porject Yosemite - 基于全志V853的开发板
-
Lichee RV 内存小了?改到2G来玩!
在这之前
这是一个计算条,D1核心配上512MB内存。
运行正常系统已经完全够用了,不过我不是那种正常的人,写的一个小程序经常把内存用完被oom杀了。
++内存
查阅了一下资料(某宝),发现我钱包能承担的2G内存颗粒只有D9STR,也就是镁光MT41K1G16DGA-125:A,全新芯片280左右,但是二手只需要135。Datasheet显示这是一颗双晶DDR3L芯片。
那就麻烦了,如果RV板子没有提供Two Rank,那就没办法驱动这颗芯片。于是查阅了Lichee RV的电路图
好欸,LicheeRV 的CS#,ODT#,CK都是按照TwoRank的接法连接的,所以可以直接替换了!准备材料
- Lichee RV 计算条*1
- 热风枪*1
- 电烙铁*1
- D9STR*1
- 焊接材料若干
- 洗板水+清洁材料
开始魔改
注意,魔改有失败风险,保修肯定是没有了。请确认拥有BGA拆焊能力再进行魔改!
风枪温度360,风速40。拆焊之前记得上点油。焊接BGA差不多了要用镊子轻轻推一下,看看会不会归位,如果可以归位那就焊接完成了。
当然颜值党肯定要把焊油洗干净的QwQ
结果
再跑跑那个程序
。。。。。。。。。。。。我回去改算法了
-
OpenixCard - 在 Linux 系统刷写全志镜像到 SD 卡
远古的坑了,最近有时间终于填了下。
线刷在Windows上有PhoenixSuit,在Linux上有LiveSuit,刷写都很方便。但是到了卡刷就寄了,只有一个Windows下的PhoenixCard,在Linux下刷写很头疼。于是写了这个小东西。
功能:
- 在 Linux 解包 Tina 镜像
- 将 Tina 镜像转换为标准的镜像,转换后的镜像可以使用DD、USB Image Tool、Win32diskimager、Etcher刷写。方便分发。
- 更多功能咕咕中....
开源地址
https://github.com/YuzukiTsuru/OpenixCard
视频:转换全志的镜像成为标准镜像并用Etcher刷写。
-
Reply: 【开源直播】手把手教你用全志XR32芯片DIY一个自己的开发板(二:PCB焊接调试)
焊接完成,上电,UART检测到了,但是测试烧录有点问题
量了一下芯片输出,怎么0V没有电压???
再用示波器看了一下IO的输出,发现呈现一种上电掉电的感觉,感觉像是板子在不停重置
再比较看一下RESET相关电路
我画的
官方的
寄了,官方上拉是拉到VBUS的,也就是USB电源,我这里拉的是3V3,看来XR32默认上电的时候是不输出3V3的。那好办,飞线伺候
烧录进去了
跑起来了
-
没有芯片,拿PS画一个 YuzukiCore T113-S3 小型双核ARM核心板
大哥二哥拍个照
这是原图
用仿章工具,把F133的1抄过去,再仿一个T
把3缩小了放在后面,复制两份,一份用画笔画出S的样子,再打上噪点
完工
-
D1 LicheeRV Dock 移植RTL8723DS驱动
RTL8723DS焊接上去了,现在把驱动程序移植上去。
咱先获取源码:https://github.com/lwfinger/rtl8723ds
下载完成后,把驱动文件复制到
tina-d1-open\lichee\linux-5.4\drivers\net\wireless\rtl8723ds
里,没有rtl8723ds
文件夹记得新建一个。修改
tina-d1-open\lichee\linux-5.4\drivers\net\wireless\Makefile
,加一行obj-$(CONFIG_RTL8723DS) += rtl8723ds/
修改
tina-d1-open\lichee\linux-5.4\drivers\net\wireless\Kconfig
,加一行source "drivers/net/wireless/rtl8723ds/Kconfig"
修改
tina-d1-open\lichee\linux-5.4\drivers\net\wireless\rtl8723ds\os_dep\linux\os_intfs.c
加一行MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
修改
tina-d1-open\lichee\linux-5.4\drivers\net\wireless\rtl8723ds\os_dep\linux\rtw_cfgvendor.c
在每一行.policy = VENDOR_CMD_RAW_DATA,
下面加上.maxattr = 1,
修改
tina-d1-open\target\allwinner\d1-lichee_rv_dock\modules.mk
,增加以下内容:define KernelPackage/net-rtl8723ds SUBMENU:=$(WIRELESS_MENU) TITLE:=RTL8723DS support (staging) DEPENDS:= +r8723ds-firmware +@IPV6 +@USES_REALTEK FILES:=$(LINUX_DIR)/drivers/net/wireless/rtl8723ds/8723ds.ko AUTOLOAD:=$(call AutoProbe,8723ds) endef define KernelPackage/net-rtl8723ds/description Kernel modules for RealTek RTL8723DS support endef $(eval $(call KernelPackage,net-rtl8723ds))
(其中的
d1-lichee_rv_dock
是我的板级配置,请选择自己的板级配置比如d1-nezha
,如下图)
进入内核配置,勾选Realtek 8723D SDIO or SPI WiFi为Module(<M>不是<*>)
make kernel_menuconfig Device Drivers -> Network device support -> Wireless LAN -> <M> Realtek 8723D SDIO or SPI WiFi
进入Tina配置,勾选相关驱动
make menuconfig Firmware -> <*> r8723ds-firmware.............................. RealTek RTL8723DS firmware Kernel modules -> Wireless Drivers -> <*> kmod-net-rtl8723ds........................... RTL8723DS support (staging)
保存,编译,打包
make -j65535 pack
烧录后就能看到了
Latest posts made by YuzukiTsuru
-
Reply: 量化模型如何输出 FLOAT16 格式?
pegasus inference --model lenet.json --model-data lenet.data --batch-size 1 --dtype float32 --device CPU --with-input-meta lenet-inputmeta.yml --postprocess-file lenet-postprocess-file.yml --iterations 10 pegasus export ovxlib --model lenet.json --model-data lenet.data --dtype float32 --batch-size 1 --save-fused-graph --target-ide-project 'linux64' --with-input-meta lenet-inputmeta.yml --postprocess-file lenet-postprocess-file.yml --output-path ovxlib/lenet/lenet --pack-nbg-unify --optimize "VIP9000PICO_PID0XEE" --viv-sdk ${VIV_SDK}
浮点部署直接跳过量化步骤,虽然精度得到保障但是速度相较于定点成数量级下降,不建议使用
-
Reply: [部分已解决] v853 sdk 编译失败:undefined reference to `sunxi_challenge`
docker 的问题,sunxi_challenge是从urandom里出来的一个随机码,Makefile把@删了就可以了
CLEAN_FILES += board/sunxi/sunxi_challenge.c board/sunxi/sunxi_challenge.c: echo " prepare sunxi_challenge..." dd if=/dev/urandom of=sunxi_challenge bs=128 count=1 > /dev/null 2>&1 xxd -c 8 -i sunxi_challenge > board/sunxi/sunxi_challenge.c sed -i '/^unsigned/i __attribute__((__used__))' board/sunxi/sunxi_challenge.c rm sunxi_challenge prepare: board/sunxi/sunxi_challenge.c
-
Reply: 关于D1的SPI通讯问题
请问是怎么测试的,spi_dbi_enable是spi lcd显示屏专用的驱动,配置两个逻辑不太一样
配置lcd屏幕需要单独写lcd的配置&lcd_fb0 { lcd_used = <1>; lcd_driver_name = "kld2844b"; lcd_if = <1>; lcd_dbi_if = <4>; lcd_data_speed = <60>; lcd_spi_bus_num = <1>; lcd_x = <240>; lcd_y = <320>; lcd_width = <60>; lcd_height = <95>; lcd_pwm_used = <1>; lcd_pwm_ch = <7>; lcd_pwm_freq = <5000>; lcd_pwm_pol = <0>; lcd_pixel_fmt = <0>; lcd_dbi_fmt = <3>; lcd_rgb_order = <0>; lcd_frm = <1>; lcd_gamma_en = <1>; fb_buffer_num = <2>; lcd_backlight = <100>; lcd_dbi_te = <1>; lcd_fps = <60>; lcd_gpio_0 = <&pio PC 0 GPIO_ACTIVE_HIGH>; // reset status = "okay"; };
另外检查一下,spi-rx-bus-width=<0x04>;是四线spi驱动,需要确认从机是4bit SPI <D0 D1 D2 D3 CLK CS>,否则请改成 spi-rx-bus-width=<0x01>;
-
Reply: 请教各位大佬,D1的start.s __start部分是参考哪里怎么实现的? 还有dram.c又是从那里得到的这些数据,最后的mksunxi 也是搞不懂依据在哪
D1的start.s __start部分是参考哪里怎么实现的?
首先是 eGON.BT0,这个Magic是BROM读取的,所以要在头部插入eGON.BT0
还有dram.c又是从那里得到的这些数据
这是使用mctl_hal.S和自己写的一个小裸机编译出的bin,mctl_hal.S全志的sdk里开源了,这个小裸机源码如下 6ee6e31c-72ef-47f5-b69f-0976197bb46a-d1-ddr.zip
最后的mksunxi 也是搞不懂依据在哪
这个是对齐后重新计算校验码的,然后填充在固定的位置让BROM读取,全志系列的老传统了,你看_start那里的checksum只是一个占位符0x12345678,mksunxi就是会对齐块设备然后计算校验填入然后修改长度
https://github.com/YuzukiHD/TinyKasKit/blob/master/sunxiboot/src/bootpack.cpp