GPIO速度可以满足,但是Linux调度的实时性不能满足

WhycanService 发布的帖子
-
回复: melis4.0打包出错,找不到dragon
安装开发依赖
sudo apt-get install build-essential subversion git libncurses5-dev zlib1g-dev gawk flex bison quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lsof
安装相关工具
sudo apt-get install android-tools-mkbootimg libpython3-dev
增加架构支持
sudo dpkg --add-architecture i386
sudo apt-get update安装支持包
sudo apt install gcc-multilib
sudo apt install libc6:i386 libstdc++6:i386 lib32z1 -
回复: nbinfo工具在哪下载最新版?
@cruise33 新版本默认使用的是unify驱动,不是现在的vip lite驱动,目前可以暂时使用老版本的相关工具,sdk更新后即可更新
-
回复: 100s 的tina 定时器精度只能到10ms,现在需要用gpio来模拟nec协议的红外发送,大家有什么好的建议吗?
@wyljkl tina有IR模块可以发送接收红外,配置mux直接写数据就行了,不需要io模拟
-
回复: t507 4.9 linux xr829问题
@yuhudnehao 这个问题表示SDIO通讯失败,有这些可能:
- 检查各路电源电压是否正确
- 检测模组的各个reset是否有被正确拉高,wl_reg_on, bt_rst
- 检查32K时钟是否正常
- 检查SDIO各个IO是否有上拉电阻
- 检查SDIO是否进行了扫卡
- 更换芯片或者样机进行测试
-
回复: H313 EPHY ETH0 down 外置PHY rtl8201f ETH1会异常,
在软件中没有做好千兆网和百兆网的同时适配,只单独支持了千兆网
- 使能board.dts 的gmac0和gmac1的配置,即同时配置千兆网和百兆网
gmac0: eth@05020000 { phy-mode = "rgmii"; phy-rst = <&pio PI 6 1 0xffffffff 0xffffffff 0>; status = "okay"; }; gmac1: eth@05030000 { phy-mode = "rmii"; status = "okay"; };
- 使能sun50iw9p1.dtsi 的gmac0和gmac1的配置
gmac0: eth@05020000 { compatible = "allwinner,sunxi-gmac"; reg = <0x0 0x05020000 0x0 0x10000>, <0x0 0x03000030 0x0 0x4>; interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "gmacirq"; clocks = <&clk_gmac0>, <&clk_ephy_25m>; clock-names = "gmac", "ephy"; device_type = "gmac0"; pinctrl-0 = <&gmac_pins_a>; pinctrl-1 = <&gmac_pins_b>; pinctrl-names = "default", "sleep"; phy-mode; tx-delay = <7>; rx-delay = <31>; phy-rst; gmac-power0; gmac-power1; gmac-power2; status = "okay";
compatible = "allwinner,sunxi-gmac"; reg = <0x0 0x05030000 0x0 0x1000>, <0x0 0x03000034 0x0 0x4>; interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "gmacirq"; clocks = <&clk_gmac1>; clock-names = "gmac"; device_type = "gmac1"; pinctrl-0 = <&gmac1_pins_a>; pinctrl-1 = <&gmac1_pins_b>; pinctrl-names = "default", "sleep"; phy-mode; tx-delay = <7>; rx-delay = <31>; phy-rst; gmac-power0; gmac-power1; gmac-power2; status = "okay"; };
- 内核配置
1.打开GMAC 配置:搜索SUNXI_GMAC │ Symbol: SUNXI_GMAC [=y] │ │ Type : tristate │ │ Prompt: Allwinner GMAC support │ │ Location: │ │ -> Device Drivers │ │ -> Network device support (NETDEVICES [=y]) │ │ -> Ethernet driver support (ETHERNET [=y]) │ │ (1) -> Allwinner devices (NET_VENDOR_ALLWINNER [=y]) │ │ Defined at drivers/net/ethernet/allwinner/Kconfig:36 │ │ Depends on: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_ALLWINNER [=y] && ARCH_SUNXI [=y] && OF [=y] │ │ Selects: CRC32 [=y] && MII [=y] && PHYLIB [=y] && MDIO_SUNXI 2.打开外部PHY配置:搜索SUNXI_EXT_PHY │ Symbol: SUNXI_EXT_PHY [=y] │ │ Type : boolean │ │ Prompt: Use extern phy │ │ Location: │ │ -> Device Drivers │ │ -> Network device support (NETDEVICES [=y]) │ │ -> Ethernet driver support (ETHERNET [=y]) │ │ -> Allwinner devices (NET_VENDOR_ALLWINNER [=y]) │ │ (1) -> Allwinner GMAC support (SUNXI_GMAC [=y]) │ │ Defined at drivers/net/ethernet/allwinner/Kconfig:50 │ │ Depends on: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_ALLWINNER [=y] && SUNXI_GMAC [=y] 3.打开内部百兆phy的配置:搜索SUNXI_EPHY │ Symbol: SUNXI_EPHY [=y] │ │ Type : tristate │ │ Prompt: Drivers for Allwinnertech EPHY │ │ Location: │ │ -> Device Drivers │ │ -> Network device support (NETDEVICES [=y]) │ │ (1) -> PHY Device support and infrastructure (PHYLIB [=y]) │ │ Defined at drivers/net/phy/Kconfig:152 │ │ Depends on: NETDEVICES [=y] && PHYLIB [=y] && MFD_ACX00 [=y] 打开ACX00的配置:搜索MFD_ACX00 │ Symbol: MFD_ACX00 [=y] │ │ Type : boolean │ │ Prompt: Support Allwinnertech ACX00 │ │ Location: │ │ -> Device Drivers │ │ (1) -> Multifunction device drivers │ │ Defined at drivers/mfd/Kconfig:21 │ │ Depends on: HAS_IOMEM [=y] && I2C [=y]=y │ │ Selects: MFD_CORE [=y] && REGMAP_I2C [=y] && REGMAP_IRQ [=y] │ │ Selected by: SND_SOC_ACX00 [=n] && SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && ARCH_SUN50IW6 [=n]
-
回复: 求助,T113使用xr829模块wifi可以使用,但是蓝牙的hci0设备没有启动?
@nlj_moon HCI注册到HCI Realtek H5 protocol了吧,kernel把这个关了再看看
-
回复: 小核没有使用工厂固件有输出,使用编译生成的固件没输出
@fzzx2012 检查uart3相关寄存器是否正常,uart3是否被linux io_disable,uart3是否被linux占用,uart3引脚配置是否正常
-
回复: npu yolo5部署
@misay 编译使用的是tina框架的编译,不建议单独写makefile编译(主要是lib头文件引用很麻烦)
可以仿照yolov3的文件夹复制到改名yolov5,然后menuconfig里勾选就行
-
回复: v536 配置qt5 编译报错缺少libEGL.so libGLESv1_CM.so libGLESv2.so
V536 平台 SDK 里的 qt5-core 不是给 V536 用的,这个qt需要 GPU 才能运行,V536没有GPU所以不能使用这个qt运行。
可以参考v853的方式独立编译qt
【V853开发板试用】编译QT测试下
https://bbs.aw-ol.com/topic/1836/share/1 -
回复: V853/V851s 增加 OpenCV, FFmpeg 编译包
@lingzhi12321 以aiohttp为例,参考下列makefile即可
tina-v853\openwrt\package\feeds\lang\python\python-aiohttp
# # Copyright (C) 2019-2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/) # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk PKG_NAME:=aiohttp PKG_VERSION:=3.7.4 PKG_RELEASE:=1 PYPI_NAME:=$(PKG_NAME) PKG_HASH:=5d84ecc73141d0a0d61ece0742bb7ff5751b0657dab8405f899d3ceb104cc7de PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com> PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:aio-libs_project:aiohttp include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk define Package/python3-aiohttp SECTION:=lang CATEGORY:=Languages SUBMENU:=Python TITLE:=Async http client/server framework (asyncio) URL:=https://github.com/aio-libs/aiohttp DEPENDS:= \ +python3-light \ +python3-attrs \ +python3-chardet \ +python3-multidict \ +python3-async-timeout \ +python3-yarl \ +python3-logging \ +python3-codecs \ +python3-cgi \ +python3-openssl \ +python3-typing-extensions endef define Package/python3-aiohttp/description Asynchronous HTTP client/server framework for asyncio and Python3. endef $(eval $(call Py3Package,python3-aiohttp)) $(eval $(call BuildPackage,python3-aiohttp)) $(eval $(call BuildPackage,python3-aiohttp-src))
请注意如果需要matpltlib需要移植完整的xserver到开发板上,会占用大量内存
-
回复: tina uboot i2c驱动
@wjp2547532
需要在 lcd panel 内操作i2c发送,不过一般不建议这样做,一般建议的是用gpio模拟i2c操作,操作完成即释放gpio -
回复: 【分享】D1S新增一款MIPI屏[480*480] ST7701S
static struct LCM_setting_table lcm_initialization_setting[] = { // {0x11, 1, {0x00} }, {REGFLAG_DELAY, 60, {} }, {0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x10} }, {0xc0, 2, {0x3b, 0x00} }, {0xc1, 2, {0x0d, 0x02} }, {0xc2, 2, {0x31, 0x05} }, {0xcd, 1, {0x08} }, {0xb0, 16, {0x00, 0x11, 0x18, 0x0e, 0x11, 0x06, 0x07, 0x08, 0x07, 0x22, 0x04, 0x12, 0x0f, 0xaa, 0x31, 0x18} }, {0xb1, 16, {0x00, 0x11, 0x19, 0x0e, 0x12, 0x07, 0x08, 0x08, 0x08, 0x22, 0x04, 0x11, 0x11, 0xa9, 0x32, 0x18} }, {0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x11} }, {0xb0, 1, {0x60} }, {0xb1, 1, {0x32} }, {0xb2, 1, {0x07} }, {0xb3, 1, {0x80} }, {0xb5, 1, {0x49} }, {0xb7, 1, {0x85} }, {0xb8, 1, {0x21} }, // {0xb9, 1, {0x10} }, {0xc1, 1, {0x78} }, {0xc2, 1, {0x78} }, {REGFLAG_DELAY, 50, {} }, {0x21, 1, {0x00} }, // {0xd0, 1, {0x88} }, {0xe0, 3, {0x00, 0x1b, 0x02} }, {0xe1, 11, {0x08, 0xa0, 0x00, 0x00, 0x07, 0xa0, 0x00, 0x00, 0x00, 0x44, 0x44} }, {0xe2, 12, {0x11, 0x11, 0x44, 0x44, 0xed, 0xa0, 0x00, 0x00, 0xec, 0xa0, 0x00, 0x00} }, {0xe3, 4, {0x00, 0x00, 0x11, 0x11} }, {0xe4, 2, {0x44, 0x44} }, {0xe5, 16, {0x0a, 0xe9, 0xd8, 0xa0, 0x0c, 0xeb, 0xd8, 0xa0, 0x0e, 0xed, 0xd8, 0xa0, 0x10, 0xef, 0xd8, 0xa0} }, {0xe6, 4, {0x00, 0x00, 0x11, 0x11} }, {0xe7, 2, {0x44, 0x44} }, {0xe8, 16, {0x09, 0xe8, 0xd8, 0xa0, 0x0b, 0xea, 0xd8, 0xa0, 0x0d, 0xec, 0xd8, 0xa0, 0x0f, 0xee, 0xd8, 0xa0} }, {0xeb, 7, {0x02, 0x00, 0xe4, 0xe4, 0x88, 0x00, 0x40} }, {0xec, 2, {0x3c, 0x00} }, {0xed, 16, {0xab, 0x89, 0x76, 0x54, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x45, 0x67, 0x98, 0xba} }, {0x36, 1, {0x00} }, {0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x13} }, {0xe5, 1, {0xe4} }, {0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x00} }, {0x3a, 2, {0x66, 0x21} }, {REGFLAG_DELAY, 50, {} }, {0x11, 1, {0x00} }, {REGFLAG_DELAY, 120, {} }, {0x29, 1, {0x00} }, {REGFLAG_END_OF_TABLE, 0x00, {} } };
-
回复: npu yolo5部署
- 输入是tensor,需要符合yolov5的input tensor格式
- vpm_run是一个npu运行器,输入nb模型与input tensor他会输出npu推理的数据,输出的也是tensor,图像文件需要进行前处理转换成yolov5支持的tensor输入进去,后处理则是解析输出tensor后进行nms输出推理的数据
-
回复: T507的XR829加载时候出现如下错误
@yuhudnehao 在打包时候会打包进img,这个文件是配置文件,是原厂提供的,检查一下路径对不对
-
回复: V853 可以打实时补丁吗
v系列原厂没有rt-linux的补丁,v853的实时性操作可以做到e907核心内,运行rtos,amp访问
V85x E907 小核开发与使用
https://bbs.aw-ol.com/topic/3017/share/1 -
回复: A133 Andriod SDK的内核配置文件
@kelsey 在 A133 Andriod SDK的内核配置文件 中说:
@xiaowenge 晓得了,大佬们,话说还有个小问题呀,就是kernel,uboot,rootfs,安卓,这些配置文件都是保存在哪里的呢?
device文件夹里
-
回复: YuzuKi X 100ask V851s使用的rtsp传输实时预览摄像头数据
@sergpenshin SDK is updated, and this command is deprecated. try to use this stand alone package for build https://github.com/YuzukiHD/Yuzukilizard/tree/master/Software/sunxi-mpp
-
回复: 有没有大佬研究过SDK的GPIO机制
GPIO使用的是linux的pinctrl子系统,具体如下
https://v853.docs.aw-ol.com/soft/dev_gpio/如果需要裸机驱动,可以参考RTOS的HAL驱动
https://github.com/YuzukiHD/Yuzukilizard/tree/master/Software/BSP/e907_rtos/rtos-hal/hal/source/gpio -
回复: 各位大佬,安装 onnxsim 工具,简化yolo v5模型时报错。
@cavert121 onnxsim更新后操作方法有所变动,可以用python代码调用
import onnxsim model = onnx.load(filepath) model_simp, check = onnxsim.simplify(param) onnx.save(model_simp, filepath)
其中
onnxsim.simplify(param)
的param
请参考onnxsim文档 -
回复: camera driver not loading automatically
remember copy file and chmod to a+x within Yuzukilizard repo, git will change file permissions.
try to use:
chmod -R 777 openwrt/target/v851s
-
回复: 【FAQ】全志V853芯片 Tina下RTSP环境搭建方法
@igbt70 客户服务平台的sdk需要自己增加mpp平台软件包,可以用已经打好的docker镜像代替:
docker pull gloomyghost/yuzukilizard
企业用户的 SDK 默认已经有这个包了,如果没有联系FAE或者代理获取扩展包
-
回复: sample_virvi2vo图像整体发红,并且在改为1280*800全屏显示时,左右下角有圆角黑区。
感觉是摄像头硬件有点问题,试试切换到另外一个摄像头看看是否正常
-
回复: T507的LINUX下的多屏显示,DISP2_SUNXI_MUTI_SCREEN
@embfly 官方支持可以联系FAE或者代理支持,社区支持不时会有工程师巡场,而且有各位大佬的挖坑踩坑,可以多在论坛问问相关问题
-
回复: T507的LINUX下的多屏显示,DISP2_SUNXI_MUTI_SCREEN
@embfly
CameraUI可以参考这个 FAQ,不过这个例程较老目前不清楚是否有新版本 -
回复: T507的LINUX下的多屏显示,DISP2_SUNXI_MUTI_SCREEN
@embfly 考虑是否超内存了,可以尝试之前多申请些内存,或者尝试增加CMA内存大小再试试
-
回复: T507的LINUX下的多屏显示,DISP2_SUNXI_MUTI_SCREEN
- 补丁也有可能不适配SDK,具体的实现也需要看看,不过方法都是一个方法
- 目前 DE 仅支持双屏异显,最多两个fb节点。
-
回复: T507的LINUX下的多屏显示,DISP2_SUNXI_MUTI_SCREEN
- 可以单独接LVDS
- DISP2_SUNXI_MUTI_SCREEN 的配置在不同SDK实现不太一样,两个方法都可以
-
回复: T507的LINUX下的多屏显示,DISP2_SUNXI_MUTI_SCREEN
可以配置两个fb分别对应两个屏幕,即fb0对应screen0,fb1对应screen1,这样直接操作fb0,fb1即可
如LVDS+HDMI方式
-
将fb1绑定到第二个屏幕,打一下这几个补丁
patch.zip -
dts里配置一下
例如:
disp: disp@01000000 { disp_init_enable = <1>; disp_mode = <0>; ... 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 = <0>; screen1_output_range = <0>; screen1_output_scan = <0>; screen1_output_aspect_ratio = <8>; ... fb1_format = <0>; fb1_width = <1920>; fb1_height = <1080>; chn_cfg_mode = <1>; ... };
-
-
回复: v851s 在 eyesee-mpp 中添加一个hello_world sample 的流程
@cavert121
有没有看README编译?- 为什么你的路径在sample里?应该在顶目录里cmake
- 没有配置交叉编译工具链,readme里写了
- 没有make,只生成了构建文件
正常输出:
也能找到bin
-
回复: 如何在.c等文件中添加中文注释?
可以百度上搜一下Ubuntu安装中文输入法的教程,这个是属于Linux的基本使用方法教程很多的。另外考虑到编码问题不建议使用中文注释
-
回复: D1-H可以做到4k录像吗
@godzhou0909 usb2.0走不通,mjpeg都不行,2.0最大1920*1080@60,需要4K录像和HDMI输出可以用V536-H
-
回复: R528-S3 内核崩溃__invoke_psci_fn_smc
@hqembed 在 R528-S3 内核崩溃__invoke_psci_fn_smc 中说:
__invoke_psci_fn_smc
看上去是optee那边的锅,psci是启smp的,对不上optee就会导致tee异常处理
先跳过 OPTEE ,在 device/config/chips/r528/configs/xxx/ 新建一个 boot_package.cfg写入以下内容
[package] item=u-boot, u-boot.fex item=dtb, sunxi.fex
然后找到
lichee/linux-5.4/arch/arm/boot/dts/sun8iw20p1.dtsi
中的 psci 节点把他删了psci { compatible = "arm,psci-1.0"; method = "smc"; };
在
lichee/linux-5.4/arch/arm/mach-sunxi/platsmp.c
加一下static int sun8i_t113_smp_boot_secondary(unsigned int cpu, struct task_struct *idle) { u32 reg; void __iomem *cpucfg_membase = ioremap(0x09010000, 0x10); void __iomem *cpuexec_membase[] = {ioremap(0x070005C4, 0x10),ioremap(0x070005C8, 0x10)}; if (cpu != 1) return 0; spin_lock(&cpu_lock); writel(__pa_symbol(secondary_startup), cpuexec_membase[cpu]); reg = readl(cpucfg_membase); writel(reg | BIT(cpu), cpucfg_membase); spin_unlock(&cpu_lock); return 0; } static const struct smp_operations sun8i_t113_smp_ops __initconst = { .smp_boot_secondary = sun8i_t113_smp_boot_secondary, }; CPU_METHOD_OF_DECLARE(sun8i_t113_smp, "allwinner,sun8iw20p1", &sun8i_t113_smp_ops);
-
回复: 新人小白报到,各位大神,tina linux挂载失败怎么办?
@cavert121 无视挂载失败,那个只是重复挂载的警告,其实已经挂上了,menuconfig不在开发版运行,在电脑搭建sdk环境运行