导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页
    1. 主页
    2. xiaowenge
    3. 帖子
    • 资料
    • 关注 0
    • 粉丝 34
    • 我的积分 21343
    • 主题 67
    • 帖子 868
    • 最佳 111
    • 群组 1

    xiaowenge 发布的帖子

    • 回复: SPI-NANDFLASH性能低问题

      @chenlinfei 快亿点点(50%左右,还是达不到理论值,所以应该是有复合原因影响,复合影响的问题,都不好查)

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: SPI-NANDFLASH性能低问题

      @chenlinfei 还在查,还没找到病因,初步怀疑是5.4内核调度问题

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 【DIY教程】D1哪吒开发板改成HDMI输出

      fdf0e760-7b81-42ad-851a-f4f133ea9f5c-image.png 。

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 【DIY教程】D1哪吒开发板改成HDMI输出

      D1哪吒开发板自带的固件和官方释放的Tina D1 v1.0.1 SDK默认都是mipi显示输出,如果需要改成HDMI输出,按场景需求,有以下三种方法:

      1.开发板直接命令行切换
      这种方法仅限本次开机,重启设备知乎又会重新加载DTS,变回mipi输出
      命令:

      cd /sys/kernel/debug/dispdbg
      echo disp0 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;
      

      此时开发板会改成HDMI输出,使用命令cat colorbar可以进行测试是否切换成功了:

      echo 1 > /sys/class/disp/disp/attr/colorbar 
      

      详见D1在线文档:https://d1.docs.aw-ol.com/study/study_5connect/#hdmi

      2.烧HDMI固件
      烧写官方提供的HDMI输出固件,就会变成HDMI输出,每次开机都是
      详见:https://d1.docs.aw-ol.com/source/3_getimg/
      固件下载地址:https://www.aw-ol.com/downloads/resources/44
      61b42be8-21da-451c-b2aa-1926c5b2ca3e-image.png

      3.修改源码
      如果想自己制作一个HDMI输出的固件,可以按照如下方法修改源码
      (1)修改DTS文件,uboot的dts和内核的dts都要改

      tina/device/config/chips/d1/configs/nezha$ git diff .
      diff --git a/configs/nezha/linux-5.4/board.dts b/configs/nezha/linux-5.4/board.dts
      index bfeed6c..1cef004 100755
      --- a/configs/nezha/linux-5.4/board.dts
      +++ b/configs/nezha/linux-5.4/board.dts
      @@ -1128,30 +1128,25 @@ chn_cfg_mode     : Hardware DE channel allocation config. 0:single display with
              disp_init_enable         = <1>;
              disp_mode                = <0>;
      
      -       screen0_output_type      = <1>;
      -       screen0_output_mode      = <4>;
      -
      -       screen1_output_type      = <3>;
      -       screen1_output_mode      = <10>;
      -
      -       screen1_output_format    = <0>;
      -       screen1_output_bits      = <0>;
      -       screen1_output_eotf      = <4>;
      -       screen1_output_cs        = <257>;
      -       screen1_output_dvi_hdmi  = <2>;
      -       screen1_output_range     = <2>;
      -       screen1_output_scan      = <0>;
      -       screen1_output_aspect_ratio = <8>;
      -
      -       dev0_output_type         = <1>;
      -       dev0_output_mode         = <4>;
      +    screen0_output_type      = <3>;
      +    screen0_output_mode      = <10>;
      +
      +    screen0_output_format    = <0>;
      +    screen0_output_bits      = <0>;
      +    screen0_output_eotf      = <4>;
      +    screen0_output_cs        = <257>;
      +    screen0_output_dvi_hdmi  = <2>;
      +    screen0_output_range     = <2>;
      +    screen0_output_scan      = <0>;
      +    screen0_output_aspect_ratio = <8>;
      +
      +    screen1_output_type      = <1>;
      +    screen1_output_mode      = <4>;
      +
      +    dev0_output_type         = <4>;
      +    dev0_output_mode         = <10>;
              dev0_screen_id           = <0>;
      -       dev0_do_hpd              = <0>;
      -
      -       dev1_output_type         = <4>;
      -       dev1_output_mode         = <10>;
      -       dev1_screen_id           = <1>;
      -       dev1_do_hpd              = <1>;
      +       dev0_do_hpd              = <1>;
      
              def_output_dev           = <0>;
              hdmi_mode_check          = <1>;
      diff --git a/configs/nezha/uboot-board.dts b/configs/nezha/uboot-board.dts
      old mode 100644
      new mode 100755
      index 793dec2..a5c99a2
      --- a/configs/nezha/uboot-board.dts
      +++ b/configs/nezha/uboot-board.dts
      @@ -214,30 +214,25 @@
              disp_init_enable         = <1>;
              disp_mode                = <0>;
      
      -       screen0_output_type      = <1>;
      -       screen0_output_mode      = <4>;
      -
      -       screen1_output_type      = <3>;
      -       screen1_output_mode      = <10>;
      -
      -       screen1_output_format    = <0>;
      -       screen1_output_bits      = <0>;
      -       screen1_output_eotf      = <4>;
      -       screen1_output_cs        = <257>;
      -       screen1_output_dvi_hdmi  = <2>;
      -       screen1_output_range     = <2>;
      -       screen1_output_scan      = <0>;
      -       screen1_output_aspect_ratio = <8>;
      -
      -       dev0_output_type         = <1>;
      -       dev0_output_mode         = <4>;
      +    screen0_output_type      = <3>;
      +    screen0_output_mode      = <10>;
      +
      +    screen0_output_format    = <0>;
      +    screen0_output_bits      = <0>;
      +    screen0_output_eotf      = <4>;
      +    screen0_output_cs        = <257>;
      +    screen0_output_dvi_hdmi  = <2>;
      +    screen0_output_range     = <2>;
      +    screen0_output_scan      = <0>;
      +    screen0_output_aspect_ratio = <8>;
      +
      +    screen1_output_type      = <1>;
      +    screen1_output_mode      = <4>;
      +
      +    dev0_output_type         = <4>;
      +    dev0_output_mode         = <10>;
              dev0_screen_id           = <0>;
      -       dev0_do_hpd              = <0>;
      -
      -       dev1_output_type         = <4>;
      -       dev1_output_mode         = <10>;
      -       dev1_screen_id           = <1>;
      -       dev1_do_hpd              = <1>;
      +       dev0_do_hpd              = <1>;
      
              def_output_dev           = <0>;
              hdmi_mode_check          = <1>;
      
      

      (2)重新编译uboot
      因为单独make编译的时候默认是不编译ubootd的,所以需要编译一下uboot

      //进入uboot代码路径
      cboot
      //单独编译uboot,编完uboot文件会自动复制到方案下,不用管它
      muboot
      //重新编译打包
      make -j64
      pack
      

      (3)改掉启动logo(可选)
      sdk自带的启动logo是适配mipi屏幕的,在HDMI屏幕上显示会异常,所以建议改掉原SDK自带那个哪吒的启动logo,改成了linux小企鹅,大家可以把tina/device/config/chips/d1/configs/nezha/config 下面的bootlogo.bmp文件替换成下面这个文件:
      bootlogo.7z

      完成以上几步之后,插上HDMI并启动开发板,显示器上就会输出linux小企鹅的logo了

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1哪吒开发板默认输出改成HDMI

      @xiaowenge 在 D1哪吒开发板默认输出改成HDMI 中说:

      @cloud_d1 知道了,你们的uboot没更新,因为单独make编译的时候默认是不编译ubootd的。
      做这一步:

      //进入uboot代码路径
      cboot
      //单独编译uboot,编完uboot文件会自动复制到方案下,不用管它
      muboot
      //重新编译打包
      make -j64
      pack
      

      附完整dts文件修改,之前的有个***dev0_do_hpd = <1>;***的参数没改到:

      tina/device/config/chips/d1/configs/nezha$ git diff .
      diff --git a/configs/nezha/linux-5.4/board.dts b/configs/nezha/linux-5.4/board.dts
      index bfeed6c..1cef004 100755
      --- a/configs/nezha/linux-5.4/board.dts
      +++ b/configs/nezha/linux-5.4/board.dts
      @@ -1128,30 +1128,25 @@ chn_cfg_mode     : Hardware DE channel allocation config. 0:single display with
              disp_init_enable         = <1>;
              disp_mode                = <0>;
      
      -       screen0_output_type      = <1>;
      -       screen0_output_mode      = <4>;
      -
      -       screen1_output_type      = <3>;
      -       screen1_output_mode      = <10>;
      -
      -       screen1_output_format    = <0>;
      -       screen1_output_bits      = <0>;
      -       screen1_output_eotf      = <4>;
      -       screen1_output_cs        = <257>;
      -       screen1_output_dvi_hdmi  = <2>;
      -       screen1_output_range     = <2>;
      -       screen1_output_scan      = <0>;
      -       screen1_output_aspect_ratio = <8>;
      -
      -       dev0_output_type         = <1>;
      -       dev0_output_mode         = <4>;
      +    screen0_output_type      = <3>;
      +    screen0_output_mode      = <10>;
      +
      +    screen0_output_format    = <0>;
      +    screen0_output_bits      = <0>;
      +    screen0_output_eotf      = <4>;
      +    screen0_output_cs        = <257>;
      +    screen0_output_dvi_hdmi  = <2>;
      +    screen0_output_range     = <2>;
      +    screen0_output_scan      = <0>;
      +    screen0_output_aspect_ratio = <8>;
      +
      +    screen1_output_type      = <1>;
      +    screen1_output_mode      = <4>;
      +
      +    dev0_output_type         = <4>;
      +    dev0_output_mode         = <10>;
              dev0_screen_id           = <0>;
      -       dev0_do_hpd              = <0>;
      -
      -       dev1_output_type         = <4>;
      -       dev1_output_mode         = <10>;
      -       dev1_screen_id           = <1>;
      -       dev1_do_hpd              = <1>;
      +       dev0_do_hpd              = <1>;
      
              def_output_dev           = <0>;
              hdmi_mode_check          = <1>;
      diff --git a/configs/nezha/uboot-board.dts b/configs/nezha/uboot-board.dts
      old mode 100644
      new mode 100755
      index 793dec2..a5c99a2
      --- a/configs/nezha/uboot-board.dts
      +++ b/configs/nezha/uboot-board.dts
      @@ -214,30 +214,25 @@
              disp_init_enable         = <1>;
              disp_mode                = <0>;
      
      -       screen0_output_type      = <1>;
      -       screen0_output_mode      = <4>;
      -
      -       screen1_output_type      = <3>;
      -       screen1_output_mode      = <10>;
      -
      -       screen1_output_format    = <0>;
      -       screen1_output_bits      = <0>;
      -       screen1_output_eotf      = <4>;
      -       screen1_output_cs        = <257>;
      -       screen1_output_dvi_hdmi  = <2>;
      -       screen1_output_range     = <2>;
      -       screen1_output_scan      = <0>;
      -       screen1_output_aspect_ratio = <8>;
      -
      -       dev0_output_type         = <1>;
      -       dev0_output_mode         = <4>;
      +    screen0_output_type      = <3>;
      +    screen0_output_mode      = <10>;
      +
      +    screen0_output_format    = <0>;
      +    screen0_output_bits      = <0>;
      +    screen0_output_eotf      = <4>;
      +    screen0_output_cs        = <257>;
      +    screen0_output_dvi_hdmi  = <2>;
      +    screen0_output_range     = <2>;
      +    screen0_output_scan      = <0>;
      +    screen0_output_aspect_ratio = <8>;
      +
      +    screen1_output_type      = <1>;
      +    screen1_output_mode      = <4>;
      +
      +    dev0_output_type         = <4>;
      +    dev0_output_mode         = <10>;
              dev0_screen_id           = <0>;
      -       dev0_do_hpd              = <0>;
      -
      -       dev1_output_type         = <4>;
      -       dev1_output_mode         = <10>;
      -       dev1_screen_id           = <1>;
      -       dev1_do_hpd              = <1>;
      +       dev0_do_hpd              = <1>;
      
              def_output_dev           = <0>;
              hdmi_mode_check          = <1>;
      
      
      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1哪吒开发板默认输出改成HDMI

      @cloud_d1 知道了,你们的uboot没更新,因为单独make编译的时候默认是不编译ubootd的。
      做这一步:

      //进入uboot代码路径
      cboot
      //单独编译uboot,编完uboot文件会自动复制到方案下,不用管它
      muboot
      //重新编译打包
      make -j64
      pack
      
      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 【DIY教程】D1哪吒开发板移植wifi6模组AW869B

      D1哪吒开发板自带的是全志的XR829模组,支持2.4G wifi4和bt,但是不支持wifi6。
      相比wifi4,wifi6具有更高的速度、更低的延时、更好的安全性等特点,在高端AIoT产品中有广泛的使用场景。因此,我们决定在D1上移植个wifi6模组来玩。
      我们的wifi6模组选择的是全志自己做的AW869B,该模组已经在全志平板、智能物联等产品上应用。

      1.硬件修改
      1.1 换模组
      AW869B和D1哪吒开发板原装的XR829是pin to pin的,所以只需要撬开板子上的哪吒眼,把XR829吹下来,就可以直接把AW869B替换上去
      62cb6ca2-3bab-4931-8dc9-cea4cdb32bc0-image.png

      1.2 改电
      AW869B规格书严格要求io供电是1.8V,但是现在SDIO_DATA脚的电压上拉测的只有1.4V,所以还要改个电,具体改法如下:
      1.2.1 修改VDDIO供电
      VDDIO供电默认来自VCC-PG,将VCC-PG由VCC_3V3改到LDOA-OUT.【即:拆掉RS121,贴上RS90(R0402,0欧)】
      1.2.2 BT-RESETN引脚拉低
      AW869B规格要求.【即:贴上RW20(R0402,100K)】
      修改点如图:
      e0182e78-5e42-4671-a171-28104c4721ba-image.png

      2.软件修改
      patch下载地址:https://www.aw-ol.com/downloads/resources/45
      2.1 添加AW869B驱动
      ① 将/software/driver下的aic8800文件夹拷贝至lichee/linux-5.4/drivers/net/wireless目录下
      ② lichee/linux-5.4/drivers/net/wireless/Makefile中添加obj-$(CONFIG_AIC_WLAN_SUPPORT) += aic8800/
      ③ lichee/linux-5.4/drivers/net/wireless/Kconfig中添加source "drivers/net/wireless/aic8800/Kconfig"
      ④ 在根目录执行make kernel_menuconfig命令,选中

      Device Drivers 》  Network device support 》 Wireless LAN 》
      [*]AIC wireless Support
      	<M>     AIC8800 wlan Support  
      	<M>     AIC8800 bluetooth Support 
      

      ⑤ 执行mkernel

      2.2 适配Module
      ①将software/patch目录下的0001-AIC8800-WiFi-Aic8800-WiFi-add-new-modules.path拷贝到target/allwinner/d1-common下执行git am
      ②在Tina根目录执行make menuconfig,选中 Kernel modules 》 Wireless Drivers 》 < * > kmod-net-aic8800
      2.3 添加firmware文件
      ①将/software/firmware下的aic8800目录文件夹拷贝至package/firmware/linux-firmware目录下
      ②在Tina根目录执行make menuconfig,选中 Firmware 》 < * > aic8800-firmware. (如不显示aic8800-firmware可以在根目录执行build\envsetup.sh)
      2.4 修改设备树的PG口电压
      ①将software/patch目录下的0001-AIC8800-WiFi-CONFIG_PG_1_8V.patch拷贝到/device/config/chips/d1/configs/nezha/linux-5.4执行git am
      2.5 编译、烧写、运行。

      测试固件下载地址:https://www.aw-ol.com/downloads/resources/46

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1哪吒开发板默认输出改成HDMI

      @tianmao 在 D1哪吒开发板默认输出改成HDMI 中说:

      @xiaowenge 赞,搭顺风车问下,这个企鹅是240320的黑底的照片,背景也是黑色的,这种显示比较好,如果我是白底的400400这种的,背景颜色应该怎么设置呢

      看了下配置文件注释,好像没有配置背景颜色这么一说(当然也可能是有但是配置文件没有更新,具体要读一下驱动源码)
      如果不是黑底的话,应该是P一整张适配整个屏幕大小的开机log吧,这样才不会有色差
      233ead5a-a9e5-47de-833b-10f56f3d708e-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: uboot中 ubifs 可以关闭吗

      @madang 哥,看文档9f32f3b1-90ee-4bcc-bf4f-5f79cf468ad3-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1哪吒开发板默认输出改成HDMI

      有朋友提到用我以上的修改还是会绿屏(满屏绿那种),我回忆了一下修改点,我之前是改掉了原SDK自带那个哪吒的启动logo,改成了linux小企鹅,大家可以把tina/device/config/chips/d1/configs/nezha/config 下面的bootlogo.bmp文件替换成下面这个文件试试:
      bootlogo.7z
      (文件是小企鹅启动logo)
      (之前改掉启动logo是因为哪吒那张图3M多太大了,我不是故意改掉不告诉你们的。。。。)

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: uboot中 ubifs 可以关闭吗

      不建议直接关掉ubifs,因为可能对uboot其它模块有影响,我们的文档中有一份《D1 Tina Linux 启动优化开发指南》,里面有建议的优化启动速度方法,可以先参考进行启动时间的优化
      cf700c2d-b539-43cf-8c80-8c231641b6d8-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 请问D1哪吒开发板能点亮诺基亚mipi dsi 1-lane 显示屏吗?

      @memory 那感觉买贵了,一般是论斤卖的吧

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 请问D1哪吒开发板能点亮诺基亚mipi dsi 1-lane 显示屏吗?

      @ubuntu 加油,调通了告诉我,我们后面也进这个屏来卖

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 【固件发布】D1哪吒HDMI测试固件20210804(开机HDMI就有小企鹅启动logo)

      由于最近很多朋友在论坛提到HDMI的问题,所以上传一个HDMI输出的固件,供大家测试用

      D1哪吒HDMI测试固件20210804(开机HDMI就有小企鹅启动logo)

      下载地址:https://www.aw-ol.com/downloads/resources/44

      固件配置:

      基于D1 哪吒对外释放 Open V1.0.1版本SDK:

      (1)默认boot dts和内核dts都配置成了HDMI输出,插上HDMI显示器(1080P)开机就有小企鹅启动logo输出;

      (2)* echo 1 > /sys/class/disp/disp/attr/colorbar * 可以测试HDMI的colorbar;

      (3)DTS修改参考论坛帖子:https://bbs.aw-ol.com/topic/253

      发布时间:20210804

      详见:https://d1.docs.aw-ol.com/source/3_getimg/

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 神贴:CSDN上硬件十万个为什么的公众号文章合集

      发现个神贴:CSDN上硬件十万个为什么的公众号文章合集
      干货知识都整理得整整齐齐的,软件硬件的都有,都是实用贴,学会了就是高级硬件工程师了
      1629f78b-a334-4a16-a4c4-ddba1037fe15-image.png
      上链接:https://blog.csdn.net/pan0755/article/details/74454344

      发布在 其它全志芯片讨论区
      xiaowenge
      DOT小文哥
    • 回复: 请问D1 tina v1.0.0 是不是默认支持了自带的mipi屏幕, 可是为什么我的没有显示呢?背光是亮的

      @memory 拿到代码,repo sync就是最新的

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 请问D1怎么开双显和同显异显?

      @memory 在 请问D1怎么开双显和同显异显? 中说:

      @bedrock 在 请问D1怎么开双显和同显异显? 中说:

      见文档:
      固件下载:
      https://d1.docs.aw-ol.com/source/3_getimg/

      这个固件我这里MIPI可以显示, 但是HDMI不显示:

      [    5.422590] [HDMI2 error]: sink do not support this mode:0
      [    5.965702] init: Console is alive
      [    5.969722] init: - watchdog -
      [    5.973342] init: - preinit -
      

      D1哪吒双屏同显测试固件
      下载地址:https://www.aw-ol.com/downloads/resources/38

      固件配置:

      基于D1 哪吒对外释放 Open V1.0.1版本SDK:

      (1)可适配1G/2G版本D1哪吒开发板;

      (2)可以支持8寸MIPI屏幕和HDMI双同时输出相同的视频,使用 tplaydemo +视频 路径即可播放;

      发布时间:20210618

      作者:Yongheng

      dts配好了,你要tplaydemo +视频播放 的时候才会同时从两个屏幕输出播放的视频

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 【中科院年度大作】基于D1哪吒开发板移植openEuler!目前第三版已经可以运行,WIFI功能正常使用,欢迎下载测试。

      让我看看你的屏幕

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: udhcpc卡在sending discover

      @yesterdai 不应该啊,最新测试固件就说v1.0.1编出来的6cd64aec-f7d2-4dbc-b48b-6c227a0c8b5a-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 蓝牙mesh固件

      请问有没有mesh的demo可以测试下呢?

      发布在 Linux
      xiaowenge
      DOT小文哥
    • 回复: udhcpc卡在sending discover

      @yesterdai 可以参考这里:https://d1.docs.aw-ol.com/study/study_5connect/#_6

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1主板烧录HDMI输出固件,但无输出

      @xiaowenge 在 D1主板烧录HDMI输出固件,但无输出 中说:

      两部走
      1.手动切到HDMI

      cd /sys/kernel/debug/dispdbg
      echo disp0 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;
      

      2.cat colorbar看看

      echo 1 > /sys/class/disp/disp/attr/colorbar 
      

      *参考链接:https://d1.docs.aw-ol.com/study/study_5connect/#hdmi

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1主板烧录HDMI输出固件,但无输出

      两部走
      1.手动切到HDMI

      cd /sys/kernel/debug/dispdbg
      echo disp0 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;
      

      2.cat colorbar看看

      echo 1 > /sys/class/disp/disp/attr/colorbar 
      
      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 【骚操作】启动阶段改设备DTS的方法

      *注:如果参数值是数字的话,要用"<>"括起来,如:

      fdt set /soc/disp/ screen0_output_type <4>
      

      如果是字符串的话要用引号引起来,如:

      dt set /soc/disp/ boot_fb0 "000000007eb4d680,780,438,20,1e00,348,17c,438,2bc"
      
      发布在 Linux
      xiaowenge
      DOT小文哥
    • 【骚操作】启动阶段改设备DTS的方法

      在设备BSP调试的过程中,经常会出现需要修改DTS的情况,比如调试一个新的屏幕、传感器或者wifi模组,传统的方法是:
      在源码中直接修改board.dts文件->重新编译&打包->烧写到设备里
      这种方法繁杂,编译和烧写都要花费时间,严重影响开发效率。
      因此,全志提供了一个启动阶段DTS调试的方法,可以让我们在启动阶段就把DTS改掉,这次启动加载的就是改后的DTS。
      *注:这种修改是一次性的,不可以保存的,只限这次启动的时候生效,断电或者重启就不生效了

      1.设备上电过程中串口按住电脑键盘的"s"按键,让设备进入boot:
      *注:是真的按住调试的电脑的键盘的s按键,和按住2另设备跳烧录的操作一样(参考:https://d1.docs.aw-ol.com/study/study_4compile/#pc2)
      如果进入boot成功,就会有如下log,这时就可以在串口对设备进行DTS修改操作。
      b263a347-e815-490a-a184-c652bd6d1c2b-image.png
      (详细log如下)

      [188]HELLO! BOOT0 is starting!
      [191]BOOT0 commit : 27369ab
      [194]set pll start
      [196]periph0 has been enabled
      [199]set pll end
      [200][pmu]: bus read error
      [203]board init ok
      [205]DRAM only have internal ZQ!!
      [208]get_pmu_exist() = -1
      [210]DRAM BOOT DRIVE INFO: V0.24
      [213]DRAM CLK = 792 MHz
      [215]DRAM Type = 3 (2:DDR2,3:DDR3)
      [219]DRAMC ZQ value: 0x7b7bfb
      [221]DRAM ODT value: 0x42.
      [224]ddr_efuse_type: 0x0
      [227]DRAM SIZE =1024 M
      [231]DRAM simple test OK.
      [233]dram size =1024
      [235]key press : s
      [237]spinand UBOOT_START_BLK_NUM 8 UBOOT_LAST_BLK_NUM 32
      [242]block from 8 to 32
      [318]Check is correct.
      [320]dma 0x2f9f8 int is not used yet
      [323]dma 0x2f9f8 int is free, you do not need to free it again
      [329]Entry_name        = opensbi
      [332]Entry_name        = u-boot
      [335]Entry_name        = dtb
      [338]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.2
      
      MIDELEG : 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 (Apr 30 2021 - 11:23:28 +0000) Allwinner Technology
      
      [00.421]DRAM:  1 GiB
      [00.423]Relocation Offset is: 3def0000
      [00.427]secure enable bit: 0
      [00.429]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz  MBus=300Mhz
      [00.436]flash init start
      [00.438]workmode = 0,storage type = 0
      [00.444]sunxi-spinand-phy: not detect any munufacture from id table
      [00.450]sunxi-spinand-phy: get spi-nand Model from fdt fail
      [00.456]sunxi-spinand-phy: get phy info from fdt fail
      
      device nand0 <nand>, # parts = 4
       #: name                size            offset          mask_flags
       0: boot0               0x00100000      0x00000000      1
       1: uboot               0x00300000      0x00100000      1
       2: secure_storage      0x00100000      0x00400000      1
       3: sys                 0x0fb00000      0x00500000      0
      
      active partition: nand0,0 - (boot0) 0x00100000 @ 0x00000000
      
      defaults:
      mtdids  : nand0=nand
      mtdparts: mtdparts=nand:1024k@0(boot0)ro,3072k@1048576(uboot)ro,1024k@4194304(secure_storage)ro,-(sys)
      [00.794]ubi0: attaching mtd4
      [01.190]ubi0: scanning is finished
      [01.200]ubi0: attached mtd4 (name "sys", size 251 MiB)
      [01.204]ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 258048 bytes
      [01.211]ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 2048
      [01.217]ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
      [01.223]ubi0: good PEBs: 1004, bad PEBs: 0, corrupted PEBs: 0
      [01.228]ubi0: user volume: 9, internal volumes: 1, max. volumes count: 128
      [01.235]ubi0: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
      [01.243]ubi0: available PEBs: 0, total reserved PEBs: 1004, PEBs reserved for bad PEB handling: 40
      [01.251]sunxi flash init ok
      [01.254]line:714 init_clocks
      __clk_init: clk pll_periph0x2 already initialized
      register fix_factor clk error
      [01.264]drv_disp_init
      request pwm success, pwm2:pwm2:0x2000c00.
      [01.281]drv_disp_init finish
      [01.283]boot_gui_init:start
      [01.286]set disp.dev2_output_type fail. using defval=0
      [01.478]boot_gui_init:finish
      [01.891]LCD open finish
      partno erro : can't find partition bootloader
      54 bytes read in 0 ms
      [02.052]bmp_name=bootlogo.bmp size 3072054
      3072054 bytes read in 126 ms (23.3 MiB/s)
      [02.402]Loading Environment from SUNXI_FLASH... OK
      [02.435]out of usb burn from boot: not need burn key
      [02.460]update bootcmd
      [02.482]change working_fdt 0x7eaafda8 to 0x7ea8fda8
      [02.503]update dts
      Hit any key to stop autoboot:  0
      => sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
      Unknown command 'sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss' - try 'help'
      =>
      =>
      

      2.要看哪个DTS节点的参数,就输入 fdt list +节点名称
      比如查看整个/soc/的DTS:

      => fdt list /soc/
      soc@3000000 {
              #address-cells = <0x00000002>;
              #size-cells = <0x00000002>;
              compatible = "simple-bus";
              ranges;        sram_ctrl@3000000 {
              };
              rtc_ccu@7090000 {
              };
              clock@2001000 {
              };
              clock@7010000 {
              };
              interrupt-controller@10000000 {
              };
              uart@2500000 {
              };
              uart@2500400 {
              };
              uart@2500800 {
              };
              uart@2500c00 {
              };
              uart@2501000 {
              };
              uart@2501400 {
              };
              ce@03040000 {
              };
              s_cir@7040000 {
              };
              ir@2003000 {
              };
              deinterlace@5400000 {
              };
              eth@4500000 {
              };
              rtc@7090000 {
              };
              dma-controller@3002000 {
              };
              timer@2050000 {
              };
              watchdog@6011000 {
              };
              mbus-comtroller@3102000 {
              };
              pmu {
              };
              idle {
              };
              pinctrl@2000000 {
              };
              spi@4025000 {
              };
              spi@4026000 {
              };
              twi@2502000 {
              };
              twi@2502400 {
              };
              twi@2502800 {
              };
              twi@2502c00 {
              };
              ledc@2008000 {
              };
              pwm@2000c00 {
              };
              keyboard@2009800 {
              };
              sid@3006000 {
              };
              gpadc@2009000 {
              };
              ths@02009400 {
              };
              rtp@2009c00 {
              };
              codec@2030000 {
              };
              dummy_cpudai@203034c {
              };
              sound@2030340 {
              };
              rpaf-dsp@203034c {
              };
              dmic@2031000 {
              };
              sound@2031050 {
              };
              sounddmic@2031060 {
              };
              daudio@2032000 {
              };
              sounddaudio0@20320a0 {
              };
              daudio@2033000 {
              };
              sounddaudio1@20330a0 {
              };
              daudio@2034000 {
              };
              sounddaudio2@20340a0 {
              };
              hdmiaudio@20340a4 {
              };
              spdif@2036000 {
              };
              soundspdif@2036040 {
              };
              g2d@5410000 {
              };
              disp@5000000 {
              };
              ve@1c0e000 {
              };
              msgbox@0601f000 {
              };
              lcd0@1c0c000 {
              };
              sdmmc@4022000 {
              };
              sdmmc@4020000 {
              };
              sdmmc@4021000 {
              };
              hdmi@5500000 {
              };
              usbc0@0 {
              };
              udc-controller@0x04100000 {
              };
              ehci0-controller@0x04101000 {
              };
              ohci0-controller@0x04101400 {
              };
              usbc1@0 {
              };
              ehci1-controller@0x04200000 {
              };
              ohci1-controller@0x04200400 {
              };
              pwm0@2000c10 {
              };
              pwm1@2000c11 {
              };
              pwm2@2000c12 {
              };
              pwm3@2000c13 {
              };
              pwm4@2000c14 {
              };
              pwm5@2000c15 {
              };
              pwm6@2000c16 {
              };
              pwm7@2000c17 {
              };
              vind@5800800 {
              };
              tvd@05c00000 {
              };
              tvd0@05c01000 {
              };
              card0_boot_para@2 {
              };
              card2_boot_para@3 {
              };
              rfkill@0 {
              };
              btlpm@0 {
              };
              addr_mgt@0 {
              };
      };
      

      再比如看pwm0的设置则为:

      => fdt list /soc/pwm0
      pwm0@2000c10 {
              compatible = "allwinner,sunxi-pwm0";
              reg = <0x00000000 0x02000c10 0x00000000 0x00000004>;
              reg_base = <0x02000c00>;
              pinctrl-names = "active", "sleep";
              pinctrl-0 = <0x00000056>;
              pinctrl-1 = <0x00000057>;
              status = "okay";
              phandle = <0x00000030>;
      };
      

      3.如果要修改某个节点的参数,则使用 fdt set 节点名称 参数名称 要修改的数值
      如 fdt set /soc/disp dev0_do_hpd <0>

      4.改好后输入 boot 启动设备即可。

      发布在 Linux
      xiaowenge
      DOT小文哥
    • 回复: SPI-NANDFLASH性能低问题

      @chenlinfei 在 SPI-NANDFLASH性能低问题 中说:

      不了理论值的,应该小于理论值很多,但是不到理论值的1/10就有点低了。另外,uboot读nand能有接近10MB/s。
      是否能优化spi小数据读写?

      还有擦除耗时和编程耗时啥的,每page(2k)大概耗时在45us左右,算下来读取的速度应该在22M/s左右。DMA耗时的问题确实存在,已经内部在查这个问题了。

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 请问《D1_Tina_Linux_配网_开发指南.pdf》里面的声波配网app哪里可以下载呢?

      @tigger tina源码里面有,/package/allwinner/smartlinkd (大概是这个目录,你搜下)

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 【资料发布】D1芯片封装文档及DDR参考设计文档

      资料释放:
      D1芯片封装文档及DDR参考设计文档
      拥有了它们你就可以基于D1芯片设计自己的小板板了
      详情请到全志客户服务平台下载:
      https://open.allwinnertech.com/#/doc?menuID=2
      fa67201c-7392-434c-868a-0bbb1767dfdc-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: SPI-NANDFLASH性能低问题

      到不了理论值那么高吧,SPI-Nand顺序写估计能到2MB/s(四线),顺序读5MB/s差不多了。SPI-Nand随机写是120iops左右,随机读估计在600iops左右

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1 数码相框装起来, 就缺软件了

      bc51a606-9fdf-4d43-843f-4a0a3fbbb85e-image.png 这些接出来的线是干啥的?

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1哪吒开发板默认输出改成HDMI

      @nideyida 在 D1哪吒开发板默认输出改成HDMI 中说:

      我先用在线文档介绍的方法切到HDMI输出:

      cd /sys/kernel/debug/dispdbg
      echo disp0 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;
      

      再cat colorbar,就不绿了,说明不是硬件或者显示器的问题,应该是我配置的问题

      echo 1 > /sys/class/disp/disp/attr/colorbar 
      

      实测播放视频没绿。。。。就cat colorbar就绿,这就很尴尬了。。。

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1哪吒开发板默认输出改成HDMI

      board.dts和uboot-board.dts你都这样改:

      tina/device/config/chips/d1/configs/nezha$ git diff .
      diff --git a/configs/nezha/linux-5.4/board.dts b/configs/nezha/linux-5.4/board.dts
      index bfeed6c..335895e 100755
      --- a/configs/nezha/linux-5.4/board.dts
      +++ b/configs/nezha/linux-5.4/board.dts
      @@ -1128,25 +1128,25 @@ chn_cfg_mode     : Hardware DE channel allocation config. 0:single display with
              disp_init_enable         = <1>;
              disp_mode                = <0>;
      
      -       screen0_output_type      = <1>;
      -       screen0_output_mode      = <4>;
      -
      -       screen1_output_type      = <4>;
      -       screen1_output_mode      = <10>;
      -
      -       screen1_output_format    = <0>;
      -       screen1_output_bits      = <0>;
      -       screen1_output_eotf      = <4>;
      -       screen1_output_cs        = <257>;
      -       screen1_output_dvi_hdmi  = <2>;
      -       screen1_output_range     = <2>;
      -       screen1_output_scan      = <0>;
      -       screen1_output_aspect_ratio = <8>;
      -
      -       dev0_output_type         = <1>;
      -       dev0_output_mode         = <4>;
      +       screen0_output_type      = <3>;
      +       screen0_output_mode      = <10>;
      +
      +       screen0_output_format    = <0>;
      +       screen0_output_bits      = <0>;
      +       screen0_output_eotf      = <4>;
      +       screen0_output_cs        = <257>;
      +       screen0_output_dvi_hdmi  = <2>;
      +       screen0_output_range     = <2>;
      +       screen0_output_scan      = <0>;
      +       screen0_output_aspect_ratio = <8>;
      +
      +       screen1_output_type      = <1>;
      +       screen1_output_mode      = <4>;
      +
      +       dev0_output_type         = <4>;
      +       dev0_output_mode         = <10>;
              dev0_screen_id           = <0>;
      
      
      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1 DMIC+AMIC同时读取,系统出现kernel panic

      哦哦,2路amic当回路是吧?
      //使用arecord命令,在设备硬件设备snddmic上录一个采样率为16000、格式为S16_LE、6声道的音频文件,存到/tmp/test.wav
      arecord -D hw:snddmic -r 16000 -f S16_LE -c 6 /tmp/test.wav
      试下能不能录到音,确认一下硬件是不是坏的

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1 DMIC+AMIC同时读取,系统出现kernel panic

      @diguago sipeed的板子有贴两种mic?

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1 DMIC+AMIC同时读取,系统出现kernel panic

      @diguago 必现吗?用的sipeed那里买的麦克风子板?

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • D1-H/D1s SPI NAND & DDR支持列表

      以下为D1 tina理论上支持的nand列表,用料量产前建议先找全志或代理商FAE确认压测情况。
      Micron:MT29F1G01ABAFDSF-AAT(NW808)
      MT29F2G01ABAGDWB
      Winbond:W25N01GVZEIG
      MXIC:MX35LF1GE4AB
      MX35LF2GE4AD
      GigaDevi ce:GD5F1GQ4UBYIGR
      GD5F1GQ5UEYIGR
      GD5F2GQ5UEYIGR
      ESMT:F50L2G41XA
      F50L1G41LB(2M) -> F50L1G41LB-104YG2M F50L1G41LB- 104YG2ME
      Dosilicon:DS35Q1GA-1B
      FORESEE:E FS35ND01G-S1F1QWFI
      Zetta:ZD35Q1GA-IBR
      FM:FM25S01

      更新DDR支持列表:
      Hynix :H5TQ4G63EFR-RDC DDR3 FBGA 96 4Gb 256Mx16 792MHz
      Micron: MT41K512M16HA-125 DDR3L FBGA 96 8Gb 512Mx16 792MHz
      SpecTek: PRN512M16Z11CD8LY-083 DDR3 FBGA 96 8Gb 512Mx16 792MHz
      (D1-H哪吒开发板上用的就是这几款,全志内部做过压力测试的)

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 【系统更新】更新多媒体中间件,在Tina D1上支持gstreamer

      基于D1_Tina_Open V1.0.1版本更新对gstreamer的支持:
      1、Tina升级gstreamer主包及其各插件包到1.16.3版本,支持RV架构;
      2、gstreamer显示插件sunxifbsink支持g2d硬件旋转;
      3、更新多媒体中间件。
      详见全志客户服务平台:全志客户服务平台
      ed5ce15b-3e6c-49f2-a731-898e65dfc321-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 请问哪吒 D1 开发板拔插 HDMI 显示器, 提示sink do not support this mode 是什么问题? 换了两台显示器了.

      @tigger

      echo 4 10 0 0 0x4 0x101 0 0 0 8 > param;
      

      这里第二个参数是分辨率,按照.dts注释里写的:

      0screenx_output_mode   (used for hdmi output, 
      0:480i 
      1:576i 
      2:480p 
      3:576p 
      4:720p50
      5:720p60 
      6:1080i50 
      7:1080i60 
      8:1080p24 
      9:1080p50 
      10:1080p60
      )
      
      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 请问哪吒 D1 开发板拔插 HDMI 显示器, 提示sink do not support this mode 是什么问题? 换了两台显示器了.

      @tigger 默认应该是MIPI输出,切到HDMI输出就好了:

      cd /sys/kernel/debug/dispdbg
      echo disp0 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;
      

      68d35dde-eb75-46eb-8594-1561e787ee71-image.png
      a815721a-1e68-4152-a336-bb2143b1a703-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 【DIY教程】用D1哪吒开发板做一个卡牌识别机,可以玩游戏王、狼人杀、三国杀、剧本杀

      @aldfaaa 有想法就冲!

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 请问哪吒 D1 开发板拔插 HDMI 显示器, 提示sink do not support this mode 是什么问题? 换了两台显示器了.

      @tigger 你的是不是4K显示器?

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 围观 D1s EVB

      参考D1原理图,MIPI会用到DSI-CKN\DSI-CKP\DSI-DN0\DSI-DP0\DSI-DN1\DSI-DP1\DSI-DN2\DSI-DP2\DSI-DN3\DSI-DP3\DSI-RESET:
      20e3643c-aad2-4d4a-9700-ef4c78c95b88-image.png
      *DSI-CNX/DSI-CPX是数据组,屏幕分辨率低的数据量少,一组也行,比较多的是 两组 和四组,720p以上分辨率一般4组。这里我们比较豪,可以直接上4组,支持1080P都行

      这几组引脚在F133都有:
      ea26c5f1-fde0-454d-b45d-a6dea7ccc290-image.png

      查阅F133 user manual,可以看到有支持最多8路DMIC:
      34c7cf5f-09e4-4e22-a3c2-9fdeea4185d7-image.png
      35e49d9b-0a20-4adc-b868-637f8e9e28a2-image.png
      看引脚,PF16-PD19都可以用来做DMIC的数据脚,PD20可以用来做时钟
      ad239fef-3507-4f38-a383-7a5fbb04fa30-image.png
      F133的引脚相对D1会少很多,只有一组DMIC脚,没有那么多复用的,操作空间会小很多,用了之后引脚的其它功能就不能再用了。

      回路正好将一路声音从amic的地方来回做AEC就可以了。

      综上,语音小电视方案在F133上可行。

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 小哪吒产品规格共创

      1f36bb9e-6bfd-4765-813b-84fb973aa005-image.png
      计划有变,不多说了,大家自己看,以防还有变

      发布在 其它全志芯片讨论区
      xiaowenge
      DOT小文哥
    • 回复: Debian系统文件在哪里

      @dengjijiang 这是哪里的文档

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 小哪吒产品规格共创

      @mangogeek 有的

      发布在 其它全志芯片讨论区
      xiaowenge
      DOT小文哥
    • 回复: 【DIY教程】用D1哪吒开发板做一个卡牌识别机,可以玩游戏王、狼人杀、三国杀、剧本杀

      这个游戏王对战机会实现如下功能:
      1.识别卡牌;
      2.展示召唤效果——动画+光效+BGM;
      3.修改攻击力/防御力
      ——这是线下对战中的一个痛点,因为在对战中经常有卡牌的效果影响怪兽的怪兽攻击力/防御力,比如场上有一只A怪兽的时候,B怪兽的攻击力会增加300点等

      以上功能需要两个显示屏幕实现,正好D1支持双屏异显,即同时接两个屏幕,分别输出不一样的内容,并且可以支持触控,这样看,我们的功能就都能在一块D1开发板上实现。
      我们需要的硬件配置有:
      D1哪吒开发板,MIPI屏幕+HDMI屏幕,USB摄像头,LED灯带

      做出来整个demo的硬件方案大概就是这样的:
      d1f8988b-ec5f-42c0-8a01-9adadc39a802-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: softap demo apk

      @tomwang 在SDK smartlinkd目录下好像有

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: 【DIY教程】用D1哪吒开发板做一个卡牌识别机,可以玩游戏王、狼人杀、三国杀、剧本杀

      这个小demo的灵感,来源于前些天很火的一个司法拍卖:
      80块钱游戏卡“青眼白龙”拍出8700万天价!原主人是95后贪污近7000万被判无期
      3f39f0f6-e80c-4d7a-9a0b-90226325cd86-image.png
      3fe3f856-70a6-4992-b777-59735a8f1863-image.png
      这款纯金的“青眼白龙”卡牌限量发售500套,官方定价为1万多人民币。
      虽然这个次拍卖是被人恶意哄抬价格,但是根据近期日本拍卖网站的成交价格来看,这张卡的实际市场估值已经去到了20-30万人民币左右。
      对此我们只能说:
      f95bf824-459a-4eb8-81c6-24d1582f2618-image.png

      与此同时,我们看到了这样一个抖音视频:
      通过全息风扇玩游戏王,增强线下游戏的氛围感


      148d76ec-6e64-4314-afaa-25cc0b5ef384-image.png
      小时候看游戏王的动画片,里面的角色对战的时候可以直接召唤到怪兽,出场还自带动画和BGM,而我们自己玩的时候,则是一堆冷冰冰的卡牌,想想真是太无趣了
      9d1f48b2-cdb9-4f54-a815-385cbf3c5044-image.png
      所以我们决定做一个【现实版插件】——游戏王对战机!
      通过屏幕效果的展示和一些辅助功能,增强线下卡牌对战的氛围感和体验

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: R329编译错误

      @tomwang 之前不也是14.04吗?意思是之前是虚拟机,现在直接装真?

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: R329编译错误

      @tomwang 后面这份log没传成功。看之前那份编译环境啥的应该没啥问题,都编了大半了,可能时不断编出了新的库,虚拟机磁盘分配的空间不够了,所以编译异常,试着把虚拟器分配的空间调大试一下

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: R329编译错误

      @tomwang 在 R329编译错误 中说:

      satisfy_dependencies_for: Cannot satisfy the following dependencies for bluez-alsa:

      你重新开一个终端,配置一下环境变量,然后lunch的时候选择r329_evb5_min-tina编译试一下

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: R329编译错误

      之前是因为附件包含log被误认为是攻击代码被防火墙拦截了,已帮你加入白名单,再帮你传了一份
      build_error

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: R329编译错误

      @tomwang 把文件拖拽到这发帖的窗口,或者点击发帖那里的文件图标
      bbac32f5-3e84-4a44-a250-4c9829e06763-image.png

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: R329编译错误

      @tomwang 看看完整log截图?前后的做了哪些配置?

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: xr829资料

      @tomwang 板子收到airkiss发过来的ssid和password了吗?

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: 请问d1 上wifi 模块是什么型号

      @chshwei 目前在售的D1哪吒开发板全部统一用XR829

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 请问淘宝上面的cklink可以调试d1吗?

      一起来白嫖嘉立创啦~
      47b5edef-e1e0-45ac-9e44-9b25e192b90a-image.png
      56331fb2-f36f-4e4c-b4c7-9da13c98366e-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 请问怎么测试这个花了大价钱的镀金排针会不会生锈?

      扔盐水里加压加热测试

      发布在 其它全志芯片讨论区
      xiaowenge
      DOT小文哥
    • 回复: R329按照官方文档下载无法编译

      @tomwang
      换了电脑还是一样的报错,那有两种可能:
      1.你的账号权限有问题——概率极小,因为大家权限都是一样的,如果实在怀疑,可以重新注册一个账号试一下
      2.配置环境&权限时你漏了一步没有做——大概率,但我不知道你的操作流程,分析不出时哪一步没做

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: xr829资料

      @tomwang 好的,我问问,这种情况一般是功能有,但是性能没达标,所以没正式对外释放这个功能

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: xr829资料

      @tomwang 那可能没有开放混杂模式

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: LED一直闪绿光是什么意思?

      @harry89 可以烧个新固件,或者在启动脚本里把led kill 掉或者调暗一点

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: LED一直闪绿光是什么意思?

      @harry89 是正常的,绿光闪说明有呼吸

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 想请问怎么在d1开发板上通过摄像头实时输出图像到显示器上

      详见在线文档:https://d1.docs.allwinnertech.com/study/study_7camerademo/#_9
      目前只是先拍,下一步是显示处理(实时)

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 在线文档更新:USB摄像头拍照Demo

      在线文档更新:USB摄像头拍照Demo —— https://d1.docs.allwinnertech.com/study/study_7camerademo/#_9
      插上就能用,手把手叫你给D1装上眼睛
      e400ac83-2d9a-413d-b91a-12a8cd321d1d-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: Tina打包img出现过大的问题应该怎么设置

      @bedrock 在 Tina打包img出现过大的问题应该怎么设置 中说:

      rootfs.fex

      在分区配置文件里把rootfs.fex分区改大

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • D1在线文档更新:手把手教你编译第一个Hello Word

      D1在线文档更新:手把手教你编译第一个Hello Word
      148f70c6-b6eb-4498-b106-a9b08f7f47d1-image.png
      链接:
      https://d1.docs.allwinnertech.com/study/study_6helloword/

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: xr829资料

      详情请见在线服务平台这份文档:
      ec2ea07f-9068-43dd-84bc-71531d7fdcb8-image.png

      在线服务平台

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: 编译打包TINA固件PACK的问题

      @kiyan10 代码下在哪里。。。

      发布在 其它全志芯片讨论区
      xiaowenge
      DOT小文哥
    • 回复: 以前以为XR829只是一个WIFI芯片,今天看了一下D1原理图,没想到是WIFI蓝牙二合一。

      XR829还带ble。AW啥无线片子都有,什么带MCU的 wifi单模的 能跑鸿蒙的

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 有D1芯片的购买途径吗?

      D1还没单独对外发售,详情请关注全志渠道

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: R329按照官方文档下载无法编译

      @tomwang 在 R329按照官方文档下载无法编译 中说:

      @xiaowenge 编译机台用的是ubuntu14.04,环境完全按照官方文档搭建完成。
      看错误log的话好像是repo manifest问题?

      看Log是的,但是看你截图上的ls内容,代码应该都下完了,或者可以先检查下各目录的内容,是不是里面的东西没下完?

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: R329按照官方文档下载无法编译

      是不是openwrt的编译环境没配好?

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: QQ群看到的外设齐全,封装友好,内置64M ddr的RV64芯片D1s,有没有哪位用过?

      @tripod9 板子不值钱 你值钱 听懂掌声

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: QQ群看到的外设齐全,封装友好,内置64M ddr的RV64芯片D1s,有没有哪位用过?

      F系列熟悉的味道
      92adee99-4e4e-4eb3-90e7-21907aca80d0-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: QQ群看到的外设齐全,封装友好,内置64M ddr的RV64芯片D1s,有没有哪位用过?

      2ad025a2-fcea-4078-8e3d-008f74c3f182-image.png
      还行吧

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: R329的DSP开发如何申请?

      @xacnma 在配置DSP环境时,需要获得Cadence 的license授权,这个好像不太好搞,需要直接和Cadence 签约,目前几个玩智能音箱的大客户和算法公司因为之前的项目有合作,基本都有签,可以直接玩起来,但是个人开发者估计不好搞,具可以和Cadence 沟通申请一下:https://www.synaptics.com/contact
      86b4448f-980e-4cab-a50d-d4845057395d-image.png

      发布在 A Series
      xiaowenge
      DOT小文哥
    • 回复: 2021年D1哪吒开发板第一期成果汇报

      微信公众号 嵌入式IoT 开箱评测系列:
      全志D1开发板(哪吒 RISCV64)开箱评测
      关于d1哪吒开发板的启动流程分析
      用哪吒D1开发板体验riscv向量底层编程
      哪吒D1开发板RISC-V CLINT编程实践

      原稿转自公众号:嵌入式IoT
      原创:bigmagic

      首款符合Open Board规范的开发板正式发售 推动RISC-V标准化进程

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 请问淘宝上面的cklink可以调试d1吗?

      @whycan 晕哥做一批吧,我也想买

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 【资源汇总】D1-H芯片资料资源汇总

      2021年第一期成果汇总
      官宣文章:
      1.【国产芯片之光!】全志科技发布首颗RISC-V应用处理器

      2.【免签NDA直接下】D1 Tina SDK v1.0正式释放!深入了解RISC-V的每一个DNA!

      玩转开发板实例:

      2.D1开发板蓝牙遥控器开发

      3.D1搭建远程集群 by.45 lab

      4.D1哪吒开发板开机连接wifi热点, 启动 sshd 服务

      5.3.5mm接口speak小板子

      6.D1使用JTAG

      7.D1哪吒开发板支持nfs

      8.D1 CPU超频到1.5GHz

      9.linux下格式化SD卡脚本工具

      10.哪吒开启 SSH 和 VNC 远程访问,再也不用鼠标和显示器了

      11.D1 LEDC控制LED灯ws2812

      12.D1 利用XFEL直接引导xboot

      13.全志D1裸奔工具XFEL

      14.[D1哪吒]之SPL的启动流程

      15.D1开发板改成HDMI音频输出

      16.D1 tina Docker 编译环境制作和使用

      17.在Ubuntu21.04中编译Tina

      18.D1同时输出两个显示屏幕

      19.两个riscv64交叉编译工具的区别

      20.将单独编译的opensbi u-boot kernel rootfs 烧录制作成可以启动的sdcard.img镜像

      21.【Hacking Nezha Board】D1裸机程序开发

      22.【Hacking Nezha Board】D1 Device Tree Oerlay

      23.【Hacking Nezha Board】D1 boot适配

      24.【深度讨论】目前D1芯片引导启动流程过长的问题,以及对RISC-V下引导程序环境的思考

      25.自己动手编写一个非常简单的RISC-V C调用使用ABI规则ASM汇编的demo, 使用qemu-riscv64虚拟机测试.

      26.D1精简版裸机程序

      27.D1 哪吒开发板功耗数据

      28.在全志d1开发板上玩ncnn

      29.D1开发板入门:从上电到精通

      30.D1 尝试运行 Docker RISC-V 64位原生环境

      31.D1芯片参考设计

      32.如何让D1 uboot支持uImage镜像 + dtb启动系统

      33.完整支持buildroot 2021 LTS构建D1开发板SD卡系统镜像

      34.【极简操作】使用builroot 2021一键编译生成D1 nezha 系统镜像!

      35.D1 Tina SDK完整编译log

      36.关于D1tina中软件包的想法

      37.基于社区最新开源仓库(Opensbi、Linux)构建nezha - d1开发环境

      38.哪吒D1/RVBoards RISCV Debian 64位 Docker 集成镜像

      39.关于D1启动流程中设备树的位置

      40.【实践操作】自己从头构建riscv 64 ubuntu等发行版系统!

      41.烧录D1固件到TF卡时出现错误

      42.使用Ubuntu20.04 LTS编译D1-Tina踩坑记录

      官方威力加强包:
      1.MIPI屏幕TFT08006支持

      2.Tengine支持

      3.ncnn支持

      4.Debian by PerfXLab

      5.Debian by Sipeed

      6.Fedora支持

      7.RT-Thread Smart支持

      活动&评测:

      1.哪吒D1-年轻人的第一块RISC-V开发板开箱

      2.D1哪吒开发板做小火箭上天

      3.平头哥/全志杯边缘人工智能设计竞赛

      4.“创造 · 无限” 全志主题活动@2021 RISC-V中国峰会

      5.开发者之声

      6.小哪吒产品规格共创

      发布在 公告
      xiaowenge
      DOT小文哥
    • 回复: linux下格式化SD卡脚本工具

      扒到一个早期的好东西,顶上来供大家参考

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 珠海游艇出租

      游艇出租,歌洋006号,船身56尺,全船豪装,可接待10名贵宾,适合海钓、开游艇趴,欢迎咨询
      3d6e3480-1be7-47c9-8539-7a0dbf6d777b-image.png
      f54ec551-8304-459c-8dcf-d09ce1d35395-image.png

      65aa5615-551c-407f-b673-2fee1d77c489-image.png
      50afbf9a-cbd2-4f47-affe-72c4a8219eac-image.png

      发布在 灌水区
      xiaowenge
      DOT小文哥
    • 回复: 锦绣海湾城房屋租售

      借楼出租海湾城一期联排中间位别墅,
      194平方,
      豪华欧式装修,
      5000一个月,
      3层5室2厅4卫3阳,
      带停车位2个,
      物业费426元/月。
      联系人:文工 16763232956
      5e0174ee-f4ac-4630-907b-57baa0e5233f-image.png
      fcd9b549-66b3-4aff-a00f-0d0dfe65c751-image.png

      179823b4-e42d-408e-bb0d-70fe84e00295-image.png

      934cd852-3496-4e22-b423-f6add20eb452-image.png
      ec98189f-e817-4d24-9156-8604c70a1438-image.png
      bbc2f5dd-fb00-4561-8814-2a0e6891f614-image.png

      发布在 灌水区
      xiaowenge
      DOT小文哥
    • 回复: 珠海高新区租房攻略

      公司到海湾城的公交已经开通,只需4站13分钟,这样的话租房海湾城通勤成本就低了很多
      c24b01f9-a2a8-4038-a9c9-0293b706d5ad-image.png

      发布在 灌水区
      xiaowenge
      DOT小文哥
    • 【代码编不过请看这里】D1 Tina SDK完整编译log

      有开发者提到Tina编译会出现问题,不知道怎么解决,这里我们将完整Tina SDK编译时候的log打包一份供大家参考。下载地址:https://www.aw-ol.com/downloads/resources/41

      我的代码仓库曾经编译过代码,故我先将out目录删掉全部重新编译,这样的log会比较全:

      xiaowenge@ubuntu:~/workspace/d_tina_d1_open_v1.0$ rm -rf out/
      xiaowenge@ubuntu:~/workspace/d_tina_d1_open_v1.0$ source build/envsetup.sh
      Setup env done! Please run lunch next.
      xiaowenge@ubuntu:~/workspace/d_tina_d1_open_v1.0$ lunch
      
      You're building on Linux
      
      Lunch menu... pick a combo:
           1. d1_nezha_min-tina
           2. d1_nezha-tina
      
      Which would you like? [Default d1_nezha]: 2
      ============================================
      TINA_BUILD_TOP=/home/xiaowenge/workspace/d_tina_d1_open_v1.0
      TINA_TARGET_ARCH=riscv
      TARGET_PRODUCT=d1_nezha
      TARGET_PLATFORM=d1
      TARGET_BOARD=d1-nezha
      TARGET_PLAN=nezha
      TARGET_BUILD_VARIANT=tina
      TARGET_BUILD_TYPE=release
      TARGET_KERNEL_VERSION=5.4
      TARGET_UBOOT=u-boot-2018
      TARGET_CHIP=sun20iw1p1
      ============================================
      xiaowenge@ubuntu:~/workspace/d_tina_d1_open_v1.0$ make -j > compilelog.log
      [1] 57825
      Collecting target info: done+ mkdir -p /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/host
      + mkdir -p /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/d1-nezha/staging_dir/target
      + cd /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/host
      + mkdir -p bin lib include stamp
      + cd /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/d1-nezha/staging_dir/target
      + mkdir -p bin lib include stamp
      This is not dpkg install-info anymore, but GNU install-info
      See the man page for ginstall-info for command line arguments
      src/sstrip.c: In function 'readelfheader32':
      src/sstrip.c:363:1: warning: format '%d' expects argument of type 'int', but argument 5 has type 'long unsigned int' [-Wformat=]
       HEADER_FUNCTIONS(32)
       ^
      src/sstrip.c:363:1: warning: format '%d' expects argument of type 'int', but argument 5 has type 'long unsigned int' [-Wformat=]
      src/sstrip.c:363:1: warning: format '%d' expects argument of type 'int', but argument 5 has type 'long unsigned int' [-Wformat=]
      src/sstrip.c:363:1: warning: format '%d' expects argument of type 'int', but argument 5 has type 'long unsigned int' [-Wformat=]
      ………………
      

      完整log见上面的下载链接

      编译成功后打包log:

      xiaowenge@ubuntu:~/workspace/d_tina_d1_open_v1.0$ pack
      --==========--
      PACK_CHIP         sun20iw1p1
      PACK_PLATFORM     tina
      PACK_BOARD        d1-nezha
      PACK_KERN
      PACK_DEBUG        uart0
      PACK_SIG          none
      PACK_SECURE       none
      PACK_MODE         normal
      PACK_FUNC         android
      PACK_PROGRAMMER   none
      PACK_TAR_IMAGE    none
      PACK_TOPDIR       /home/kunyao/workspace/d_tina_d1_open_v1.0
      --==========--
      No kernel param, parse it from d1
      copying tools file
      copying configs file
      storage_type value is 5
      rm /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/d1-nezha/image/sys_partition_nor.fex
      rm /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/d1-nezha/image/image_nor.cfg
      copying boot resource
      
      LZMA 4.65 : Igor Pavlov : Public domain : 2009-02-03
      copying boot file
      make user resource for : /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/d1-nezha/image/sys_partition.fex
      handle partition user-res
      no user resource partitions
      APP_PART_DOWNLOAD_FILE = /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/d1-nezha/image/app.fex
      Need size of filesystem
      no data resource partitions
      don't build dtbo ...
      update_chip
      pack boot package
      GetPrivateProfileSection read to end
      content_count=3
      LICHEE_REDUNDANT_ENV_SIZE config in BoardConfig.mk
      --mkenvimage create redundant env data!--
      ---redundant env data size 0x20000---
      packing for tina linux
      normal
      this is not a partition key
      gpt_head->header_crc32 = 0x5277aea2
      GPT----part num 8---
      gpt_entry: 128
      gpt_header: 92
      GPT:boot-resource: 1f8           2177
      GPT:env         : 2178          236f
      GPT:env-redund  : 2370          2567
      GPT:boot        : 2568          761f
      GPT:rootfs      : 7620          11597
      GPT:dsp0        : 11598         11987
      GPT:recovery    : 11988         187c7
      GPT:UDISK       : 187c8         187d7
      update gpt file ok
      update mbr file ok
      ====================================
      show "sys_partition_for_dragon.fex" message
      ------------------------------------
        [mbr]
        mbr_size  : 252 Kbyte
      ------------------------------------
        partition_name  : boot-resource
        partition_size  : 8064
        downloadfile  : boot-resource.fex
        boot-resource.fex size : 3.0M byte
      ------------------------------------
        partition_name  : env
        partition_size  : 504
        downloadfile  : env.fex
        env.fex size : 128K byte
      ------------------------------------
        partition_name  : env-redund
        partition_size  : 504
        downloadfile  : env.fex
        env.fex size : 128K byte
      ------------------------------------
        partition_name  : boot
        partition_size  : 20664
        downloadfile  : boot.fex
        boot.fex -> /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/d1-nezha/boot.img
        boot.img size : 9.1M byte
      ------------------------------------
        partition_name  : rootfs
        partition_size  : 40824
        downloadfile  : rootfs.fex
        rootfs.fex -> /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/d1-nezha/rootfs.img
        rootfs.img size : 16M byte
      ------------------------------------
        partition_name  : dsp0
        partition_size  : 1008
        downloadfile  : dsp0.fex
        dsp0.fex size : 258K byte
      ------------------------------------
        partition_name  : recovery
        partition_size  : 28224
      ------------------------------------
      /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/host/bin/
      /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/d1-nezha/image
      Begin Parse sys_partion.fex
      Add partion boot-resource.fex BOOT-RESOURCE_FEX
      Add partion very boot-resource.fex BOOT-RESOURCE_FEX
      FilePath: boot-resource.fex
      FileLength=2f8c00Add partion env.fex ENV_FEX000000000
      Add partion very env.fex ENV_FEX000000000
      FilePath: env.fex
      FileLength=20000Add partion env.fex ENV_FEX000000000
      Add partion very env.fex ENV_FEX000000000
      FilePath: env.fex
      FileLength=20000Add partion boot.fex BOOT_FEX00000000
      Add partion very boot.fex BOOT_FEX00000000
      FilePath: boot.fex
      FileLength=912000Add partion rootfs.fex ROOTFS_FEX000000
      Add partion very rootfs.fex ROOTFS_FEX000000
      FilePath: rootfs.fex
      FileLength=fa0000Add partion dsp0.fex DSP0_FEX00000000
      Add partion very dsp0.fex DSP0_FEX00000000
      FilePath: dsp0.fex
      FileLength=4059csys_config.fex Len: 0x4ebe
      config.fex Len: 0x6c00
      board.fex Len: 0x400
      split_xxxx.fex Len: 0x200
      sys_partition.fex Len: 0xbe3
      sunxi.fex Len: 0xd400
      boot0_nand.fex Len: 0x10000
      boot0_sdcard.fex Len: 0x10000
      u-boot.fex Len: 0xdc000
      u-boot-crash.fex Len: 0x25
      toc1.fex Len: 0x8
      toc0.fex Len: 0x8
      fes1.fex Len: 0xa560
      boot_package.fex Len: 0xfc000
      usbtool.fex Len: 0x24e00
      usbtool_crash.fex Len: 0x1ec00
      aultools.fex Len: 0x28a73
      aultls32.fex Len: 0x25205
      cardtool.fex Len: 0x11e00
      cardscript.fex Len: 0x6de
      sunxi_gpt.fex Len: 0x2000
      sunxi_mbr.fex Len: 0x10000
      dlinfo.fex Len: 0x4000
      arisc.fex Len: 0xf
      vmlinux.fex Len: 0x8
      tinaconf.fex Len: 0xcd00
      boot-resource.fex Len: 0x2f8c00
      Vboot-resource.fex Len: 0x4
      env.fex Len: 0x20000
      Venv.fex Len: 0x4
      env.fex Len: 0x20000
      Venv.fex Len: 0x4
      boot.fex Len: 0x912000
      Vboot.fex Len: 0x4
      rootfs.fex Len: 0xfa0000
      Vrootfs.fex Len: 0x4
      dsp0.fex Len: 0x4059c
      Vdsp0.fex Len: 0x4
      BuildImg 0
      Dragon execute image.cfg SUCCESS !
      ----------image is for nand/emmc----------
      ----------image is at----------
      
      /home/xiaowenge/workspace/d_tina_d1_open_v1.0/out/d1-nezha/tina_d1-nezha_uart0.img
      
      pack finish
      
      

      51ccb1cc-9d24-4323-9509-fa7d8eeae0a6-image.png

      我的代码版本是v1.0.1的:

      xiaowenge@ubuntu:~/workspace/d_tina_d1_open_v1.0/lichee/linux-5.4$ git log .
      commit 035e3450a899008ef15bb387d0ed41aafd733a8a (HEAD -> product-smartx-d1-tina-v1.0-release, tag: smartx-d1-tina-v1.0.1-release, tina/product-smartx-d1-tina-v1.0-release, m/master)
      Author: liwencong <liwencong@allwinnertech.com>
      Date:   Fri May 21 14:01:26 2021 +0800
      
          smartx-d1-tina-v1.0.1-release release
      
      commit 9e841db240d4f7161ac1c931bd889dc17eb9b076 (tag: smartx-d1-tina-v1.0.0-release)
      Author: liwencong <liwencong@allwinnertech.com>
      Date:   Fri Apr 30 19:24:15 2021 +0800
      
          smartx-d1-tina-v1.0.0-release release
      
      
      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 【极简操作】使用builroot 2021一键编译生成D1 nezha 系统镜像!

      参考:全志的longan系统下buildroot包含的包:a345dd3e-f900-41bb-8c2c-82a87c77e628-image.png

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 【极简操作】使用builroot 2021一键编译生成D1 nezha 系统镜像!

      @aldfaaa 有清华的同学在搞了 不知道是不是你说的那波

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 小哪吒产品规格共创

      @peng794 不要问我们是谁,请叫我红领巾

      发布在 其它全志芯片讨论区
      xiaowenge
      DOT小文哥
    • 回复: 【极简操作】使用builroot 2021一键编译生成D1 nezha 系统镜像!

      @aldfaaa 有人移了系统,有人做了docker,有人写了文档,感觉没我们全志什么事了

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 关于D1tina中软件包的想法

      @bedrock 适配了,但又不一定适配了。。。有点是在其他全志芯片平台适配了比如r16 r328 r329啥的,但是D1不一定适配了

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1无法烧写固件

      @augstine 有一个是只能供电的,有一个是可以数据通信的

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: D1无法烧写固件

      @augstine 你插的是哪个usb口?

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • D1同时输出两个显示屏幕

      83a341ce-ff65-4b74-90fb-1644fb0d5354-image.png
      HDMI和mipi-dsi接口同时输出一样的内容,即双屏同显,后面还会支持双屏异常显。
      用的是哪吒开发板 + Tina v1.0 SDK

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: 全志科技2022届校招 校园大使招募

      @awxxn 您好刘师姐,请问一下,我自己当了校园大使,自己推荐自己入职,也有666元吗?

      发布在 公告
      xiaowenge
      DOT小文哥
    • 回复: 捡垃圾了,4K机顶盒,,好像很划算

      @tigger 多少钱?
      这个弧形的pcb,挺费板子的吧?

      发布在 其它全志芯片讨论区
      xiaowenge
      DOT小文哥
    • cma扩充和开机logo消失问题分享

      在使用的是128M dram的小内存配置,播放视频需要通过ion申请较多的连续物理内存空间,所以需要扩充CMA的大小,否则会导致cma扩充和开机logo消失。

      【芯片平台】R311
      【软件版本】tina3.5.1
      【问题背景】
      使用的是128MB的ddr,对于多视频播放和旋转的场景ion的使用非常吃紧,需要想办法扩大cma的大小。
      【问题简述】
      R311更改cma大小后,出现了不进kernel,开机logo消失等问题。
      【问题处理过程】
      (1)不进kernel:
      更改cma大小为72MB后,系统无法进kernel,撤回修改,查看系统保留内存的分布:

      root@TinaLinux:/# cat /sys/kernel/debug/memblock/reserved
         0: 0x40004000..0x40007fff, size:16K
         1: 0x40020000..0x40020fff, size:4K
         2: 0x40100000..0x40b480cb, size:10528K
         3: 0x41000000..0x4100000b, size:0K
         4: 0x43500000..0x4351617f, size:88K
         5: 0x43c00000..0x47bfffff, size:65536K
         6: 0x47cc8000..0x47f65fff, size:2680K
         7: 0x47f7da00..0x47f961ff, size:98K
         8: 0x47f9621c..0x47ffefff, size:419K
         9: 0x47fff640..0x47fff67b, size:0K
        10: 0x47fff680..0x47fff6bb, size:0K
        11: 0x47fff6c0..0x47fff737, size:0K
        12: 0x47fff740..0x47fff74f, size:0K
        13: 0x47fff780..0x47fff78f, size:0K
        14: 0x47fff7c0..0x47fff7c3, size:0K
        15: 0x47fff800..0x47fff9ad, size:0K
        16: 0x47fff9c0..0x47fffb6d, size:0K
        17: 0x47fffb80..0x47fffd2d, size:0K
        18: 0x47fffd40..0x47fffd43, size:0K
        19: 0x47fffd64..0x47fffd81, size:0K
        20: 0x47fffd84..0x47fffdb8, size:0K
        21: 0x47fffdbc..0x47fffe1c, size:0K
        22: 0x47fffe20..0x47fffe70, size:0K
        23: 0x47fffe74..0x47ffff06, size:0K
        24: 0x47ffff08..0x47ffff22, size:0K
        25: 0x47ffff24..0x47ffff3e, size:0K
        26: 0x47ffff40..0x47ffff5f, size:0K
        27: 0x47ffff64..0x47ffff7e, size:0K
        28: 0x47ffff80..0x47ffff8f, size:0K
        29: 0x47ffff94..0x47ffffae, size:0K
        30: 0x47ffffb0..0x47ffffff, size:0K
      

      发现dts起始地址为0x43500000,cma的下一个保留区域起始地址为0x47cc8000,留给dts和cma的空间只有0x47cc8000-0x43500000约为71MB,cma大小设置为72MB后,超出了范围,导致不进kernel。怎么解决问题?把dts的起始地址往前挪动一下,cma的空间就可以得到扩充,如下所示,把dts的位置向前挪动0x00500000,cma足够容纳72MB的cma保留区域:

      include/configs/sunxi-base.h:
      -#define CONFIG_SUNXI_FDT_ADDR              SDRAM_OFFSET(0x03500000)
      +#define CONFIG_SUNXI_FDT_ADDR              SDRAM_OFFSET(0x03000000)
      

      修改后的保留内存的分布如下:

      root@TinaLinux:/# cat /sys/kernel/debug/memblock/reserved
         0: 0x40004000..0x40007fff, size:16K
         1: 0x40020000..0x40020fff, size:4K
         2: 0x40100000..0x40b480cb, size:10528K
         3: 0x41000000..0x4100000b, size:0K
         4: 0x43000000..0x4301617f, size:88K
         5: 0x433fffff..0x47bfffff, size:73728K
         6: 0x47cc8000..0x47f65fff, size:2680K
         7: 0x47f7da00..0x47f961ff, size:98K
         8: 0x47f9621c..0x47ffefff, size:419K
         9: 0x47fff640..0x47fff67b, size:0K
        10: 0x47fff680..0x47fff6bb, size:0K
        11: 0x47fff6c0..0x47fff737, size:0K
        12: 0x47fff740..0x47fff74f, size:0K
        13: 0x47fff780..0x47fff78f, size:0K
        14: 0x47fff7c0..0x47fff7c3, size:0K
        15: 0x47fff800..0x47fff9ad, size:0K
        16: 0x47fff9c0..0x47fffb6d, size:0K
        17: 0x47fffb80..0x47fffd2d, size:0K
        18: 0x47fffd40..0x47fffd43, size:0K
        19: 0x47fffd64..0x47fffd81, size:0K
        20: 0x47fffd84..0x47fffdb8, size:0K
        21: 0x47fffdbc..0x47fffe1c, size:0K
        22: 0x47fffe20..0x47fffe70, size:0K
        23: 0x47fffe74..0x47ffff06, size:0K
        24: 0x47ffff08..0x47ffff22, size:0K
        25: 0x47ffff24..0x47ffff3e, size:0K
        26: 0x47ffff40..0x47ffff5f, size:0K
        27: 0x47ffff64..0x47ffff7e, size:0K
        28: 0x47ffff80..0x47ffff8f, size:0K
        29: 0x47ffff94..0x47ffffae, size:0K
        30: 0x47ffffb0..0x47ffffff, size:0K
      

      (2)开机logo消失:
      开机logo是从uboot解码并显示的,找到logo解码的地方:

       compress_buf = get_decode_buffer();
               if (compress_buf == NULL) {
                       printf("bmp compress_buf empty,quit\n");
                       set_bmp_decode_flag(BMP_DECODE_FAIL);
                       goto __third_cpu_end;
               }
       buf = (unsigned char *)(SUNXI_DISPLAY_FRAME_BUFFER_ADDR + SUNXI_DISPLAY_FRAME_BUFFER_SIZE);
      
               ret = sunxi_bmp_decode_from_compress(buf, compress_buf);
      
      

      发现需要从地址compress_buf把logo的bmp格式数据解压到buf地址,buf地址为SUNXI_DISPLAY_FRAME_BUFFER_ADDR + SUNXI_DISPLAY_FRAME_BUFFER_SIZE,也就是0x47400000。compress_buf的地址如下所示:

       if (next_mode == SUNXI_STATE_NORMAL_BOOT) {
        set_decode_buffer((unsigned char *)
         (SUNXI_LOGO_COMPRESSED_LOGO_BUFF));
       } else if (next_mode == SUNXI_STATE_SHUTDOWN_CHARGE) {
      
          从这里的代码片段知道,logo的原始数据放在地址SUNXI_LOGO_COMPRESSED_LOGO_BUFF,也就是0x43000010,而现在dts的区域的保留区域是( 0x43000000..0x4301617f),刚好覆盖到了SUNXI_LOGO_COMPRESSED_LOGO_BUFF。将SUNXI_LOGO_COMPRESSED_LOGO_BUFF改为0x42000000,这样就能使logo数据不落在内存的保留区域内。
          然而编译后再验证,发现logo还是没法显示,从目前得到的信息看不到问题点,说明问题的原因还是没有全部被找到,继续跟进解码数据的过程:
      
      int lzmaBuffToBuffDecompress (unsigned char *outStream, SizeT *uncompressedSize,
                         unsigned char *inStream,  SizeT  length)
      {
      .......
          /* Read the uncompressed size */
          for (i = 0; i < 8; i++) {
              unsigned char b = inStream[LZMA_SIZE_OFFSET + i];
                  if (i < 4) {
                      outSize     += (UInt32)(b) << (i * 8);
              } else {
                      outSizeHigh += (UInt32)(b) << ((i - 4) * 8);
              }
          }
      
          outSizeFull = (SizeT)outSize;
          if (sizeof(SizeT) >= 8) {
              /*
               * SizeT is a 64 bit uint => We can manage files larger than 4GB!
               *
               */
                  outSizeFull |= (((SizeT)outSizeHigh << 16) << 16);
          } else if (outSizeHigh != 0 || (UInt32)(SizeT)outSize != outSize) {
              /*
               * SizeT is a 32 bit uint => We cannot manage files larger than
               * 4GB!  Assume however that all 0xf values is "unknown size" and
               * not actually a file of 2^64 bits.
               *
               */
              if (outSizeHigh != (SizeT)-1 || outSize != (SizeT)-1) {
                  debug ("LZMA: 64bit support not enabled.\n");
                  return SZ_ERROR_DATA;
              }
          }
      .......
      }
      

      如上面代码片段所示,检查*inStream(内存中的bmp数据)前面8位信息的时候,函数报错返回了,这里说明了内存中的bmp数据有问题。bmp数据需要先从flash里面拷贝到内存SUNXI_LOGO_COMPRESSED_LOGO_BUFF中,后面才能从SUNXI_LOGO_COMPRESSED_LOGO_BUFF解码出来 。现数据有异常,需要检查bmp数据从flash拷贝到内存的过程。查找SUNXI_LOGO_COMPRESSED_LOGO_BUFF使用的地方,arch/arm/cpu/armv7/sun8iw15p1/spl/fip_common.c里面有类似从flash拷贝logo数据到内存的代码:

      arch/arm/cpu/armv7/sun8iw15p1/spl/fip_common.c:
      int load_fip(int *use_monitor)
      {
      ......
                       } else if (strncmp(toc1_item->name, ITEM_LOGO_NAME, sizeof(ITEM_LOGO_NAME)) == 0) {
                               *(uint *)(SUNXI_LOGO_COMPRESSED_LOGO_SIZE_ADDR) = toc1_item->data_len;
                               toc1_flash_read(toc1_item->data_offset/512, (toc1_item->data_len+511)/512, (void *)SUNXI_LOGO_COMPRESSED_LOGO_BUFF);
                       } else if (strncmp(toc1_item->name, ITEM_SHUTDOWNCHARGE_LOGO_NAME, sizeof(ITEM_SHUTDOWNCHARGE_LOGO_NAME)) == 0) {
      ......
      }
      

      从这段代码中看不出来有问题,再看看发现编译uboot的时候跟本不会编译到这个文件,怎么回事,询问负责uboot模块的同事得知,这里的文件是给boot0用的,logo数据从flash拷贝到内存的动作也是在boot0的时候做的。所以更新了SUNXI_LOGO_COMPRESSED_LOGO_BUFF的地址,还需要同时编译boot0,这样对于logo数据的拷贝和解码来说,SUNXI_LOGO_COMPRESSED_LOGO_BUFF才是相同的地址。

      (文 by. shaokang)

      发布在 Linux
      xiaowenge
      DOT小文哥
    • 回复: 小白在线求大佬们教学

      @renzhen 是的 恭喜你 迈出了改变世界的第一步!

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 回复: R528

      @bobshg Sorry,we(AWOL) are not support R528 now.

      发布在 MR Series
      xiaowenge
      DOT小文哥
    • 1
    • 2
    • 5
    • 6
    • 7
    • 8
    • 9
    • 8 / 9