一、资料
D1s是全志针对智能解码市场推出的高性价比AIoT芯片。它使用64bit RISC-V架构的阿里平头哥C906处理器,内置了64M DDR2,支持Linux系统,同时集成了大量自研的音视频编解码相关IP,可以支持H.265,、H.264、MPEG-1/2/4、JPEG等全格式视频解码,支持ADC/DAC/I2S/PCM/DMIC/OWA等多种音频接口,可以广泛应用于智能家居面板、智能商显、工业控制、车载等产品。
开发板信息
原理图:MQ_SCH_v1.5_量产版_带网络.pdf
BOM表:mq_v1.5_bom.html:kicad + ibom插件做的,很秀
SDK源码:提取码: 6666 解压密码: whycan.com
固件和补丁:芒果派麻雀固件与源码补丁2021-12-14.7z
测试固件:tina_d1-nezha_uart0_f133_4.7z
手册参考资料:全志D1/D1s RISC-V(基于平头哥C906) 哪吒开发板超全资料合集
开发板资料页:mangopi_mq
开发板介绍页:基于D1s的全开源芒果派-哪吒MQ
开发板美照(点击放大):
规格参数:
主控D1s(D1芯片内置64MB运存)
USB-OTG Type-C形式(fel方式刷机、接U盘、键盘、摄像头、usb网卡等)
USB-HOST Type-C形式(接U盘、键盘、摄像头、usb网卡等)
22Pin扩展排针 x2(全Pin引出)
可焊接Nand/Nor FLASH
TF卡槽
板载基于RTL8189的WiFi
15P通用树莓派DSI FPC排座
40P通用RGB FPC排座(内含4线电阻触摸接口)
6P通用电容触摸FPC排座
板载MIC*1
24Pin DVP接口
BOOT按键、复位按键
4x4cm迷你尺寸,4个固定装配脚
芯片信息
全志F133
D1 芯片介绍
D1教程资料汇总
D1s 和 D1 区别:
D1s后缀的s是small的意思,意味着更少的功能。(但是由于封装的原因,其实D1s的芯片物理面积是更大的)
D1支持HDMI,D1s不支持。
D1s虽然sip 64M DDR2,但是不能再外扩更大的DDR了;D1没有sip DDR,可以自行外接,最大接2GB.
D1 是BGA封装,引脚更多,也更难贴,适合机贴;D1s是QFN封装,方便手贴,但是很多复用的功能就不能用了。
综上:
做功能复杂,对DDR需求大的产品,用D1;
做性价比产品,用D1s。
二、烧录
烧录芒果派麻雀固件与源码补丁里面的 tina_d1-mangopi_mq_rgb800x480_gt9xx_uart0_20211214.img
镜像到 TF 卡:
三、上电运行
TF卡插入开发板上电,uart0 为控制台。
uart0 引脚示意:
运行LVGL:
62FPS
附:部分开机LOG
[32]HELLO! BOOT0 is starting!
[35]BOOT0 commit : 27369ab-dirty
[38]set pll start
[40]periph0 has been enabled
[43]set pll end
[44][pmu]: bus read error
[47]board init ok
[49]ZQ value = 0x2f***********
[51]get_pmu_exist() = -1
[54]ddr_efuse_type: 0xa
[57][AUTO DEBUG] single rank and full DQ!
[60]ddr_efuse_type: 0xa
[63][AUTO DEBUG] rank 0 row = 13
[66][AUTO DEBUG] rank 0 bank = 4
[69][AUTO DEBUG] rank 0 page size = 2 KB
[73]DRAM BOOT DRIVE INFO: V0.24
[76]DRAM CLK = 528 MHz
[78]DRAM Type = 2 (2:DDR2,3:DDR3)
[81]DRAMC read ODT off.
[84]DRAM ODT off.
[85]ddr_efuse_type: 0xa
[88]DRAM SIZE =64 M
[92]DRAM simple test OK.
[94]dram size =64
[96]card no is 0
[97]sdcard 0 line count 4
[100][mmc]: mmc driver ver 2021-04-2 16:45
[109][mmc]: Wrong media type 0x0
[112][mmc]: ***Try SD card 0***
[121][mmc]: HSSDR52/SDR25 4 bit
[123][mmc]: 50000000 Hz
[126][mmc]: 29819 MB
[128][mmc]: ***SD/MMC 0 init OK!!!***
[173]Loading boot-pkg Succeed(index=0).
[176]Entry_name = opensbi
[179]Entry_name = u-boot
[183]Entry_name = dtb
[186]mmc not para
[187]Jump to second Boot.OpenSBI v0.6____ _____ ____ _____/ __ \ / ____| _ \_ _|| | | |_ __ ___ _ __ | (___ | |_) || || | | | '_ \ / _ \ '_ \ \___ \| _ < | || |__| | |_) | __/ | | |____) | |_) || |_\____/| .__/ \___|_| |_|_____/|____/_____|| ||_|Platform Name : T-HEAD Xuantie Platform
Platform HART Features : RV64ACDFIMSUVX
Platform Max HARTs : 1
Current Hart : 0
Firmware Base : 0x40000400
Firmware Size : 75 KB
Runtime SBI Version : 0.2MIDELEG : 0x0000000000000222
MEDELEG : 0x000000000000b1ff
PMP0 : 0x0000000040000000-0x000000004001ffff (A)
PMP1 : 0x0000000040000000-0x000000007fffffff (A,R,W,X)
PMP2 : 0x0000000080000000-0x00000000bfffffff (A,R,W,X)
PMP3 : 0x0000000000020000-0x0000000000027fff (A,ÿU-Boot 2018.05-g0a88ac9-dirty-config-dirty (Dec 14 2021 - 19:39:52 +0800) Allwinner Technology[00.272]DRAM: 64 MiB
[00.274]Relocation Offset is: 01f02000
[00.278]secure enable bit: 0
[00.281]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=300Mhz
[00.287]flash init start
[00.289]workmode = 0,storage type = 1
[00.293][mmc]: mmc driver ver uboot2018:2021-04-16 14:23:00-1
[00.298][mmc]: get sdc_type fail and use default host:tm1.
[00.305][mmc]: can't find node "mmc0",will add new node
[00.309][mmc]: fdt err returned <no error>
[00.313][mmc]: Using default timing para
[00.317][mmc]: SUNXI SDMMC Controller Version:0x50310
[00.335][mmc]: card_caps:0x3000000a
[00.338][mmc]: host_caps:0x3000003f
[00.341]sunxi flash init ok
[00.343]line:714 init_clocks
__clk_init: clk pll_periph0x2 already initialized
register fix_factor clk error
[00.354]drv_disp_init
fdt_getprop_u32 s_pwm.pwm-base fail
[00.368]drv_disp_init finish
[00.371]boot_gui_init:start
[00.373]set disp.dev2_output_type fail. using defval=0
[00.380]boot_gui_init:finish
sunxi_partition_get_partno_byname: try part 1, ret = 0
sunxi_partition_get_partno_byname: try part 2, ret = 0
sunxi_partition_get_partno_byname: try part 3, ret = 0
sunxi_partition_get_partno_byname: try part 4, ret = 0
sunxi_partition_get_partno_byname: try part 5, ret = 0
sunxi_partition_get_partno_byname: try part 6, ret = 0
sunxi_partition_get_partno_byname: try part 7, ret = 0
sunxi_partition_get_partno_byname: try part 8, ret = 0
sunxi_partition_get_partno_byname: try part 9, ret = -1
partno erro : can't find partition bootloader
sunxi_partition_get_partno_byname: try part 1, ret = 0
54 bytes read in 1 ms (52.7 KiB/s)
[00.444]bmp_name=bootlogo.bmp size 1152054
1152054 bytes read in 49 ms (22.4 MiB/s)
[00.513]Loading Environment from SUNXI_FLASH... OK
[00.532]out of usb burn from boot: not need burn key
root_partition is rootfs
set root to /dev/mmcblk0p5
[00.542]update part info
[00.544]update bootcmd
[00.547]change working_fdt 0x42ac1da8 to 0x42aa1da8
[00.559]LCD open finish
[00.570]update dts
Hit any key to stop autoboot: 0
Android's image name: d1-mangopi_mq_rg
No reserved memory region found in source FDT
[00.997]
Starting kernel ......BusyBox v1.27.2 () built-in shell (ash)_____ _ __ _
|_ _||_| ___ _ _ | | |_| ___ _ _ _ _| | _ | || | | |__ | || || | ||_'_|| | | || | || _ | |_____||_||_|_||___||_,_||_| |_||_|_||_|_| Tina is Based on OpenWrt!----------------------------------------------Tina Linux (Neptune, 5C1C9C53)----------------------------------------------
root@TinaLinux:/# [ 126.769641] random: crng init done
[ 126.773444] random: 6 urandom warning(s) missed due to ratelimiting
^C
root@TinaLinux:/#
参考:
芒果派麻雀到手试玩
简单修改 哪吒d1 tina sdk 的 sys_config.fex 和 board.dts,让D1s先把Linux跑起来。
在Win10用PhoenixCard烧录镜像到TF提示格式化失败1377