tag 标签: rk3506

相关博文
  • 2025-4-25 13:55
    0 个评论
    Qt是基于C++ 的跨平台开源应用程序开发框架,专注于图形用户界面和非GUI程序的构建。它提供丰富的GUI控件库和高级功能模块(如网络通信、数据库访问、多媒体处理),并采用独特的信号与槽机制实现高效组件通信。支持OpenGL、Vulkan等图形接口,以及针对嵌入式系统的EGLFS无窗口模式和LinuxFB帧缓冲等,开发者可根据目标平台选择灵活的渲染策略。 本文基于触觉智能RK3506星闪开发板Ubuntu系统进行演示,配套RK3506核心板(3核A7@1.5GHz+M0@200MHz多核异构) 宽温级59元/ 工 业级68元 ,一片也是含税批量价。 Ubuntu SDK安装与环境搭建 SDK安装 网盘下载路径:Linux4.软件资料QT-SDK/Ubuntu 资料链接请进入触觉智能官网,或联系客服13423856106获取。 注意: 1. QT-SDK 采用交叉编译,所以要在 X86_64 电脑上使用 SDK,不要将 SDK 下载到板子上。 2. 编译环境请使用 Ubuntu22.04(真机或 docker 容器),如果使用其他版本可能导致编译出错。 3. 不要在虚拟机共享文件夹以及非英文目录存放、解压QT-SDK。 下载SDK后,首先校验MD5值,命令如下: $ md5sum rk3506-ubuntu22_qt5-sdk.tar.gz 解压QT-SDK,命令如下: $ sudo tar -zxvf rk3506-ubuntu22_qt5-sdk.tar.gz -C ./ 交叉编译环境搭建 进入qt sdk目录下,执行install_sdk.sh脚本,进行安装和搭建交叉编译环境,具体如下: $ cd ./rk3506-ubuntu22_qt5-sdk $ sudo ./install_sdk.sh $ ./env.sh $ source ~/.bashrc 搭建环境后,查看qmake版本和交叉编译工具链版本: $ arm-none-linux-gnueabihf-gcc -v Using built-in specs. COLLECT_GCC =arm-none-linux-gnueabihf-gcc COLLECT_LTO_WRAPPER =/ home /industio/ evb3506 /arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/ bin /../ libexec /gcc/ arm - none - linux - gnueabihf /11.3.1/ lto - wrapper Target: arm-none-linux-gnueabihf Configured with: /data/jenkins/workspace/GNU-toolchain/arm-11/src/gcc/configure --target=arm-none-linux-gnueabihf --prefix= --with-sysroot=/arm-none-linux-gnueabihf/libc --with-build-sysroot=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/install//arm-none-linux-gnueabihf/libc --with-bugurl=https://bugs.linaro.org/ --enable-gnu-indirect-function --enable-shared --disable-libssp --disable-libmudflap --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-mpfr=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-mpc=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-isl=/data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-arch=armv7-a --with-fpu=neon --with-float=hard --with-mode=thumb --with-arch=armv7-a --with-pkgversion= 'Arm GNU Toolchain 11.3.Rel1' Thread mod el: posix Supported LTO compression algorithms: zlib gcc version 11 . 3 . 1 20220712 (Arm GNU Toolchain 11 . 3 .Rel1) $ qmake -v QMake version 3 . 1 Using Qt version 5.15.8 in /opt/rk3506/rk3506_ubuntu22_5.15/ext/lib 注意:根据安装路径的不同,导致qmake和arm-none-linux-gnueabihf-gcc的路径也是不同的。 Qt交叉编译 Qt源码demo 将Qt demo 解压到当前路径下,命令如下: $ mkdir -p ./qt-demo tar -xvf moveblocks.tar.gz -C ./qt-demo $ cd qt-demo $ ls main .cpp moveblocks .pro 交叉编译 命令如下: $ qmake ./ $ make $ make install $ ls main .cpp Makefile moveblocks moveblocks .pro 由此可见编译后生成moveblocks可执行程序,可以通过ssh等方式将可执行程序传到开发板中运行。 Qt验证 将demo传到开发板上,命令如下: $ adb push Z:\moveblocks /tmp 运行demo,命令如下: $ chmod a+x /tmp/moveblocks $ /tmp/moveblocks 结果展示:
  • 2025-4-25 12:11
    0 个评论
    LVGL是一个免费的轻量级开源图形库。具有丰富部件与高级图形特性,支持多种输入设备和多国语言,独立于硬件之外的开源图形库。LVGL的配置主要区别在于渲染后端的选择,目前可选DRM直接送显以及通过SDL送显。目前RK3506平台可支持SDL送显。 本文基于触觉智能RK3506星闪开发板进行演示,配套RK3506核心板(3核A7@1.5GHz+M0@200MHz多核异构) 含税价5 9元 ,一片也是批量价~~ 配置LVGL Buildroot配置 基础配置保存路径: $sdk/buildroot/configs/rockchip_rk3506_defconfig # Buildroot相关配置 #include "base/base.config" #include "chips/rk3506_arm.config" #include "fs/vfat.config" #include "wifibt/bt.config" #include "wifibt/wireless.config" #include "multimedia/audio.config" #include "wifibt/bt.config" #include "wifibt/wireless.config" #include "lvgl/lvgl_rkadk.config" #include "lvgl/rk_demo.config" #include "fs/ntfs.config" ... LVGL配置 基础配置保存路径: $sdk/buildroot/configs/rockchip/lvgl/v8 $ ls buildroot/configs/rockchip/lvgl/v8 base.config lvgl_drm.config lvgl_rkadk.config lvgl_sdl.config LVGL DEMO 源码⽬录结构 源码路径:SDK/app/lvgl_demo/ $ tree -L 1 . #i ├── amp_monitor ├── cJSON# cJSON源码 ├── CMakeLists.txt ├── common ├── flexbus ├── gallery ├── lv_demo# 基础示例程序,运行官方DEMO ├── lvgl8# 默认使用lvgl8 ├── lvgl9 ├── motor_demo ├── rk_demo# RK显控DEMO,包含智能家居、家电显控、楼宇对讲、系统设置等DEMO ├── sys# 时间戳,trace debug等 └── tools rk_demo代码说明 源码路径:SDK/app/lvgl_demo/rk_demo 主要作为一个示例程序,演示如何将官方的DEMO运行起来。以下说明略过一些无关的代码,仅挑选需要关注的代码进行说明。 static void lvgl_init(void) { /* 一切LVGL应用的开始 */ lv_port_init(); ... check_scr(); } ... int main(int argc, char **argv) { signal(SIGINT, sigterm_handler); struct sched_param param; int max_priority; max_priority = sched_get_priority_max(SCHED_FIFO); param.sched_priority = max_priority; if (sched_setscheduler(0, SCHED_FIFO, param) == -1) { perror("sched_setscheduler failed"); } /* 根据配置选择对应的DEMO初始化,绘制对应UI */ #if ROCKIT_EN RK_MPI_SYS_Init(); #endif #if WIFIBT_EN run_wifibt_server(); #endif lvgl_init(); app_init(); rk_demo_init(); while (!quit) { /* 调用LVGL任务处理函数,LVGL所有的事件、绘制、送显等都在该接口内完成 */ lv_task_handler(); usleep(100); } #if ROCKIT_EN RK_MPI_SYS_Exit(); #endif return 0; } 源码编译说明 修改源码后,重新编译之前删除之前的的lvgl_demo: $ rm -rf SDK/buildroot/output/rockchip_rk3506/build/lvgl_demo/ -rf 重新编译buildroot: $ ./build.sh buildroot DEMO编译说明 触觉智能RK3506资料网盘中有提供的lvgl的demo,以下是编译方法以及demo运行方法。 解压 命令如下: $ mkdir demo $ unzip lvgl_demo.zip -d demo/ $ cd demo/lvgl_demo 修改与编译 修改交叉编译工具链: $ cat Makefile # # Makefile # #CC ?= gcc CC = /home/rk3506/rk3506_linux-250211/rk3506_linux6.1/buildroot/output/rockchip_rk3506/host/bin/arm-buildroot-linux-gnueabihf-gcc LVGL_DIR_NAME ?= lvgl LVGL_DIR ?= ${shell pwd} CFLAGS ?= -O3 -g0 -I$(LVGL_DIR)/ -Wall -Wshadow -Wundef -Wmissing-prototypes -Wno-discarded-qualifiers -Wall -Wextra -Wno-unused-function -Wno-error=strict-prototypes -Wpointer-arith -fno-strict-aliasing -Wno-error=cpp -Wuninitialized -Wmaybe-uninitialized -Wno-unused-parameter -Wno-missing-field-initializers -Wtype-limits -Wsizeof-pointer-memaccess -Wno-format-nonliteral -Wno-cast-qual -Wunreachable-code -Wno-switch-default -Wreturn-type -Wmultichar -Wformat-security -Wno-ignored-qualifiers -Wno-error=pedantic -Wno-sign-compare -Wno-error=missing-prototypes -Wdouble-promotion -Wclobbered -Wdeprecated -Wempty-body -Wtype-limits -Wshift-negative-value -Wstack-usage=2048 -Wno-unused-value -Wno-unused-parameter -Wno-missing-field-initializers -Wuninitialized -Wmaybe-uninitialized -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wtype-limits -Wsizeof-pointer-memaccess -Wno-format-nonliteral -Wpointer-arith -Wno-cast-qual -Wmissing-prototypes -Wunreachable-code -Wno-switch-default -Wreturn-type -Wmultichar -Wno-discarded-qualifiers -Wformat-security -Wno-ignored-qualifiers -Wno-sign-compare LDFLAGS ?= -lm BIN = demo #Collect the files to compile MAINSRC = ./main.c include $(LVGL_DIR)/lvgl/lvgl.mk include $(LVGL_DIR)/lv_drivers/lv_drivers.mk #CSRCS +=$(LVGL_DIR)/mouse_cursor_icon.c OBJEXT ?= .o AOBJS = $(ASRCS:.S=$(OBJEXT)) COBJS = $(CSRCS:.c=$(OBJEXT)) MAINOBJ = $(MAINSRC:.c=$(OBJEXT)) SRCS = $(ASRCS) $(CSRCS) $(MAINSRC) OBJS = $(AOBJS) $(COBJS) ## MAINOBJ - OBJFILES all: default %.o: %.c @$(CC) $(CFLAGS) -c $ -o $@ @echo "CC $" default: $(AOBJS) $(COBJS) $(MAINOBJ) $(CC) -o $(BIN) $(MAINOBJ) $(AOBJS) $(COBJS) $(LDFLAGS) clean: rm -f $(BIN) $(AOBJS) $(COBJS) $(MAINOBJ) 修改DEMO,如图所示,在main.c中将demo中显示的分辨率设置成与屏幕分辨率对应: 编译(注意:交叉编译工具链路径根据实际情况进行更改。): $ make 最后将编译出的demo 通过adb push到开发板上。 C:\Users\industio_mhkadb push Z:\rk\rk3506\rk3506_linux-250211\rk3506_linux6.1\app\test\demo\lvgl_demo\demo / Z:\rk\rk3506\rk3506_linux-250211\rk3506_linux6.1\app\test\...ile pushed, 0 skipped. 24.4 MB/s (1127184 bytes in 0.044s) root@rk3506-buildroot:/# chmod a+x /demo root@rk3506-buildroot:/# /demo
  • 2025-4-25 12:09
    0 个评论
    在工业自动化、机械臂控制等高实时性场景中,系统响应速度与稳定性直接决定设备效能。 触觉智能RK3506核心板 基于瑞芯微三核Cortex-A7架构深度优化,搭载Linux 6.1内核并支持Linux-RT实时系统,以59元工业宽温特价开售,提供媲美千元级产品的工业级实时性能的高性价比解决方案。 RK3506与RT-Linux结合特性 多核异构架构 + Linux-RT,硬核实时性能 RK3506采用三核Cortex-A7(1.5GHz)+ Cortex-M0多核异构设计,通过AMP多核调度策略实现任务分级处理。Linux-RT主控核+M0实时核主控核负责运行Linux 6.1内核,并集成Preempt-RT实时补丁,处理复杂逻辑与多任务调度, 触觉智能EVB3506开发板已成功适配RT-Linux ,测试数据如下: 空载测试 (PREEMPT_RT Patch) root@rk3506-buildroot:/# cyclictest -m -a -p 99 -t 3 -i 1000 -D 2h # /dev/cpu_dma_latency set to 0us policy: fifo: loadavg: 1.72 1.60 1.48 2/127 4000 T: 0 ( 502) P:99 I:1000 C:7199993 Min: 0 Act: 0 Avg: 1 Max: 14 T: 1 ( 503) P:99 I:1500 C:4799988 Min: 0 Act: 1 Avg: 1 Max: 19 T: 2 ( 504) P:99 I:2000 C:3599985 Min: 0 Act: 2 Avg: 1 Max: 26 (测试2小时) (Xenomai Cobalt Mode) root@rk3506-buildroot:/# cyclictest -m -a -p 99 -t 3 -i 1000 -D 2h WARN: stat /dev/cpu_dma_latency failed: No such file or directory policy: fifo: loadavg: 0.56 0.31 0.21 1/95 2088 T: 0 ( 2356) P:99 I:1000 C:7199998 Min: 4 Act: 4 Avg: 7 Max: 46 T: 1 ( 2357) P:99 I:1500 C:4799998 Min: 4 Act: 12 Avg: 7 Max: 46 T: 2 ( 2358) P:99 I:2000 C:3599997 Min: 3 Act: 5 Avg: 9 Max: 55 (测试2小时) 压力测试 stress-ng -c 3 --io 2 --vm 1 --vm-bytes 4M --timeout 1000000s (PREEMPT_RT Patch) root@rk3506-buildroot:/# cyclictest -m -a -p 99 -t 3 -i 1000 -D 2h # /dev/cpu_dma_latency set to 0us policy: fifo: loadavg: 8.49 7.88 7.76 7/137 1083 T: 0 ( 1537) P:99 I:1000 C:7199996 Min: 0 Act: 5 Avg: 4 Max: 71 T: 1 ( 1538) P:99 I:1500 C:4799976 Min: 0 Act: 5 Avg: 4 Max: 115 T: 2 ( 1540) P:99 I:2000 C:3599957 Min: 0 Act: 4 Avg: 4 Max: 129 (测试2小时) (Xenomai Cobalt Mode) root@rk3506-buildroot:/# cyclictest -m -a -p 99 -t 3 -i 1000 -D 2h WARN: stat /dev/cpu_dma_latency failed: No such file or directory policy: fifo: loadavg: 6.87 6.82 6.72 7/104 1531 T: 0 ( 1919) P:99 I:1000 C:7199991 Min: 4 Act: 20 Avg: 26 Max: 124 T: 1 ( 1920) P:99 I:1500 C:4799993 Min: 4 Act: 21 Avg: 28 Max: 155 T: 2 ( 1921) P:99 I:2000 C:3599987 Min: 5 Act: 16 Avg: 28 Max: 133 (测试2小时) 隔离核心测试(隔离CPU1,并在另外两个核心加上压力) stress-ng -c 3 --io 2 --vm 1 --vm-bytes 4M --timeout 1000000s (PREEMPT_RT Patch) root@rk3506-buildroot:/# cyclictest -m -a 1 -p 99 -t 1 -i 1000r --mainaffinity=0 -D 2h # /dev/cpu_dma_latency set to 0us policy: fifo: loadavg: 7.19 7.17 7.22 7/137 648 T: 0 ( 1117) P:99 I:1000 C:7199996 Min: 0 Act: 2 Avg: 3 Max: 62 (测试2小时) (Xenomai Cobalt Mode) root@rk3506-buildroot:/# cyclictest -m -a 1 -p 99 -t 1 -i 1000 -D 2h WARN: stat /dev/cpu_dma_latency failed: No such file or directory policy: fifo: loadavg: 6.53 6.52 6.57 8/101 1115 T: 0 ( 1503) P:99 I:1000 C:7199992 Min: 4 Act: 15 Avg: 16 Max: 68 (测试2小时) 工业级Linux-RT系统优化 内核级实时保障:基于Preempt-RT补丁重构任务抢占机制,支持线程优先级动态调整,确保PLC控制、伺服同步等任务调度精度误差1%。 资源隔离技术:支持CPU核心绑定与中断隔离,在Linux-RT模式下将实时任务锁定至独立核心,避免非实时进程干扰,触觉智能RK3506核心板通过72小时高温高湿老化、电磁兼容、雷击浪涌等十余项工业严苛测试,7×24小时运行无故障。 RT-Linux实时应用场景 多轴机械臂控制 通过Linux-RT实现8轴伺服同步控制,1ms周期内抖动误差90μs,精度达±0.01mm 智能仓储AGV 基于Linux-RT实时路径规划算法,响应延迟100μs,避障决策效率提升50%。 分布式产线监控 Linux-RT主核处理数据汇聚与边缘计算,M0核实时采集千级传感器信号,系统资源利用率超95%!
  • 2025-4-25 12:08
    0 个评论
    本文介绍瑞芯微原厂工具RKDevInfoWriteTool的使用方法,使用 触觉智能SBC3528工控主板 演示,搭载了瑞芯微RK3568四核处理器(可选RK3568J),板载2路RS232+4路隔离RS485,集成DIDO,自研RS485自动收发驱动,支持超2KM传输距离! 工具主备 下载链接: https://industio.yuque.com/bx4amg/twek0i/gbv9ztl4tr0zcpl7?singleDoc#cZxC7解压后目录如下,双击"RKDevInfoWriteTool.exe"即可打开。 工具主界面,如下所示: 常用功能配置 SN SN即主板SN号,又称序列号/串号,从工具主界面点击左上角【设置】后第一个就是SN配置界面,如下所示: 基本参数配置如下所示: 步骤如下: 1. 选择配置SN,如果不需要烧录SN,关闭选择即可,默认关闭状态。 2. 选择自增。 3. 编辑SN号,可按照以下格数编辑:公司简称+主板名称+日志+起始编号,例如:IDOSBC352825030001。 4. 前缀,按照前面编辑号前缀配置,例如前面编辑的是IDOSBC352825030001,前缀可配置为"I"或者"ID"或者"IDO"都行。 5. 计数,可按需配置,比如要烧录10个,可选择10,要烧录1000,可选择1000。 6. 写后重启,可按需求配置,选择后,烧录完主板自动重启。 7. 配置完成后,点击【保存】即可。 WiFi MAC 基本参数配置如下所示: 步骤如下: 1. 选择【WiFi MAC】配置 2. 选择配置WiFi MAC,如果不需要烧录WiFi MAC,关闭选择即可,默认关闭状态。 3. 选择自增。 4. 编辑MAC地址,自行编辑需要烧录的MAC地址,例如:88A9A700BC64。 5. 前缀,按照前面编辑的MAC地址配置,例如前面MAC地址是88A9A700BC64,前缀需要配置可为:88A9。 6. 计数,可按需配置,比如要烧录10个,可选择10,要烧录1000,可选择1000。 7. 写后重启,可按需求配置,选择后,烧录完主板自动重启。8. 配置完成后,点击【保存】即可。 LAN MAC 注意:针对于多网口的板子,烧录网口MAC地址时,MAC1对应主板ETH0网络节点,MAC0对应ETH1网络节点,因为MAC1在CPU总线前面的原因。所以我们只需要配置MAC0和MAC1即可。 基本参数配置如下所示: 步骤如下: 1. 选择【MAC1】配置 2. 选择配置MAC1 MAC,如果不需要烧录MAC1 MAC,关闭选择即可,默认关闭状态。 3. 选择自增。 4. 编辑MAC地址,自行编辑需要烧录的MAC地址,例如:88A9A700BC95。 5. 前缀,按照前面编辑的MAC地址配置,例如前面MAC地址是88A9A700BC95,前缀需要配置可为:88A9。 6. 计数,可按需配置,比如要烧录10个,可选择10,要烧录1000,可选择1000。 7. 写后重启,可按需求配置,选择后,烧录完主板自动重启。 8. 配置完成后,点击【保存】即可。同理,MAC0也是同样按照MAC1方式配置。 BT MAC BT MAC即蓝牙MAC地址,由于配置方法与前面类似,可参考前面MAC配置方法配置即可,这里不再详细介绍。 烧录固件(镜像) RKDevInfoWriteTool工具烧录和RKDevTool固件烧录工具流程一样,当工具识别发现LOADER设备才可以烧录,具体操作流程,可参考主板烧录手册识别界面如下所示: 当工具识别到LOADER设备后,点击【写入】,即可开始烧录,如下所示: 当写入成功后,可以点击【读取】来再次确认是否写入成功。 触觉智能SBC3528工控主板 采用瑞芯微RK3568/RK3568J四核A55处理器,主频最高2.0GHz,内置独立1Tops算力NPU,支持开源鸿蒙OpenHarmony、Andriod、Linux多操作系统,广泛应用于工控、能源等领域。
  • 2025-4-11 18:06
    50 次阅读|
    0 个评论
    设备间的高精度协同控制与实时通信能力,成为了制造业不可忽视的性能指标。近日, 触觉智能RK3506核心板 带来EtherCAT总线技术,结合59元低成本、多核异构架构与工业级可靠性,为工业自动化领域提供高性能、高性价比的解决方案。。 EtherCAT总线 EtherCAT是什么 EtherCAT核心原理:主从架构与“逐帧处理”,全称Ethernet for Control Automation Technology是一种基于以太网的实时工业总线协议,其核心创新在于 “On The Fly”逐帧处理机制。 EtherCAT技术特性 100Mbps传输速率下,1000个I/O刷新周期仅需30μs,8轴伺服同步控制时延1ms。同时支持线型、树形、星型等任意拓扑,无需交换机即可实现冗余环形网络。 EtherCAT协议优势 精简协议栈:仅需物理层、数据链路层和应用层,硬件处理协议栈延迟5μs,CPU负载降低25%-30%。 兼兼容性强大:原生支持CODESYS、IgH主站协议,兼容Beckhoff、欧姆龙等主流伺服驱动器。 RK3506与EtherCAT结合特性 Latency optimization(延迟优化) 通过以太网连接多个伺服驱动器从站,可以精准控制伺服电机,支持适配专用网卡驱动,实时性更强! 技术指标 根据原厂数据,实测延时抖动性能达到10%以内(控制周期为1毫秒) 工业可靠性 此外,在触觉智能RK3506核心板≤0.7W功耗与-40~85℃宽温性能下,更好地满足EtherCAT下在各类环境更好地稳定运行。 EtherCAT应用场景落地 智能产线控制 触觉智能RK3506核心板可搭配 星闪(NearLink)无线技术 ,结合EtherCAT主站驱动8轴伺服,实现千级设备组网,时延仅为传统方案的1/30。 工业机械手 触觉智能RK3506核心板在 APM多核异构系统 下,可通过RTOS系统处理关节控制,Linux系统运行视觉,支持环形拓扑简化布线。 高精度检测设备 EtherCAT同步触发100MSPS高速ADC,数据直传MES系统,搭配LVGL界面实现μs级波形显示! 分布式能源系统 EtherCAT配合星闪(NearLink)技术方案,保障冗余环形拓扑保障电网通信不间断,更适合能源电力等场景。 触觉智能RK3506核心板 视频: 18:06 00:00 01:56 高清 倍速 原画 1080P 超清 720P 高清 540P 2.0x 1.5x 1.25x 1.0x 0.8x 50 跳过片头片尾 是 | 否 色彩调整 亮度 标准 饱和度 100 对比度 100 恢复默认设置 图文: