@bleem1998 Linux那边使用内存映射读取的吗?内存共享需要限制不能通过cache访问,对应映射使用ioremap_nocache,直接volatile只是表示每次操作都访问硬件,不会被优化,这个硬件没有说不能是cache。
jasonzhang 发布的帖子
-
回复: T536 大小核共享内存,有没有简单的Demo?
-
回复: swupdate能更新kernel,但是不能更新rootfs
这种更新方式是在嵌入式Linux执行的时候更新本身,u-boot和kernel已经被加载到DRAM中了,所以可以更新flash中的文件;rootfs本身还在flash中,也就是还在运行中,当然不可能更新自己,这个一般用来SD卡更新emmc,或者反过来的。
不过也不是没有办法,就是系统内部有双rootfs,其中一个rootfs专门用来升级,另一个是用来运行rootfs;升级时先跳转到升级区域的系统,用那个系统执行升级命令,就能够更新rootfs了,升级完成后切换回来重启就可以。
-
回复: T113i uboot阶段通过串口发送数据
@gadyellow 去参考awboot里面关于uart初始化的代码,配置没细看,至少缺少Uart引脚初始化,UART时钟使能和复位释放操作。
awboot的源码可以参考: https://github.com/szemzoa/awboot
-
回复: sunxi-fel对T113-S4 适配问题
@laizh950 参考这个帖子,https://whycan.com/t_11338.html
里面包含T113-s4的全套资料。 -
回复: Tina5.0 T113 编写makefile 编译驱动模块,都是提示不对,各位大请指教一下
@daming123 KERNELDIR出错,不是kernel源码地址,而是kernel编译后的目录地址。大致目录为
KERNELDIR := $(TINA_SDK_ROOT)/out/kernel/build
-
回复: qt5下怎么调用摄像头?
查询capability中的判断条件写的不正确,应该是
if (cap.capabilities & V4L2_CAP_VIDEO_CAPTURE ) {
//.....
}
他写成了V4L2_BUF_CAP_VIDEO_CAPTURE,那个是fmtdesc的类型。 -
回复: T113-S3 R_CCU单元的疑惑
@sky_rain ccu有另一个设备节点的,是给系统以及大部分模块提供时钟的,文档里面有说明。这个r_ccu是给非掉电区域控制(靠电池供电)独立提供时钟管理的,主要包含PDU,RTC等模块。我看了下,手册里没有单独说明,只是在RTC模块3.16.2 Block Diagram里面有讲到这个时钟,寄存器是没有说明。全志文档本身就不完善,这部分应该遗漏了。
-
回复: 求问:V851SE Tinyvision 修改为SPI NAND flash 没有root登录
@jaying 在 求问:V851SE Tinyvision 修改为SPI NAND flash 没有root登录 中说:
Kernel command line:"root=/dev/mmcblk0p4 rootwait init=/init partitions=boot-res@mmcblk0p1:env@mmcblk0p2:boot@mmcblk0p3:rootfs@mmcblk0p4:rootfs_data@mmcblk0p5:UDISK@mmcblk0p6"
Waiting for root device /dev/mmcblk0p4问题出在上面,bootargs指向的地址还是rootfs根目录还是emmc地址,而你硬件不存在mmcblk0p4,导致一直在等待;需要改成nand对应的文件系统。
你可以在u-boot直接修改bootcmd,将其中的setargs_mmc替换为setargs_nand,sync后重启。如果是SDK里,就修改你选择的板级下的env.cfg文件(不确定具体目录,自己找下,在device目录下),再进行测试。
-
回复: T113替换uboot工具链后编译失败
@t_00_t uboot的编译工具倒是可以替换。
spl-pub的没法替换,因为里面大部分的代码是以静态库的形式显示的,你这里链接的是brandy/brandy-2.0/board/a50/libsun8iw15p1_sboot.a,里面的*.a就是静态库,这个就限制了spl-pub编译的工具必须和静态库一致,不然链接会出错;你想支持带硬件浮点的,只能找原厂要带浮点的库替换。
-
回复: T507 PWM互补输出
@yozad d 设备树里面定义u32的数据格式时 key = <value>;
按照要求应该是
bind_pwm = <2>;
dead_time = <1000>;
你的写法不正确。 -
回复: Tina5 编译自带的QT包 编译不过去
@z2500abc 用的不是Tina5库验证过的Ubuntu版本吧,用的最新的Ubuntu是会有编译问题,你需要列出来错误项,才好给你发现问题分析。
-
回复: node.js设置求助!!!
@xdxxue 我自己测试了下,应该是buildroot版本编译对应的编译工具版本过低,导致和官网上的node文件二进制兼容有问题,通过“/bin/bash node"会报强制错误,我目前相到的办法是使用buildroot系统中的nodejs,在Target Package > Interpreter languages and scripting > nodejs选项,就是版本低一些,测试功能是可以的。
当然也可以替换到tina中buildroot的编译工具,更换最新的arm编译工具,这样node应该能直接运行的(我测试过gcc11.2,是可以的)。 -
回复: node.js设置求助!!!
@xdxxue 看了下,文件名中所属组和所属用户是mosquitto和docker,确保你本地存在这两个组和用户,如果不存在,尝试执行"chown root:root node",或者之前解压的时候,使用root模式解压,避免这个问题。
-
回复: v821介绍里面的32倍缩放是怎么实现的?
@quanzhi111
全志的芯片大部分标配G2D模块,其中一项功能支持硬件的1/16和1/32采样缩放。其实缩放软件实现也很简单,1/16缩放就是行和列分别1/4读取数据,行从0开始,满4取像素点,列从0开始,满4选行数,是图形处理最基本的方法。
-
回复: tiny version 编译遇到问题
@lee2333 在WSL-Ubuntu下编译的?这边显示的Files目录在env里面,find执行有安全风险,所以被禁止了。
可以考虑在windows环境变量里删除这个路径,或者修改$PATH,把这个路径移除 -
回复: 全志t113交叉编译移植ffmpeg报错
@xiaomifeng 你的执行嵌入式环境ubuntu系统,不是buildroot这类,你可以用低于嵌入式ubuntu版本上glibc对应的标准arm-none-linux-gnueabihf-gcc,这个可以使用"https://mirrors.tuna.tsinghua.edu.cn/armbian-releases/_toolchain/“,去下个低版本的安装就可以(低于嵌入式ubuntu上的arm-gcc)。
-
回复: 全志t113交叉编译移植ffmpeg报错
@xiaomifeng Exec format error感觉像加载库时不是arm对应版本,首先你确定能找到这些库,能找到后,使用file libswscale.so.8.6.100类似命令,看库的类型是什么?正确的应该类似如下:
libswscale.so.8.6.100: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, for GNU/Linux 3.17.0, stripped
不正确的话,可能是编译的时候会正确的设置--cross-prefix=arm-none-linux-gnueabihf-指定编译工具。 -
回复: T3Pro浮点运算
@swallow 浮点运算单元指的是支持硬件浮点,这个和你使用的编译工具有关,如果你使用的arm-none-linux-gnueabihf(也就是带hf后缀的,hard-float),如果程序能够正确执行的,就表示使用了正确的浮点运算单元,不需要开关的步骤。
-
回复: 新 SDK 平台下载 D1-H/D1s SDK
@bian196 可以,使用过全志的T113和rk3562,再wsl-ubuntu22.04平台下可以编译,下载运行,就是编译会有一些错误,需要搜索或者自行解决,不然还是使用供应商教程对应版本。
-
回复: interfaces 文件添加 dns
@qql_6699 通用方案就是添加到/etc/resolv.conf里面,或者你切换到systemd系统测试下,buildroot里面也支持的。检索busybox可以修改。
-
回复: interfaces 文件添加 dns
@qql_6699 去看了busybox中的ifup实现,最终执行代码是这个字段
里面并没有解析dns-namesevers的配置,如果你使用buildroot或者openwrt,这个字段应该没有用。这可能是systemd的实现(一般debian类系统Ubuntu,armbian)的支持,busybox中的命令未做支持。
-
回复: interfaces 文件添加 dns
@qql_6699 /etc/network/interfaces和/etc/resolv.conf是独立配置文件,正常逻辑类似ping,socket发起网址请求时,会优先选择里面的dns-nameservers的dns定义去解析,如果不成功,再去检索/etc/resolv.conf里面的信息。你现在需要确认的时dns-nameservers是否设置成功。
另外/etc/network/interfaces是在执行/sbin/ifup -a里面解析调用,源码可以看busybox/networking/ifupdown.c,相关源码内部没有修改/etc/resolv.conf文件,如果你想修改,自己单独修改/etc/resolv.conf。
-
回复: Tina镜像打包分区状态的异常(根文件系统占用满了???)
@qzzx_dhh 对于tina,这个目录一般在device/config/chips/[所属芯片]/configs/[所属board]/[文件系统]/sys_partitions.fex;
我用的创龙的t113-evm, 修改目录是device/config/chips/t113_i/configs/tlt113-evm-nand/buildroot;按照自己的实际情况修改 -
回复: T113-i评估板上和T113-i开发板上交叉编译链不通用吗
@gegegeda 说法太宽泛,不能用的原因是什么,C库版本缺少接口,缺失动态库,还是直接执行报core segment异常,一句话不能使用,没法继续分析。
-
回复: T113 S3编译报ERROR: CONFIG_PACKAGE_libpthread
@jh008 里面提到目录了,去prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain目录看有没有这个目录,或者去上几级看看,哪一层缺失了
-
回复: T113 S3编译报ERROR: CONFIG_PACKAGE_libpthread
内容在你的logger里面,需要额外的编译工具,你看下是不是缺少了还是目录不对。
-
回复: T113S3改完调试串口问题
@z2500abc 串口能打印完整,表示内核中打印串口是正常的,ADB shell能连接,表示文件系统也启动了;那么大概率是你文件系统调试串口没有改,需要在/etc/inittab中将输出串口改成你当前的串口,例如这个
ttyS3::respawn:/sbin/getty -L ttyS3 0 vt100 # GENERIC_SERIAL -
回复: 海康威视usb的相机连接到T113-i可以实现视频开发吗
@gegegeda 不一定需要网口,不过你要确认两点
- 这款USB的相机是否免驱
- USB相机本身是否带私有适配协议,还是单独的USB摄像头
免驱,不带协议的摄像头的话,直接插入USB,会生成/dev/videoX,使用v4l2或者opencv库处理就可以了,如果有私有适配协议,去摄像头厂商那边申请驱动和应用demo,这个他们应该要给的。
-
回复: 全志T113 spi回环测试失败
@freeor r 如果用的t113-i的芯片,需要改的是内核设备树,将board.dts里面的uart1节点注释掉,uart节点使用了uart1_pins_a,里面使用了PB8, PB9,和spi的节点接口冲突了。
-
回复: t113i 怎么只烧写uboot到SD卡,从SD卡启动
@tigers 使用官方的Tina库不可行,因此官方SDK的启动步骤为brandy spl => u-boot => kernel => rootfs, 没有spl加载到内部ram初始化sdram, u-boot无法加载的,后续流程不可行。可以采用第三方方案,awboot=>kernel=>rootfs, awboot在github有开源。
-
回复: 单独编译linux-5.4 提示没有规则制作目标 arch/arm/boot/dts/board.dtb
@tigers 在arch/arm/boot/dts/目录下缺少board.dts,所以无法编译,原因是使用build.sh kernel编译时,有一个步骤是把device/config/chips/[对应芯片]/下的board.dts拷贝到arch/arm/boot/dts目录下,你希望单独编译的话,写个脚本或者自己手动拷贝board.dts到arch/arm/boot/dts中
-
回复: T113-s3 配置内核第二阶段卡死
@yuqingli 可以测试下bootargs中添加“rootwait”,这个命令可以要求等待emmc存储初始化成功后才去挂载,我用其它家的芯片,默认信息是有这个的