官方资料
- 【开源开发板】D1s-Nezha开发板全全开源上架(内含购买链接和全部软硬件资料) | 全志在线开发者论坛 (aw-ol.com)
- DongshanPI-D1s教程征集活动 - Allwinner / D1s - 嵌入式开发问答社区 (100ask.net)
- DongshanPI-D1s开发板教程共创留言贴! - Allwinner / D1s - 嵌入式开发问答社区 (100ask.net)
- D1s (aw-ol.com)
编译与烧录:
-
官方指导:
-
源码:
- Tina源码:SDK目录/D1-H/D1-H_Tina_Open
- D1s 哪吒补丁包:下载D1s哪吒 Patch,下载后改名为 d1s-nehza-package.tar.gz
-
工具:
-
编译:使用docker环境
# ========主机操作======== # 建立工作目录 mkdir tina-d1-h # 将 d1s-nehza-package.tar.gz 拷贝到tina-d1-h目录中 # 运行docker docker run --name tina -v $(pwd)/tina-d1-h:/root -it liangdi/d1-tina-build-env /bin/bash # ========docker内操作======== cd /root # 生成ssh key,一路回车 ssh-keygen -t rsa # 将生成后的 ~/.ssh/id_rsa.pub拷贝到 https://open.allwinnertech.com/#/sdk/0/key 【公钥管理】 # 设置git git config --global user.email "you@example.com" git config --global user.name "YourName" # 安装repo,一路yes git clone ssh://YourName@sdk.allwinnertech.com/git_repo/repo.git sed -e -i 's#ssh://username#ssh://YourName#' repo/repo cp repo/repo /usr/bin/ chmod a+x /usr/bin/repo # 下载源码,一路Y/yes mkdir /sdk cd /sdk mkdir tina-d1-h cd tina-d1-h repo init -u ssh://123456@sdk.allwinnertech.com/git_repo/D1_Tina_Open/manifest.git -b master -m tina-d1-h.xml repo sync repo start product-smartx-d1-tina-v1.0-release --all # 打补丁 cp /root/d1s-nehza-package.tar.gz /sdk/tina-d1-h/ cd /sdk/tina-d1-h/ tar xvf d1s-nehza-package.tar.gz # 环境设置 source build/envsetup.sh # 设置目标板: lunch # 选择d1s_nezha_nor-tina,生成的固件,使用 PhoeniSuit 直接烧录DC开发板上 # 编译: make FORCE_UNSAFE_CONFIGURE=1 # 打包 pack # 拷贝固件: cp /sdk/tina-D1-H/out/d1s-nezha_nor/tina_d1s-nezha_nor_uart0_nor.img /root/
-
烧录:
- 打开 PhoeniSuit ,选一键烧录,再选择主机上 tina-D1-H 目录内的 tina_d1s-nezha_nor_uart0_nor.img
- 使用Type-C连接开发板的OTG(左边)接口,再按住FEL按键,然后将Type-C接上电脑
- PhoeniSuit识别后,将自动进入烧录,并提示开始烧录,此时即可松开FEL,等待烧录完成即可
- 烧录完成后,断开连接OTG的数据线,使用type-c,将开发板的DEBUG连接到电脑
测试GPIO:
- 将PG13、PG14、PG15连接LED
- 使用type-c,将开发板的DEBUG连接到电脑
- 按照步骤编写测试脚本并执行:
# ========主机操作========
# Windows:使用串口工具连接
# macOS/Linux:使用picocom连接
# 查看串口设备
ls /dev/ | grep -Ei "(cu|tty).*usb"
cu.usbmodem14202
tty.usbmodem14202
# 连接串口设备
picocom -b 115200 -d 8 /dev/cu.usbmodem14202
# 回车后,会显示命令行提示符
# =======开发板操作========
uname -a
cd /root
vim test_leds.sh # 按i,再粘贴如下内容,再按esc,然后wq!
#!/bin/sh
cd /sys/class/gpio/
gpios=$(seq 205 207)
for i in $gpios;do echo $i > export ;done
for i in $gpios;do echo out > gpio$i/direction ;done
for i in $gpios;do echo 1 > gpio$i/value;done
for i in $gpios;do echo 0 > gpio$i/value;done
sleep 2
gpios=$(seq 205 207)
index=0
delay=99
for i in $(seq 1 100);
do for i in $gpios;do echo 0 > gpio$i/value;done
echo pin=$((205+$index%2)) delay=$delay
echo 1 > gpio$((205+$index%3))/value
let index=index+1
sleep 0.$delay
if [[ $delay -lt 30 ]];
then
let delay=delay-1
else
let delay=delay-3
fi
if [[ $delay -lt 1 ]];then delay=99;fi
done
# 执行
chmod u+x test_leds.sh
./test_leds.sh
# LED应交替闪烁
adb连接开发板操作:
# ========开发板操作========
# 开启usb device模式
cd /sys/devices/platform/soc@3000000/soc@3000000:usbc0@0
echo usb_device > otg_role
# 写入/etc/rc.local,添加到exit 0之前,让开发板自动进入device模式,便于adb连接
vim /etc/rc.local
echo usb_device > /sys/devices/platform/soc@3000000/soc@3000000:usbc0@0/otg_role
exit 0
# 使用type-c,将开发板的OTG连接到电脑
# ========主机操作========
# 查看设备:如果为空,说明链接不正确,或者没有开启usb device模式
adb devices
List of devices attached
20080411 device
# 通过adb连接到开发板
adb shell
root@TinaLinux:/#
c程序编写和运行测试:
# ========主机操作========
cd tina-d1-h
mkdir -p projects/test
cd projects/test
# 编写测试程序:
vim hello_world.c
#include <stdio.h>
int main(int argc, char const *argv[])
{
printf("Hello D1s\n");
return 0;
}
# 编译:
export PATH=/sdk/tina-d1-h//prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/bin/:$PATH
riscv64-unknown-linux-gnu-gcc -o hello_word hello_word.c
# 查看编译结果:
ls -l
hello_wolrd
hello_world.c
# 上传hello_wolrd
adb push hello_wolrd /root/
# ========开发板操作========
cd /root/
./hello_world
Hello D1s
其他见参考:
- D1-H 开发板——哪吒 开发入门 - 泰晓科技 (tinylab.org)
- 平头哥芯片开放社区(OCC) (t-head.cn)
- 【D1-H 哪吒开发板】Debian系统安装调教和点灯指南 | 全志在线开发者论坛 (aw-ol.com)
- 基于全志D1-H DOCK PRO YoC RTOS 实战:HaaS helloJS桌面显示_DOT小文哥的博客-CSDN博客_全志d1 lichee docker
- 芒果派 MPi-MQ1 全志 D1s 开发板初体验 | Neko 喵~≡ω≡
- 《MangoPi-MQ 麻雀D1s上手教程》Tina系统编译烧录及基础分析 / 全志 SOC / WhyCan Forum(哇酷开发者社区)
- LiveSuit - linux-sunxi.org
- 2.1.烧录系统到spi-nand设备_哔哩哔哩_bilibili
- RT-Thread-D1 哪吒开发板 rt-smart 烧写与运行RT-Thread问答社区 - RT-Thread
- 全志平台设备固件升级的方法_DOT小文哥的博客-CSDN博客_全志efex
- macOS下的 multipass-vscode 编译环境建立 – Go2see me
- Free/Open Source Software for Allwinner SoCs (A10/A13/A10s/A20/A31/…) (github.com)
- (22条消息) 全志D1-H tina Docker 编译环境制作和使用_DOT小文哥的博客-CSDN博客_docker 全志
- D1_Tina_Linux_USB_开发指南.pdf (whycan.com)
- tina 2.0 d1s 的一些问题 | 全志在线开发者论坛 (aw-ol.com)