导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页
    1. 主页
    2. YterAA
    3. 帖子
    Y
    • 资料
    • 关注 0
    • 粉丝 15
    • 我的积分 6278
    • 主题 19
    • 帖子 217
    • 最佳 28
    • 群组 0

    YterAA 发布的帖子

    • 回复: 全志芯片Tina Linux 修改 UART 引脚、UART端口

      @kelsey 写错了已修改

      发布在 Linux
      Y
      YterAA
    • 回复: d1不经过插件录音,得到的音频不正常

      MIC3有AEC功能,默认好像启用AEC了,去源码里关了看看

      发布在 MR Series
      Y
      YterAA
    • 回复: V853 sample_rtsp怎么编译不出二进制文件

      @qq519472926 我记得还要勾选一个rstp server,才能编译通过

      发布在 V Series
      Y
      YterAA
    • 回复: R329工作温度范围?

      -20℃~ 110℃

      参考数据手册:
      56e87c4f-5536-43ee-a7c6-19da8b8b1343-image.png

      发布在 A Series
      Y
      YterAA
    • 回复: T113的spi 不能使用compatible=“spidev”?

      参考 《D1-H_Linux_SPI_开发指南.pdf》

      使用spidev并不需要专门设置compatible = "spidev";。而设置spidev会导致 spidev listed directly in DT 错误。这里使用的虚拟设备可以通过compatible = "rohm,dh2228fv"; 这样的 compatible 设备绕过检测

      可用的spidev如下:
      0a055740-74c0-4b68-8a5d-a1c24fd60a14-image.png

      WARN参考spidev源码:
      8cdcd530-29c1-4c9c-8e4a-db31133219b7-image.png

      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: 全志V853 jpg怎么直接显示屏幕上

      解压到openwrt/package下

      fbviewer.tar.gz

      发布在 V Series
      Y
      YterAA
    • 解决 T113 修改 UART3 后 Uboot 有输出但是 Kernel 无法启动

      请按照如下步骤依次验证是否配置正确

      使用UART3,需要从UART0改为UART3(PB6,PB7)

      1. 修改sys_config.fex(BOOT0与Uboot的串口)

      sys_config.fex 的路径是 device/config/chips/t113/configs/evb1/sys_config.fex 中的 uart_debug_port

      修改前:

      [uart_para]
      uart_debug_port = 0
      uart_debug_tx   = port:PF02<3><1><default><default>
      uart_debug_rx   = port:PF04<3><1><default><default>
      

      修改后

      [uart_para]
      uart_debug_port = 0
      uart_debug_tx   = port:PB06<7><1><default><default>
      uart_debug_rx   = port:PB07<7><1><default><default>
      
      1. 修改设备树(Linux使用的串口输出)

      路径:device/config/chips/t113/configs/evb1/board.dts

      修改前

      uart3_pins_a: uart3_pins@0 {
      	pins = "PC6", "PC7";
      	function = "uart0";
      	drive-strength = <10>;
      	allwinner,muxsel = <4>;
      	bias-pull-up;
      };
      
      uart3_pins_b: uart3_pins@1 {
      	pins = "PC6", "PC7";
      	function = "gpio_in";
      };
      
      &uart0 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart0_pins_a>;
      	pinctrl-1 = <&uart0_pins_b>; 
      	status = "okay"; 
      };
      
      &uart3 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart3_pins_a>;
      	pinctrl-1 = <&uart3_pins_b>;
      	status = "disabled"; 
      };
      

      修改后

      uart3_pins_a: uart3_pins@0 {
      	pins = "PB6", "PB7";
      	function = "uart0";
      	drive-strength = <10>;
      	allwinner,muxsel = <7>;
      	bias-pull-up;
      };
      
      uart3_pins_b: uart3_pins@1 {
      	pins = "PB6", "PB7";
      	function = "gpio_in";
      };
      
      &uart0 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart0_pins_a>;
      	pinctrl-1 = <&uart0_pins_b>; 
      	status = "disabled";                               # 关闭UART0
      };
      
      &uart3 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart3_pins_a>;
      	pinctrl-1 = <&uart3_pins_b>;
      	status = "okay";                                   # 开启UART3
      };
      
      1. 修改UBOOT CONSOLE INDEX

      路径:brandy/brandy-2.0/u-boot-2018/configs/sun8iw20p1_defconfig
      增加下列内容

      CONFIG_SPECIFY_CONSOLE_INDEX=y
      CONFIG_CONS_INDEX=4                            # UART 3+1 = 4 
      
      1. 修改启动bootargs

      路径:device/config/chips/t113/configs/evb1/env.cfg

      修改前

      earlyprintk=sunxi-uart,0x02500000
      initcall_debug=0
      console=ttyS0,115200
      

      修改后
      earlyprintk=sunxi-uart,0x02500000 需要修改为 UART3 的地址,查阅手册可知为 0x02500C00
      12849b33-3786-417e-b2fe-7736c04d4b38-image.png

      earlyprintk=sunxi-uart,0x02500C00
      initcall_debug=0
      console=ttyS3,115200
      
      1. 修改 DEBUG_LL的地址
        make kernel_menuconfig 找到 Kernel low-level debugging functions,修改寄存器地址

      79bf0af2-3b08-48fb-810d-fc2b492209d0-image.png

      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: 全志芯片Tina Linux 修改 UART 引脚、UART端口

      注意 ARM 平台还需要设置Kernel,如下:

      make kernel_menuconfig 找到 Kernel low-level debugging functions,修改寄存器地址

      79bf0af2-3b08-48fb-810d-fc2b492209d0-image.png

      RISC-V 不需要此操作

      (之前忘记说了,现在补上

      发布在 Linux
      Y
      YterAA
    • 回复: Error: "distro_bootcmd" not defined

      @huangjun-zopudt 更新了mtd驱动,你可以试试全盘擦除再刷写

      发布在 MR Series
      Y
      YterAA
    • 回复: Error: "distro_bootcmd" not defined
      GUID Partition Table Header signature is wrong: 0x6F627464 != 0x5452415020494645
      part_get_info_efi: *** ERROR: Invalid GPT ***
      ERROR: attempting read past flash size
      *** ERROR: Can't read GPT header ***
      part_get_info_efi: *** ERROR: Invalid Backup GPT ***
      [00.265]Loading Environment from SUNXI_FLASH... GUID Partition Table Header signature is wrong: 0x6F627464 != 0x5452415020494645
      part_get_info_efi: *** ERROR: Invalid GPT ***
      ERROR: attempting read past flash size
      *** ERROR: Can't read GPT header ***
      part_get_info_efi: *** ERROR: Invalid Backup GPT ***
      *** Warning - no device, using default environment
      

      系统分区损坏了。无法读取到fs里的文件。可以参考下这个是怎么写的 https://www.aw-ol.com/downloads/resources/72

      发布在 MR Series
      Y
      YterAA
    • 回复: Error: "distro_bootcmd" not defined

      @huangjun-zopudt 看一下 config/chip/d1-h/nezha/env.cfg有没有

      发布在 MR Series
      Y
      YterAA
    • 回复: Error: "distro_bootcmd" not defined

      系统刷写不完整,或者env.cfg丢失了

      发布在 MR Series
      Y
      YterAA
    • 回复: helloworld编译出错

      是不是复制粘贴的时候tab变成了空格

      发布在 V Series
      Y
      YterAA
    • 回复: 全志V853 NPU yolov3转化模型时量化未使用全部data图片

      @rain_tk 是的,量化和预推理需要

      发布在 V Series
      Y
      YterAA
    • 回复: T113-S3 default_lcd 修改红蓝对调没有生效

      我这里亲测是可以的

      发布在 MR Series
      Y
      YterAA
    • 回复: 全志V853 NPU yolov3转化模型时量化未使用全部data图片
      1. 量化不仅是对参数量化,也会对输入输出的数据量化。模型没有输入数据,就不知道输入输出的数据范围。 不一定要把所有训练数据全部加入量化。太多了,量化就太慢了。通常我们选择几百张能够代表所 有场景的输入数据就可以了。量化数据放入多一些,量化后精度可能会好一些。nbg 包含权重以及 量化信息,板子上面运行 NBG 文件时,只需要准备输入数据。不需要量化文件。 量化过程中的--batch-size 表示一次处理的数据的个数,对 YOLOV3 来说,这个数据就是 dataset.txt 中指定的图片,当 --batch-size 和--iterations 联合起来一起用,表示以--batch-size 个为单位处理单位的数据,处理 --iterations 次,并且是按照 dataset.txt 文件列表循环处理的。简言之,batch size 就是 NCHW 中的 N.
      2. 这个log表示此时使用的是CPU而不是GPU,是Tensorflow这个库的一个警告,无视即可
      3. 实际测试过,将NPU主频提高400MHz并没有明显的提升,说明提高NPU主频并没有什么意义。卡顿可以通过减少数据量,优化视频通路来解决。例如使用320分辨率的图片
      发布在 V Series
      Y
      YterAA
    • 回复: 有时不能启动

      @lts52341314 芯片换一下看看,如果还有问题那可能是板子设计问题了

      发布在 MR Series
      Y
      YterAA
    • 回复: sdk无法复制

      奇怪的用法增加了hhh
      一般都是丢kernel里直接写makefile,这样增加include我不确定能不能全部引索到

      发布在 MR Series
      Y
      YterAA
    • 回复: A133 Android USB摄像头无法使用,请问是什么问题?
          insmod $MODULES_DIR/sunxi_usb_udc.ko
          insmod $MODULES_DIR/sunxi_usbc.ko
      
          mount -t configfs none /sys/kernel/config
          mkdir /sys/kernel/config/usb_gadget/g1
          echo "0x18d1" > /sys/kernel/config/usb_gadget/g1/idVendor
          echo "0x0002" > /sys/kernel/config/usb_gadget/g1/idProduct
          mkdir /sys/kernel/config/usb_gadget/g1/strings/0x409
          echo "20080411" > /sys/kernel/config/usb_gadget/g1/strings/0x409/serialnumber
          echo "Android" > /sys/kernel/config/usb_gadget/g1/strings/0x409/manufacturer
      
          mkdir /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0
          mkdir -p /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p
          echo 1280 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/wWidth
          echo 720 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/wHeight
          echo 333333 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/dwFrameInterval
          echo 333333 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/dwDefaultFrameInterval
          echo 442368000 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/dwMinBitRate
          echo 442368000 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/dwMaxBitRate
          echo 1843200 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize
          mkdir /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/header/h
          ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/ /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/header/h/
          ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/header/h/ /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/class/fs
          ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/header/h/ /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/class/hs
          mkdir /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/header/h
          ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/header/h/ /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/class/fs/
          ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/header/h/ /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/class/ss/
      
          mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1
          echo 0xc0 > /sys/kernel/config/usb_gadget/g1/configs/c.1/bmAttributes
          echo 500 > /sys/kernel/config/usb_gadget/g1/configs/c.1/MaxPower
          mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1/strings/0x409
          mkdir /sys/kernel/config/usb_gadget/g1/functions/ffs.adb
          ln -s /sys/kernel/config/usb_gadget/g1/functions/ffs.adb/ /sys/kernel/config/usb_gadget/g1/configs/c.1/ffs.adb
          mkdir /sys/kernel/config/usb_gadget/g1/functions/mass_storage.usb0
          ln -s /sys/kernel/config/usb_gadget/g1/functions/mass_storage.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/mass_storage.usb0
          mkdir /dev/usb-ffs
          mkdir /dev/usb-ffs/adb
          mount -o uid=2000,gid=2000 -t functionfs adb /dev/usb-ffs/adb/
          adbd > /dev/null &
          sleep 2
          udc=`ls /sys/class/udc`
          isudc=0
          echo $udc > /sys/kernel/config/usb_gadget/g1/UDC
      
      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: A133 Android USB摄像头无法使用,请问是什么问题?

      不懂安卓,但是linux上好像要配置uvc驱动和gadget

      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: 有时不能启动

      有没有尝试更换一下 SPI NAND 储存器,可能是储存器坏块了

      发布在 MR Series
      Y
      YterAA
    • 回复: Tina打包img出现过大的问题应该怎么设置

      经典问题,看faq吧:https://d1s.docs.aw-ol.com/faq

      发布在 MR Series
      Y
      YterAA
    • 回复: RTC供电

      不使用纽扣电池供电rtc,使用外挂rtc,或者外挂pmu

      发布在 MR Series
      Y
      YterAA
    • 回复: D1-H 超频 1.68GHz 测试,提升 67% CoreMark 跑分,ncnn 增速 24%

      已加入保修黑名单

      发布在 MR Series
      Y
      YterAA
    • 回复: 全志V853 NPU 导入模型修改为 yuv输入,导出NBG文件报错

      我这边测试是没有问题的,可能是软件的bug,dataset.txt里放两张图片试试看行不行。因为一般转换模型不会只放一张图片的,可能没考虑过放一张图片的情况。这里的输出nbg是靠前面的权重和模型文件打包得到的,与最后一步导出无关

      c5737ef2-6cdd-4422-8fdc-88623587ad94-image.png

      另外读取nbg文件dump出来的也是包括预处理层的

      43491477-37be-41b3-94b4-58a611dd12e4-image.png

      发布在 V Series
      Y
      YterAA
    • 回复: 全志V853 NPU 导入模型修改为 yuv输入,导出NBG文件报错

      @rain_tk 可以先跳过,检查下在ovxilb文件夹里能不能找到nbg模型

      仿真主要变化总结如下:

      1. dog_416x416.jpg 不需要了。
      2. 添加了 Y.bin 和 UV.bin 替换 dog_416x416.jpg 作为输入参数数据。
      3. 仿真产生了 Input_0.dat,input_1.dat,而 YOLOV3 RGB 输入模式只生成有 input_0.dat.
      4. UV.bin==input_1.dat, Y.bin==input_0.dat
      发布在 V Series
      Y
      YterAA
    • 回复: 全志V853 NPU 导入模型修改为 yuv输入,导出NBG文件报错

      @rain_tk Y和UV的这两个bin是后面仿真,预推理使用的,dataset.txt里还是原来的rgb图片。这里转换的模型本质上还是rgb的,预处理只是把yuv转换rgb,与模型无关

      前处理也只是把 CPU 需要做的转换交给NPU的PPU处理

      2ddf451b-5bdb-4f07-a6e9-79aea1b478f7-image.png

      发布在 V Series
      Y
      YterAA
    • 回复: 全志V853 NPU 导入模型修改为 yuv输入,导出NBG文件报错

      YML 指定的 IMAGE_NV12 输入模式下,YUV 输入数据的方式是 Y,UV 分成两个文件送给验证程序,所以第一步,我们需要将 dog_416x416 图片转换为 YUV420 格式, 再拆分成两个文件

      1. 转换

        我们使用 ffmpeg 将一张 416*416 的图片转换为 YUV ffmpeg -i dog_416x416.jpg -pix_fmt nv12 image_416x416.nv12.yuv

      2. 将 Y 和 UV 平面分开,并分成两个文件按存储。 Y 和 UV 分 bin NV12 格式的大小,按理论计算,应该是 4164161.5=259584 字节。所以,Y 分量的大小应该为 4164161 = 173056, UV 分量大小为 86528。

      分 Bin 我们使用 Linux 下的 dd 工具:

      dd if=image_416x416.nv12.yuv of=Y.bin bs=1 count=173056
      dd if=image_416x416.nv12.yuv of=UV.bin skip=173056 bs=1
      

      仿真需要的数据也是要事先处理好的 Y.bin,UV.bin 作为参数,工具不帮忙给做

      发布在 V Series
      Y
      YterAA
    • 回复: 请教Tina 5.0支持 T113吗?支持luci组件吗?

      @as86455011 详情可以向对接的业务/代理商/方案商了解。

      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: f1c100s的Tina,怎样去修改uboot的配置啊?

      @waterworld 这个文档是uboot 2018的

      发布在 Linux
      Y
      YterAA
    • 回复: 请问一下,有人把rsb当做twi来用吗,外接触摸、nfc等外设?

      当作超高速TWI用的没见过,主机支持从机hold不住

      发布在 Linux
      Y
      YterAA
    • 回复: T113 Tina reboot 无法重启

      reboot的时候需要rmmod,检查一下是不是有模块的rmmod没有配置,或者rmmod有问题

      a0a65fa5-451b-4855-b50a-4af92b108f7e-image.png

      发布在 MR Series
      Y
      YterAA
    • 回复: Tina adb调试

      @rayzhang 两个方法,第一个:控制usb otg。第二个,控制adbd服务

      发布在 Linux
      Y
      YterAA
    • 回复: 文件系统修改为debian之后,XR829蓝牙无法正常使用

      @captain 从tina linux里找一下

      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: 全志D1 原理图问题

      @lgkgkfg 是的

      发布在 MR Series
      Y
      YterAA
    • 回复: 文件系统修改为debian之后,XR829蓝牙无法正常使用

      需要移植对应的版本的工具包。

      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: 全志D1 原理图问题

      @lgkgkfg

      UD1 是双晶 DDR3 的接法,焊接 单晶 DDR3 的时候那两个脚是NC的
      266a997f-0045-4131-83f7-820a154376d9-image.png

      而部分型号的 DDR3 是双晶的,也就是一颗DRAM芯片内有 2 片DRAM晶圆。比如H5TC8G63CMR的Dual Die Package

      01f17826-7ac0-447b-856f-1b91c22546a9-image.png

      针对这样的 DDR3 颗粒的时候,就需要像 UD1 那样接 DRAM 芯片,支持双晶颗粒。

      eaf1e73b-0cf8-4bc8-ad1e-d1932d4b129d-image.png

      而 UD2 则是普通的单晶接法。只能接单晶颗粒,接双晶的只能启用其中一颗晶圆。

      也就是说,D1-H 芯片要么接一片双晶 DDR3 芯片,要么接2片单晶 DDR3 芯片。 不支持4贴,8贴,16贴 DDR3 颗粒

      另外这里的双晶也被称作 Dual Die Package、Dual Rank Package。不同的内存颗粒厂家叫法不同

      发布在 MR Series
      Y
      YterAA
    • 回复: D1H DDR控制器支持写入均衡(Write leveling)吗

      只支持T扩,fly-by没那么多控制线。而且D1-H最大支持2G内存,T扩2片DDR3就满了

      发布在 MR Series
      Y
      YterAA
    • 回复: A133 可以接 单片4G DDR芯片吗?

      可以,LPDDR4

      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: 【FAQ】全志V853芯片 适配双目GC2053的操作步骤

      两个摄像头的地址是不一样的,要配置一下。

      https://bbs.aw-ol.com/assets/uploads/files/1655976276093-15c5a928-35ee-4228-a901-1d1f57ebeed7-iot362g6363-a-原理图.pdf

      d85b9400-46f8-424d-8e92-b77dae6a5289-image.png

      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: 自己画了块D1-H板子

      大佬好强,期待成品

      发布在 MR Series
      Y
      YterAA
    • 回复: d1的千兆mac是不是跑不满千兆的

      @xiaoxiao 估计是服务器端不匹配

      发布在 MR Series
      Y
      YterAA
    • 回复: 看图猜板,猜对的同学可以免费获得!

      @xiaowenge 明显是一个核心板

      发布在 V Series
      Y
      YterAA
    • 回复: d1的千兆mac是不是跑不满千兆的

      D1 建立服务器,R528测速:

      root@TinaLinux:/# iperf3 -c 192.168.0.3
      Connecting to host 192.168.0.3, port 5201
      [  4] local 192.168.0.2 port 54906 connected to 192.168.0.3 port 5201
      [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
      [  4]   0.00-1.00   sec  53.2 MBytes   446 Mbits/sec    0    235 KBytes
      [  4]   1.00-2.00   sec  47.6 MBytes   400 Mbits/sec    3   96.2 KBytes
      [  4]   2.00-3.00   sec  42.6 MBytes   357 Mbits/sec    1    132 KBytes
      [  4]   3.00-4.00   sec  43.6 MBytes   366 Mbits/sec    1    133 KBytes
      [  4]   4.00-5.00   sec  43.9 MBytes   368 Mbits/sec    0    133 KBytes
      [  4]   5.00-6.00   sec  43.3 MBytes   363 Mbits/sec    1    120 KBytes
      [  4]   6.00-7.00   sec  43.4 MBytes   364 Mbits/sec    1    134 KBytes
      [  4]   7.00-8.00   sec  43.9 MBytes   368 Mbits/sec    2   69.3 KBytes
      [  4]   8.00-9.00   sec  42.6 MBytes   358 Mbits/sec    0    133 KBytes
      [  4]   9.00-10.00  sec  44.1 MBytes   370 Mbits/sec    0    133 KBytes
      - - - - - - - - - - - - - - - - - - - - - - - - -
      [ ID] Interval           Transfer     Bandwidth       Retr
      [  4]   0.00-10.00  sec   448 MBytes   376 Mbits/sec    9             sender
      [  4]   0.00-10.00  sec   448 MBytes   375 Mbits/sec                  receiver
      
      iperf Done.
      

      R528 建立服务器,D1 测速

      root@TinaLinux:/# iperf3 -c 192.168.0.2
      Connecting to host 192.168.0.2, port 5201
      [  4] local 192.168.0.3 port 44640 connected to 192.168.0.2 port 5201
      [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
      [  4]   0.00-1.00   sec  14.8 MBytes   124 Mbits/sec  260   12.7 KBytes
      [  4]   1.00-2.00   sec  23.2 MBytes   195 Mbits/sec  393   18.4 KBytes
      [  4]   2.00-3.00   sec  22.5 MBytes   189 Mbits/sec  458   12.7 KBytes
      [  4]   3.00-4.00   sec  22.8 MBytes   191 Mbits/sec  407   18.4 KBytes
      [  4]   4.00-5.00   sec  23.1 MBytes   194 Mbits/sec  422   15.6 KBytes
      [  4]   5.00-6.00   sec  22.3 MBytes   187 Mbits/sec  414   14.1 KBytes
      [  4]   6.00-7.00   sec  21.3 MBytes   179 Mbits/sec  373   15.6 KBytes
      [  4]   7.00-8.00   sec  22.9 MBytes   192 Mbits/sec  413   9.90 KBytes
      [  4]   8.00-9.00   sec  24.7 MBytes   207 Mbits/sec  436   19.8 KBytes
      [  4]   9.00-10.00  sec  23.6 MBytes   198 Mbits/sec  442   14.1 KBytes
      - - - - - - - - - - - - - - - - - - - - - - - - -
      [ ID] Interval           Transfer     Bandwidth       Retr
      [  4]   0.00-10.00  sec   221 MBytes   186 Mbits/sec  4018             sender
      [  4]   0.00-10.00  sec   221 MBytes   185 Mbits/sec                  receiver
      
      发布在 MR Series
      Y
      YterAA
    • 回复: d1的千兆mac是不是跑不满千兆的

      @xiaoxiao 测试固件(卡刷)
      a8425e9c-b9b6-4c9b-91e6-a74a1e46c953-tina_d1-h-nezha_uart0.img

      发布在 MR Series
      Y
      YterAA
    • 回复: d1的千兆mac是不是跑不满千兆的

      @xiaoxiao 没有,sdk原生的

      发布在 MR Series
      Y
      YterAA
    • 回复: d1的千兆mac是不是跑不满千兆的
      root@TinaLinux:/# iperf3 -c 192.168.0.2 -p 5201
      Connecting to host 192.168.0.2, port 5201
      [  4] local 192.168.0.3 port 35484 connected to 192.168.0.2 port 5201
      [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
      [  4]   0.00-1.00   sec  42.0 MBytes   352 Mbits/sec   21   76.4 KBytes
      [  4]   1.00-2.00   sec  45.4 MBytes   381 Mbits/sec   13   83.4 KBytes
      [  4]   2.00-3.00   sec  43.1 MBytes   362 Mbits/sec   16   93.3 KBytes
      [  4]   3.00-4.00   sec  40.3 MBytes   338 Mbits/sec   22    209 KBytes
      [  4]   4.00-5.00   sec  45.7 MBytes   384 Mbits/sec   13    116 KBytes
      [  4]   5.00-6.00   sec  45.5 MBytes   382 Mbits/sec   12    143 KBytes
      [  4]   6.00-7.00   sec  46.2 MBytes   388 Mbits/sec   13    175 KBytes
      [  4]   7.00-8.00   sec  45.7 MBytes   383 Mbits/sec   15    167 KBytes
      [  4]   8.00-9.00   sec  45.1 MBytes   379 Mbits/sec   16   59.4 KBytes
      [  4]   9.00-10.00  sec  44.7 MBytes   375 Mbits/sec   10    160 KBytes
      - - - - - - - - - - - - - - - - - - - - - - - - -
      [ ID] Interval           Transfer     Bandwidth       Retr
      [  4]   0.00-10.00  sec   444 MBytes   372 Mbits/sec  151             sender
      [  4]   0.00-10.00  sec   443 MBytes   372 Mbits/sec                  receiver
      
      

      初步测了一下,确实跑不满

      发布在 MR Series
      Y
      YterAA
    • Tina System Init 流程分析

      init 进程是内核启动的第一个用户进程,它根据配置文件决定启动那些程序,比如执行某些脚本、启动 shell、运行用户指定的程序等。init 进程是后续所有进程的发起者,比如init进程启动 /bin/sh 程序后,才能在控制台输入各种命令。

      init进程的执行程序通常是在/sbin/init,上面讲述的 init 进程的作用只不过是 /sbin/init 这个程序的功能。我们完全可以编写自己的 /sbin/init 程序,或者传入命令行参数“init=xxxx”指定某个程序作为init进程运行。

      tina系统中目前支持两种init程序:procd init 和 busybox init。下面我们来简单分析下kernel是如何调用第一个用户进程。

      18b9c8f3-50d3-4a71-8527-5af4d091f410-image.png

      如上图所示,内核启动的第一个c语言入口函数为 start_kernel(), 在函数中:会设置与体系结构相关的环境变量,初始化控制台,以及挂载根文件系统,最后启动 init 进程。

      其中的 run_init_process 函数使用它的参数所指定的程序来创建第一个用户进程。

      (1)如果 ramdisk_execute_command 变量指定了要运行的程序,则启动它。
      ramdisk_execute_command 的取值分三种情况,
      1)如果命令行参数指定了“rdinit=xxx”,则ramdisk_execute_command等于这个参数指定的程序
      2)否则,如果/init程序存在,ramdisk_execute_command就等于“/init”。
      3)否则,ramdisk__execute_command为空
      (2)如果execute_command变量指定了要运行的程序,启动它。
      如果命令行参数指定了"init=...",则execute_command等于这个参数指定的程序,否则为空
      (3)如果 ramdisk_execute_command 和 execute_command 参数都没有指定,则依次执行 ”/sbin/init、/etc/init、/bin/init、/bin/sh“

      在tina系统中,我们可以通过去修改env.cfg文件 ”rdinit=xxx“ 或 ”init=xxx“ 参数来指定启动的第一个用户进程

      example:
      tina/target/allwinner/azalea-m2ultra/configs下,修改env-3.10.cfg(如果没有这个文件,则到tina/target/allwinner/generic/configs/拷贝一份env-3.10.cfg到tina/target/allwinner/azalea-m2ultra/configs/),修改文件中的”init=‘指定的应用进程’ “即可

      发布在 Linux
      Y
      YterAA
    • 回复: WSL-ubuntu20.04 编译d1-h_nezha_tina 出错:satisfy_dependencies_for: Cannot satisfy the following dependencies for directfb-examples

      看一下上面的报错

      发布在 MR Series
      Y
      YterAA
    • 回复: WSL-ubuntu20.04 编译d1-h_nezha_tina 出错:satisfy_dependencies_for: Cannot satisfy the following dependencies for directfb-examples

      @qiao_sh_pudong 缺这个文件,重新编译看看

      发布在 MR Series
      Y
      YterAA
    • 回复: T113 uboot 里面没有ccu ,该怎么去配置以太网时钟?

      有一个Patch加入了Uboot的以太网支持,具体可以到客户服务平台下载新版本

      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: WSL-ubuntu20.04 编译d1-h_nezha_tina 出错:satisfy_dependencies_for: Cannot satisfy the following dependencies for directfb-examples

      前面的collect的error不是重点,那个只是因为平台差异不能使用的警告,实际的错误是no module name argprase,请使用python2.7以上版本

      发布在 MR Series
      Y
      YterAA
    • 回复: T507 sdk下载repo init失败

      xxx是你的用户名

      cd863a3a-e589-4f90-87e6-6c6e57d8acb7-image.png

      发布在 代码下载问题专区
      Y
      YterAA
    • 回复: 怎么在视频上显示UI?

      @jhj001 f133好像没有mpp架构,可以通过双图层支持。具体可以参考lv_monitor的实现

      双图层是tocn管理,位于disp节点。输出还是同一个fb

      发布在 MR Series
      Y
      YterAA
    • 回复: 怎么在视频上显示UI?

      @jhj001 有这个sample,在mpp框架中。本质上是两个图层显示,一个图层显示视频另外一个图层显示ui

      发布在 MR Series
      Y
      YterAA
    • 回复: Tina procd-init 与 busybox-init 切换

      @memory

      11307b18-f0ec-46e5-b7af-6e3ef5741576-image.png

      (1)如果ramdisk_execute_command变量指定了要运行的程序,则启动它。
                ramdisk_execute_command的取值分三种情况,
               1)如果命令行参数指定了“rdinit=xxx”,则ramdisk_execute_command等于这个参数指定的程序
               2)否则,如果/init程序存在,ramdisk_execute_command就等于“/init”。
               3)否则,ramdisk__execute_command为空
      (2)如果execute_command变量指定了要运行的程序,启动它。
               如果命令行参数指定了"init=...",则execute_command等于这个参数指定的程序,否则为空
      (3)如果ramdisk_execute_command和execute_command参数都没有指定,则依次执行”/sbin/init、/etc/init、/bin/init、/bin/sh“
      
      在tina系统中,我们可以通过去修改env.cfg文件”rdinit=xxx“或”init=xxx“参数来指定启动的第一个用户进程
      
      发布在 Linux
      Y
      YterAA
    • 回复: Tina Linux 存储介质切换:eMMC,SPI NAND,SPI NOR,SD Card,SD NAND

      Tina 3.5 一般支持nor, nand, mmc 三种介质。

      更具体的,nand分为并口nand和spinand,mmc分emmc和sd卡

      主要需要区分的是nor和其他介质,因为需要打包的部分有所不同。

      即,emmc和nand,sd卡一般可共用一份固件,而nor则需使用另一份固件

      sys_config配置

      在sys_config中有一个配置项,storage_type,取值及含义如下

      ;----------------------------------------------------------------------------------
      ; storage_type 0:nand 1:sd 2:emmc 3:spinor 4:emmc3 5:spinand 6:sd1
      ;----------------------------------------------------------------------------------
      [target]
      storage_type = xxx
      

      对于nor的方案,必须配置为

       storage_type = 3
      

      对于其他介质,storage_type则不能配置为3

      spinand切换为spinor

      sys_config 设置介质为nor

      [target]
      storage_type = 3
      

      配置所用nor的大小

      [norflash]
      size		= 16   
      

      内核配置

       make kernel_menuconfig --->
      	Device Drivers --->
                      < >Block devices  (取消选中)
      	Device Drivers --->
      		<*>Memory Technology Device (MTD) support
                              <*>OpenFirmware partitioning information support
      			<*>SUNXI partitioning support
             <*>   Caching block device access to MTD devices
      			<*>   SPI-NOR device support  (对于linux4.9,先选这个,下面的选项才出现)
      			Self-contained MTD device drivers  --->
      				 <*> Support most SPI Flash chips (AT26DF, M25P, W25X, ...)
        File systems  --->
          < > The Extended 4 (ext4) filesystem(取消选中)
        File systems  --->
          [*] Miscellaneous filesystems  ---> 
           <*>   Journalling Flash File System v2 (JFFS2) support(选中)
        [*] Enable the block layer  --->
          [ ]   Support for large (2TB+) block devices and files(取消选中)
      

      menuconfig配置

      make menuconfig --->
             Utilities  --->
                      <*> mtd-utils (选择) --->
                              <*> mtd-utils-mkfs.jffs2
      make menuconfig --->
             Utilities  --->
                      Filesystem  --->
                              < > e2fsprogs(取消选择)
      

      spinor切换为spinand

      sys_config 设置介质为spinand

      [target]
      storage_type = 5
      

      内核配置

       make kernel_menuconfig --->
            Device Drivers --->
                       [*]Block devices --->
                               <*>   sunxi nand flash driver
            Device Drivers --->
      		< >Memory Technology Device (MTD) support(取消选择)
             [*] Enable the block layer  --->
                      [*]   Support for large (2TB+) block devices and files 
            File systems  --->
                     <*> The Extended 4 (ext4) filesystem
      

      menuconfig 配置

      make menuconfig --->
             Utilities  --->
                      < > mtd-utils (取消选择)
                      Filesystem  --->
                              <*> e2fsprogs
      

      分区表配置
      注意点

      对于nand,rootfs_data分区,使用ext4格式。分配太小的话可能会创建失败。

      FAQ

      使用mkfs.ext4等工具的时候出现

      /usr/sbin/fsck.ext4 -y /dev/by-name/rootfs_data
      Error loading shared library /home/wuguanling/workspace/project/v316-sdv-tina/out/v316-sdv/staging_dir/target/rootfs/lib/libc.so: No such file or directory (needed by /usr/lib/libext2fs.so.2)
      

      关闭以下选项:

      make menuconfig
         | --- Global build settings
      		| --- []strip unnecessary functions for libraries  
      
      发布在 Linux
      Y
      YterAA
    • Tina procd-init 与 busybox-init 切换

      tina 默认为 procd-init。

      Procd INIT

      make menuconfig 进行配置

      1. System init 选择procd-init

      2. 以下一步步选中

         Base system  --->
         <*>block-mount
         <*>busybox................................ Core utilities for embedded Linux  --->
                 Init Utilities  --->
                 [ ] init       此处不选
      
      1. env.cfg修改
      init=/sbin/init
      

      Busybox INIT

      make menuconfig 进行配置

      1. System init 选择busy-init

      2. 以下一步步选中

         Base system  --->
         <*>busybox................................ Core utilities for embedded Linux  --->
                Init Utilities  --->
                [* ] init       此处选上
      
      1. env.cfg 修改
      init=/init
      rdinit=/rdinit
      
      发布在 Linux
      Y
      YterAA
    • 回复: 在D1的tina上整上overlayfs

      @how0723 kernel启用ext2,或者换jffs2

      发布在 MR Series
      Y
      YterAA
    • 回复: 启动wifi时,提示文件系统只读,怎么解决

      @how0723 mount查看是否挂载了overlayfs
      10ffbec2-fc32-4184-b0a3-206f001d7ff6-image.png

      发布在 MR Series
      Y
      YterAA
    • 回复: [部分已解决] v853 sdk 编译失败:undefined reference to `sunxi_challenge`

      buildroot不支持 ubuntu:22.04,只有 openwrt支持,buildroot最高支持ubuntu18.04

      发布在 编译和烧写问题专区
      Y
      YterAA
    • 回复: 怎么在视频上显示UI?

      可以用 LVGL 实现这个功能

      发布在 MR Series
      Y
      YterAA
    • 回复: 浮点运算怎么打开?

      驱动不建议浮点,开了其他驱动会炸

      发布在 Linux
      Y
      YterAA
    • 回复: H618?Android 12 电视盒?

      H616 有三个版本,A、B、C,C版本叫 H618 了

      区分版本的方法看左下方那一行,倒数第二个字母就是版本(其他芯片也适用)

      0cf3d7f9-bb11-4ac8-a2e4-95f310f73d09-image.png

      发布在 H/F/TV Series
      Y
      YterAA
    • 回复: 请教各位同学,Tina-SDK 如何在uboot下单独更新kernel 设备树文件?
      kernel与kernel-dtb存放在不同的独立分区
          uboot启动后,uboot使用uboot-dtb进行初始化,以及设置一些uboot的功能
                                  |
                                  V
          uboot在初始化完flash后从kernel-dtb存放的分区中获取kernel-dtb,用kernel-dtb替换掉正在使用的uboot-dtb
                                  |
                                  V
          更新一些dram以及flash介质参数到kernel-dtb,把kernel-dtb传递给kernel并启动kernel
      
      1.修改uboot目录下对应方案的配置文件
         修改configs/sunxxxp1_defconfig文件如下
         CONFIG_OF_BOARD=y
         #CONFIG_OF_SEPARATE is not set
         修改以及添加:
         #CONFIG_OF_BOARD is not set
         CONFIG_OF_SEPARATE=y                         ------------>  uboot开启独立dtb功能,uboot启动后将使用uboot-dtb(使能哪份dtb请参考Tina独立dtb逻辑介绍中的相同点)
         CONFIG_SUNXI_REPLACE_FDT_FROM_PARTITION=y   -------------->uboot开启从独立分区中读取kernel-dtb的功能
      
      2.在分区表中添加一个分区,并确保下载到分区的dtb数据正确
         例如修改sys_partition.fex文件如下:
         [partition]
                name    =  dtb                                ---------->分区名可以自己设置
                size       =  512
                downloadfile   =  "sunxi.fex"        ---------->分区存放的文件,dtb数据
                user_type         =  0x8000
      
      3.如下修改uboot的env环境变量文件
         添加如下环境变量
         replace_fdt=dtb:raw    /    replace_fdt=dtb:fat:fdtfilename
         说明:
         在uboot启动的过程中会读取这个env变量,然后进行dtb数据的替换
         (1).replace_fdt : 固定字符串,uboot靠它来进行识别,不可修改
         (2).dtb : 分区名,从哪个分区获取dtb数据,与上面点2的分区名对应,可以修改
         (3).raw / fat : 分区类型,分区是裸分区(raw),还是fat文件系统的分区(fat)
         (4).fdtfilename : fat文件系统才需要,dtb数据的文件名,如果是裸分区(raw)不需要设置
      
      
      发布在 MR Series
      Y
      YterAA
    • 回复: 我有很多很多问号【DH-H Tina】

      1.在Tina SDK make kernel_menuconfig 点击save后保存应用均为自动操作,save了就可以了
      2.生成ko文件makefile里吧obj-y改为obj-m。
      3.驱动编写教程参考:https://v853.docs.aw-ol.com/soft/dev_gpio/#led
      4.APP不能调用kernel层的操作,需要Port一些操作,可以是用户层接口,也可以是VFS
      5.设备树相关:https://v853.docs.aw-ol.com/soft/dev_gpio/#pinctrl
      6.iio接口的驱动应该是其他平台使用的,哪吒板子没有IIO接口

      针对哪吒板子,PerfXLab 提供了多个demo可供使用,可以参照:https://github.com/rvboards/d1_demo

      发布在 MR Series
      Y
      YterAA
    • 回复: D1s Tina SDK 2.0中tplayer问题

      播放之前建立音频通路、或者关闭音频输出播放

      发布在 MR Series
      Y
      YterAA
    • 回复: 解决 uboot 开启 bootlogo 进入 kernel 时候会闪烁的问题

      @jr_online 适用

      发布在 MR Series
      Y
      YterAA
    • 解决 uboot 开启 bootlogo 进入 kernel 时候会闪烁的问题

      6ae624b1-2756-4eb7-9ebc-e918db769c23-image.png

      https://open.allwinnertech.com/#/sdk/0?menuID=36 打上补丁就可以了

      发布在 MR Series
      Y
      YterAA
    • 回复: D1-H 有哪些CSR 地址是怎么分布的?

      MXSTATUS 是机器模式扩展状态寄存器
      64ba4f58-fe96-40b4-9d79-9d26ed7b1769-image.png

      地址定义:
      490a6343-234e-4b41-a2ce-3a42045ef849-image.png

      其设置方法如下:

      (0:1) CACHE_SEL=2’b11时,选中指令和数据高速缓存
      (4) INV=1时高速缓存进行无效化
      (16) BHT_INV=1时分支历史表内的数据进行无效化
      (17) TB_INV=1时分支目标缓冲器内的数据进行无效化
      csr_write(CSR_MCOR, 0x70013);

      (0) IE=1时Icache打开
      (1) DE=1时Dcache打开
      (2) WA=1时数据高速缓存为write allocate模式 (c906不支持)
      (3) WB=1时数据高速缓存为写回模式 (c906固定为1)
      (4) RS=1时返回栈开启
      (5) BPE=1时预测跳转开启
      (6) BTB=1时分支目标预测开启
      (8) WBR=1时支持写突发传输写 (c906固定为1)
      (12) L0BTB=1时第一级分支目标预测开启
      csr_write(CSR_MHCR, 0x11ff);

      (15) MM为1时支持非对齐访问,硬件处理非对齐访问
      (16) UCME为1时,用户模式可以执行扩展的cache操作指令
      (17) CLINTEE为1时,CLINT发起的超级用户软件中断和计时器中断可以被响应
      (21) MAEE为1时MMU的pte中扩展地址属性位,用户可以配置页面的地址属性
      (22) THEADISAEE为1时可以使用C906扩展指令集
      csr_set(CSR_MXSTATUS, 0x638000);

      (2) DPLD=1,dcache预取开启
      (3,4,5,6,7) AMR=1,时,在出现连续3条缓存行的存储操作时后续连续地址的存储操作不再写入L1Cache
      (8) IPLD=1ICACHE预取开启
      (9) LPE=1循环加速开启
      (13,14) DPLD为2时,预取8条缓存行
      csr_write(CSR_MHINT, 0x16e30c);

      这些C906核心的寄存器资料均位于《Xuantie_C906_R1S0_User_Manual.pdf》 文档中,可以前往平头哥开源芯片平台下载。

      发布在 MR Series
      Y
      YterAA
    • 回复: F1C200S官方下载melis2.0的 1.6 boot0不能正常使用

      [BOOT0] BOOT0 is starting DBG: bootinfo error1

      考虑可能是因为sdk更新libchipid存在更新。可以尝试替换老版本的boot0文件打包

      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: T113 如何降低芯片温度?

      不使用芯片内 LDO,使用外部 DCDC 供电。

      发布在 MR Series
      Y
      YterAA
    • 回复: 【硬核干货】V853 Sample MPP软件包,MPP 摄像头测试包

      @qq519472926

      按照教程配置安装 NPU 运行时支持库:https://v853.docs.aw-ol.com/npu/npu_runtime/

      发布在 V Series
      Y
      YterAA
    • 回复: 【硬核干货】V853 Sample MPP软件包,MPP 摄像头测试包

      @aldfaaa 更新了,点上面的下载链接重新下载一下

      发布在 V Series
      Y
      YterAA
    • 回复: T507显示分辨率自适应问题

      hdmi的分辨率可以指定,也可以使用fb1、fb0双显

      发布在 飞凌嵌入式专区
      Y
      YterAA
    • 回复: 【硬核干货】V853 Sample MPP软件包,MPP 摄像头测试包

      @qq519472926 大概是写错了,等修复下

      发布在 V Series
      Y
      YterAA
    • 回复: 请教boot mode选择问题?

      @zhongtao1701 是默认存在上下拉关系的,默认上拉

      发布在 MR Series
      Y
      YterAA
    • 回复: 请教boot mode选择问题?

      @zhongtao1701
      SID 是储存器存放芯片的一些配置选项,包括BOOT_MODE,MAC等等。现在XFEL可以读出SID的配置值即是默认值。

      BOOT 顺序可以通过两种方法指定,第一种是烧录芯片eFuse,使用写号工具DragonSN(需要联系FAE获得)写入eFuse数据。另外一种是通过GIPO选择。通过组合高低电平实现启动顺序。

      v853 也有这个功能,可以参考:https://v853.docs.aw-ol.com/hard/hard_3boardsch/#memoryemmc

      发布在 MR Series
      Y
      YterAA
    • 回复: 【硬核干货】V853 Sample MPP软件包,MPP 摄像头测试包

      在这之前,请按照 https://v853.docs.aw-ol.com/npu/npu_runtime/ 教程 安装 NPU 运行时!!

      下载解压后放置到 tina5.0/openwrt/package/thirdparty 文件夹内。
      make menuconfig 后可以在 Demo for v853 board 找到

      Demo for v853 board  ---> 
           <*> sample_mpp..................... sample_mpp binary for v853 eval
      

      ca274624-343c-4735-8830-ce362fbe63fd-image.png

      发布在 V Series
      Y
      YterAA
    • 【硬核干货】V853 Sample MPP软件包,MPP 摄像头测试包

      下载地址:

      v853_mppdemo.tar.gz

      发布在 V Series
      Y
      YterAA
    • 回复: 请教一下C200S 的官方直接下载V1.6 无法正常启动

      DRAM 初始化有问题,不要随便修改 DRAM 的参数。

      发布在 编译和烧写问题专区
      Y
      YterAA
    • 回复: 烧写uboot

      打开 PhoenixSuit,选择下载 BOOT
      54f24fe3-410d-4065-9abe-b0d98c21696c-image.png

      发布在 MR Series
      Y
      YterAA
    • 回复: Linux嵌入式怎么学?

      @aldfaaa Linux嵌入式不太懂,有没有人教教我可以怎么学习?

      发布在 灌水区
      Y
      YterAA
    • 回复: 请教Tina 5.0支持 T113吗?支持luci组件吗?

      你问我支不支持,当然是支持的啦

      2a7e4c10-4773-4151-a77d-d2489e0e5b42-image.png

      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: T113使用GT911,无法使用

      我记得好像twi驱动有问题,后面的sdk修复了这个bug

      发布在 Linux
      Y
      YterAA
    • 回复: V853有线网络无法连接

      配置dhcp获取ip,ifconfig eth0 up

      发布在 V Series
      Y
      YterAA
    • 回复: Tina Linux sdk 内核模块不能编译

      @xiaowen 在 Tina Linux sdk 内核模块不能编译 中说:

      内核模块

      内核模块不在tina里编译,应该在kernel里编译。

      发布在 MR Series
      Y
      YterAA
    • 回复: H616 PMU AXP313a Power setting error

      如图,没找到PMU,可能需要更新BOOT0

      发布在 H/F/TV Series
      Y
      YterAA
    • 回复: 编译报错

      sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lib32z1 lib32z1-dev lib32stdc++6 libstdc++6 -y

      发布在 MR Series
      Y
      YterAA
    • 回复: 查看源码内容

      @x_17866824910 因为没有repo sync完成就退出了,需要等待repo sync结束

      发布在 MR Series
      Y
      YterAA
    • 回复: 查看源码内容

      按照教程使用repo命令下拉源码仓库即可。

      发布在 MR Series
      Y
      YterAA
    • 回复: tina linux怎么把摄像头的接口由mipi改为hispi

      设置对应的含义为:

      > status是vin驱动的总开关,对应的是media设备,使用vin时必须设为okay;  
      > csi_top是vin模块的时钟,实际使用时可以根据sensor的帧率和分辨率来设置;
      > csi_isp是isp模块时钟,实际使用时可以根据sensor的帧率和分辨率来设置;
      > work_mode: 0:online mode 1:offline mode, 根据使用需求配置;
      > flash0_type: 0:FLASH_RELATING, 1:FLASH_EN_INDEPEND, 2:FLASH_POWER  
      > flash0_en: flash enable gpio, type = 0 of 1  
      > flash0_mode: flash mode gpio, type = 0 of 1  
      > flash0_flvdd: flash module io power handle string, pmu power supply, type = 2  
      > flash0_flvdd_vol: flash module io power voltage, pmu power supply, type = 2  
      > status: 是否使用flash, disable代表关,okay代表开
      > actuator0_name: vcm name  
      > actuator0_slave: vcm iic slave address  
      > actuator0_af_pwdn: vcm power down gpio  
      > actuator0_afvdd: vcm power handle string, pmu power supply  
      > actuator0_afvdd_vol: vcm power voltage, pmu power supply  
      > status: vcm if used, disable代表关,okay代表开
      > device_type: sensor type
      > sensor0_mname: sensor name  
      > sensor0_twi_cci_id:sensor所使用的twi或者cci的id。  
      > sensor0_twi_addr:sensor的twi地址  
      > sensor0_mclk_id:sensor所使用的mclk的id。  
      > sensor0_pos:sensor的位置,前置还是后置,主要用在平板上。  
      > sensor0_isp_used: not use isp 1:use isp  
      > sensor0_fmt: 0:yuv 1:bayer raw rgb  
      > sensor0_stby_mode: not shut down power at standby 1:shut down power at standby  
      > sensor0_vflip: flip in vertical direction 0:disable 1:enable  
      > sensor0_hflip: flip in horizontal direction 0:disable 1:enable  
      > sensor0_iovdd-supply: camera module io power handle string, pmu power supply  
      > sensor0_iovdd_vol: camera module io power voltage, pmu power supply  
      > sensor0_avdd-supply: camera module analog power handle string, pmu power supply  
      > sensor0_avdd_vol: camera module analog power voltage, pmu power supply  
      > sensor0_dvdd-supply: camera module core power handle string, pmu power supply  
      > sensor0_dvdd_vol: camera module core power voltage, pmu power supply  
      > sensor0_power_en: camera module power enable gpio  
      > sensor0_reset: camera module reset gpio  
      > sensor0_pwdn: camera module pwdn gpio 
      > sensor0_sm_hs: camera module sm_hs gpio
      > sensor0_sm_vs: camera module sm_vs gpio
      > status: open or close sensor device 
      > flash/actautor/sensor节点用于对应的外设的开关和配置。这些节点的配置一般需要参考对应方案的原理图和外设的data sheet来完成。
      > vinc0_csi_sel:表示该pipeline上parser的id,必须配置,且为有效id。  
      > vinc0_mipi_sel:表示该pipeline上mipi(sublvds/hispi)的id,不使用时配置为0xff。  
      > vinc0_isp_sel:表示该pipeline上isp的id,必须配置,当isp为空时,这个isp只是表示路由不做isp的效果处理。  
      > vinc0_isp_tx_ch表示该pipeline上isp的ch,必须配置,默认为0。当sensor是bt656多通道或者WDR出RAW时,该ch可以配置0~3的值。  
      > vinc0_tdm_rx_sel: 表示该pipeline上tdm rx的ch,必须配置,默认为0。当不使用tdm功能时,配置为0xff;  
      > vinc0_rear_sensor_sel表示该pipeline上使用的后置sensor的id。  
      > vinc0_front_sensor_sel 表示该pipeline上使用的前置sensor的id。  
      > vinc0_sensor_list表示是否使用sensor_list来时适配不同的模组,1表示使用,0表示不使用。  
      > work_mode: 0:online mode 1:offline mode, 根据使用需求配置;只有vinc0/4/8/12可以配置。  
      > status: vipp的使能开关,okay or disable。
      

      这里提供的是使用设备树方案的配置名称,对于使用 sys_config.fex 的方案可以对照这里的设备树检查,配置项差别不大。hispi与mipi软件上只需要修改sensor驱动,不需要修改 V4L2框架,更不需要读写寄存器。具体方法参考 《Linux_MIPI_CSI_开发指南.pdf》(需要FAE提供)。

      这里提供设备树的配置:

      &vind0 {
          csi_top = <336000000>;
          csi_isp = <300000000>;
          status = "okay";
      
          tdm0:tdm@0 {
              work_mode = <0>;
          };
      
          isp00:isp@0 {
              work_mode = <0>;
          };
      
          scaler00:scaler@0 {
              work_mode = <0>;
          };
      
          scaler10:scaler@4 {
              work_mode = <0>;
          };
      
          scaler20:scaler@8 {
              work_mode = <0>;
          };
      
          scaler30:scaler@12 {
              work_mode = <0>;
          };
      
          actuator0:actuator@0 {
              device_type = "actuator0";
              actuator0_name = "ad5820_act";
              actuator0_slave = <0x18>;
              actuator0_af_pwdn = <>;
              actuator0_afvdd = "afvcc-csi";
              actuator0_afvdd_vol = <2800000>;
              status = "disabled";
          };
      
          flash0:flash@0 {
              device_type = "flash0";
              flash0_type = <2>;
              flash0_en = <>;
              flash0_mode = <>;
              flash0_flvdd = "";
              flash0_flvdd_vol = <>;
              status = "disabled";
          };
      
          sensor0:sensor@0 {
              device_type = "sensor0";
              sensor0_mname = "gc2053_mipi";
              sensor0_twi_cci_id = <1>;
              sensor0_twi_addr = <0x6e>;
              sensor0_mclk_id = <0>;
              sensor0_pos = "rear";
              sensor0_isp_used = <1>;
              sensor0_fmt = <1>;
              sensor0_stby_mode = <0>;
              sensor0_vflip = <0>;
              sensor0_hflip = <0>;
              sensor0_iovdd-supply = <&reg_aldo2>;
              sensor0_iovdd_vol = <1800000>;
              sensor0_avdd-supply = <&reg_bldo2>;
              sensor0_avdd_vol = <2800000>;
              sensor0_dvdd-supply = <&reg_dldo2>;
              sensor0_dvdd_vol = <1200000>;
              sensor0_power_en = <>;
              sensor0_reset = <&pio PA 18 1 0 1 0>;
              sensor0_pwdn = <&pio PA 19 1 0 1 0>;
              sensor0_sm_hs = <>;
              sensor0_sm_vs = <>;
              flash_handle = <&flash0>;
              act_handle = <&actuator0>;
              status    = "okay";
          };
      
          sensor1:sensor@1 {
              device_type = "sensor1";
              sensor1_mname = "imx386_mipi_2";
              sensor1_twi_cci_id = <0>;
              sensor1_twi_addr = <0x20>;
              sensor1_mclk_id = <1>;
              sensor1_pos = "front";
              sensor1_isp_used = <1>;
              sensor1_fmt = <1>;
              sensor1_stby_mode = <0>;
              sensor1_vflip = <0>;
              sensor1_hflip = <0>;
              sensor1_iovdd-supply = <&reg_aldo2>;
              sensor1_iovdd_vol = <1800000>;
              sensor1_avdd-supply = <&reg_bldo2>;
              sensor1_avdd_vol = <2800000>;
              sensor1_dvdd-supply = <&reg_dldo2>;
              sensor1_dvdd_vol = <1200000>;
              sensor1_power_en = <>;
              sensor1_reset = <&pio PA 20 1 0 1 0>;
              sensor1_pwdn = <&pio PA 21 1 0 1 0>;
              sensor1_sm_hs = <>;
              sensor1_sm_vs = <>;
              flash_handle = <>;
              act_handle = <>;
              status    = "okay";
          };
      
          vinc00:vinc@0 {
              vinc0_csi_sel = <0>;
              vinc0_mipi_sel = <0>;
              vinc0_isp_sel = <0>;
              vinc0_isp_tx_ch = <0>;
              vinc0_tdm_rx_sel = <0>;
              vinc0_rear_sensor_sel = <0>;
              vinc0_front_sensor_sel = <0>;
              vinc0_sensor_list = <0>;
              work_mode = <0x0>;
              status = "okay";
          };
      
          vinc01:vinc@1 {
              vinc1_csi_sel = <2>;
              vinc1_mipi_sel = <0xff>;
              vinc1_isp_sel = <1>;
              vinc1_isp_tx_ch = <1>;
              vinc1_tdm_rx_sel = <1>;
              vinc1_rear_sensor_sel = <0>;
              vinc1_front_sensor_sel = <0>;
              vinc1_sensor_list = <0>;
              status = "disabled";
          };
      
          vinc02:vinc@2 {
              vinc2_csi_sel = <2>;
              vinc2_mipi_sel = <0xff>;
              vinc2_isp_sel = <2>;
              vinc2_isp_tx_ch = <2>;
              vinc2_tdm_rx_sel = <2>;
              vinc2_rear_sensor_sel = <0>;
              vinc2_front_sensor_sel = <0>;
              vinc2_sensor_list = <0>;
              status = "disabled";
          };
      
          vinc03:vinc@3 {
              vinc3_csi_sel = <0>;
              vinc3_mipi_sel = <0xff>;
              vinc3_isp_sel = <0>;
              vinc3_isp_tx_ch = <0>;
              vinc3_tdm_rx_sel = <0>;
              vinc3_rear_sensor_sel = <1>;
              vinc3_front_sensor_sel = <1>;
              vinc3_sensor_list = <0>;
              status = "disabled";
          };
          …………
      };
      
      发布在 其它全志芯片讨论区
      Y
      YterAA
    • 回复: 【求助】V853修改编译工具链为glibc,编译打包成功,但是启动失败

      @westonye DRAM错误,可以试试只修改rootfs那部分的编译器,不改boot0的

      发布在 V Series
      Y
      YterAA
    • 回复: d1-h的lcd显示问题

      lcd的dts上面还有一个disp的dts,调整fb大小

      发布在 MR Series
      Y
      YterAA
    • 回复: F1C200S SDK无法下载
      • ls ~/.ssh/ 是否有钥匙对
      • ~/.ssh/ 文件夹下是否存在多个钥匙对,是否选择了正确的钥匙对
      • ssh 是否应用了钥匙对的设置
      • ~/.ssh/ 文件夹的权限是否为 700 (drwx------)
      • 客户服务平台的公钥是否提交并匹配本地密钥
      • 用户名大小写是否一致
      • repo/repo 文件中的用户名是否已经修改
      • 是否使用了google官方的repo引导脚本而不是AW的repo引导脚本
      • 是否使用了apt下载的repo引导脚本而不是AW的repo引导脚本
      • repo init -u 后面的初始化地址是否错误
      发布在 代码下载问题专区
      Y
      YterAA
    • 回复: D1S-F133 SD卡分区怎么扩容

      @qq519472926 第一次慢,因为他需要格式化

      发布在 MR Series
      Y
      YterAA
    • 回复: D1S-F133 SD卡分区怎么扩容

      @qq519472926 但是空间也变大了,还有一种方法是修改overlayfs的分区,或者使用udisk分区作为overlayfs。并修改fstab指定挂载点

      发布在 MR Series
      Y
      YterAA
    • 1
    • 2
    • 3
    • 1 / 3