tag 标签: RK3562

相关帖子
相关博文
  • 热度 3
    2025-1-24 11:21
    370 次阅读|
    0 个评论
    飞凌嵌入式基于瑞芯微RK3562系列处理器打造的FET3562J-C全国产核心板,是一款专为工业自动化及消费类电子设备设计的产品,凭借其强大的功能和灵活性,自上市以来得到了各行业客户的广泛关注。本文将详细介绍如何启动并测试RK3562J处理器的MCU,通过实际操作步骤,帮助各位工程师朋友更好地了解这款芯片。 1、RK3562J处理器概述 RK3562J处理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架构。其中,4个Cortex-A53核心作为主要核心,负责处理复杂的操作系统任务和应用程序;Cortex-M0核则作为辅助核心,运行裸核系统,能够快速响应和控制,实现实时性要求较高的任务。 2、启动M0核固件的前期准备 目前,飞凌嵌入式OK3562J-C开发板上默认并没有启动M0核固件。因此,我们需要通过一系列步骤来配置和启动M0核。以下是具体的操作步骤: 1. U-Boot修改 理论上我们需要打开AMP(非对称多处理)编译宏,但由于飞凌嵌入式OK3562J-C开发板的U-Boot已默认配置AMP功能,因此用户无需进行任何U-Boot修改操作。 2. Kernel修改 (1)安装工具包 首先,我们需要安装SCons工具包,用于后续的编译工作。可以通过以下命令进行安装: forlinx @ubuntu :~ $ sudo apt-get install scons (2)添加AMP设备树的调用 OK3562J-C开发板已经添加了AMP设备树的调用,我们可以查看相关配置文件以了解其内容。 forlinx @ubuntu :~ $ cd /home/forlinx/work/ OK3562 -linux-source/ forlinx @ubuntu :~/work/OK3562-linux-source $ vi kernel- 5.10 /arch/arm64/boot/dts/rockchip/ OK3562 -C-common.dtsi + include "rk3562-amp.dtsi" 主要内容包括: / { /* 描述设备 */ rockchip_amp: rockchip-amp { compatible = "rockchip,amp" ; clocks = , , , , // , , , , ; //pinctrl-names = "default" ; //pinctrl-0 = ; amp-cpu-aff-maskbits = /bits/ 64 ; amp-irqs = /bits/ 64 ; status = "okay" ; }; /* 定义了一些保留内存区域 */ reserved-memory { #address-cells = ; #size-cells = ; ranges; /* remote amp core address */ amp_shmem_reserved: amp-shmem@7800000 { reg = ; no-map; }; rpmsg_reserved: rpmsg@7c00000 { reg = ; no-map; }; rpmsg_dma_reserved: rpmsg-dma@8000000 { compatible = "shared-dma-pool" ; reg = ; no-map; }; /* mcu address */ mcu_reserved: mcu@8200000 { reg = ; no-map; }; }; /* 实现Rockchip RPMsg功能 */ rpmsg: rpmsg@7c00000 { compatible = "rockchip,rpmsg" ; mbox-names = "rpmsg-rx" , "rpmsg-tx" ; mboxes = ; rockchip,vdev-nums = ; /* CPU3: link-id 0x03; MCU: link-id 0x04; */ rockchip,link-id = ; reg = ; memory-region = ; status = "okay" ; }; }; 3. 生成配置文件 接下来,我们需要生成M0核固件的配置文件。在RTOS源码目录下,通过复制默认配置文件并运行SCons菜单配置界面来生成所需的配置文件。虽然在此示例中无需进行额外配置,但用户可以根据需求进行相应的配置。 forlinx @ubuntu :~/work/OK3562-linux-source $ cd rtos/bsp/rockchip/rk3562- 32 forlinx @ubuntu :~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562- 32 $ cp board/rk3562_evb1_lp4x/defconfig .config forlinx @ubuntu :~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562- 32 $ scons --menuconfig 打开图形化配置界面后,无需配置,直接退出即可。 若有其他功能需求,可进行相应配置后再退出并保存。 forlinx @ubuntu :~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562- 32 $ cp .config board/rk3562_evb1_lp4x/defconfig forlinx @ubuntu :~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562- 32 $ cp rtconfig.h board/rk3562_evb1_lp4x/defconfig.h 4. 编译源码 完成配置文件的生成后,我们可以开始编译源码。通过运行构建脚本,选择相应的defconfig配置,并分别编译Linux系统和M0核固件。编译成功后,会在指定目录下生成 amp.img 镜像文件。 forlinx @ubuntu :~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562- 32 $ cd forlinx @ubuntu :~/work/OK3562-linux-source $ ./build.sh chip Log colors: message notice warning error fatal Log saved at /home/forlinx/work/ 3562 /git/ OK3562 -linux-source/output/sessions/ 2024 -08- 27_15 - 48 - 21 Switching to chip: ok3562Pick a defconfig: 1 . forlinx_defconfig 2 . forlinx_ok3562_linux_defconfig 3 . forlinx_ok3562_linux_mcu_defconfig 4 . forlinx_ok3562_linux_rtos_defconfigWhich would you like? : 4 / /选择第四个配置forlinx@ubuntu:~/work /OK3562-linux-source$ ./build .sh rtos forlinx @ubuntu :~/work/OK3562-linux-source $ ./build.sh mcu 编译后在rockdev目录下生成amp.img: forlinx @ubuntu :~/work/OK3562-linux-source $ ls rockdev/amp.img boot.img linux-headers.tar MiniLoaderAll .bin misc.img oem.img parameter.txt recovery.img rootfs.img uboot.img update.img userdata.img 3、烧写镜像 将生成的 amp.img 镜像文件拷贝到电脑中,并将开发板切换到烧写模式。使用烧写工具配置 amp.img 的路径。 点击“设备分区表”,读取成功后点击“执行”。 4、验证启动 重新启动开发板时按下空格键进入U-Boot菜单。在U-Boot菜单中,输入 3 将 amp start 配置成 on。 然后输入 1 重启开发板。在启动过程中,观察U-Boot阶段的打印信息,如果看到与M0核固件启动相关的打印信息,则说明已成功使用U-Boot启动M0核固件。 5、总结 上述操作仅为简单启动M0核并打印信息。实际上,M0核的功能非常强大,支持UART、PWM、I2C、SPI等多种外设接口。(目前飞凌嵌入式暂无更多M0核接口的测试例程,您若有相关需求,可以联系技术支持获取瑞芯微官方资料进行深入学习和开发) 希望通过本文的介绍和实践操作,能让您对RK3562J处理器的M0核有更进一步的了解,并为后续的开发工作提供帮助。
  • 2025-1-17 14:09
    243 次阅读|
    0 个评论
    本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。 触觉智能RK3562开发板 演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。 源码修改 修改源码根目录下文件 device/rockchip/rk3562/package_performance.xml 并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为APK包名。
  • 2025-1-8 00:06
    201 次阅读|
    0 个评论
    本文介绍编译Android13 ROOT权限固件的方法, 触觉智能RK3562开发板 演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。 关闭selinux 修改此文件("+"号为修改内容) device/rockchip/common/BoardConfig.mk BOARD_BOOT_HEADER_VERSION ?= 2 BOARD_MKBOOTIMG_ARGS := BOARD_PREBUILT_DTBOIMAGE ?= $(TARGET_DEVICE_DIR) /dtbo.img BOARD_ROCKCHIP_VIRTUAL_AB_ENABLE ?= false -BOARD_SELINUX_ENFORCING?= true +BOARD_SELINUX_ENFORCING?= false 注释用户组权限检测 修改此文件("+"号为修改内容) system/extras/su/su.cpp void extract_uidgids ( const char *uidgids, uid_t *uid, gid_t * gid, gid_t * gids, i } int main ( int argc, char ** argv) { - uid_t current_uid = getuid (); - if (current_uid != AID_ROOT && current_uid != AID_SHELL) error ( 1 , 0 , "notallowed"); + //uid_t current_uid = getuid(); + //if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "notallowed" ); 给su文件默认授予root权限 修改此文件("+"号为修改内容) system/core/libcutils/fs_config.cpp staticconststructfs_path_configandroid_dirs = { // the following two files are INTENTIONALLY set-uid, but they // are NOT included on user builds. { 06755, AID_ROOT, AID_ROOT, 0, "system/xbin/procmem" }, - { 04750, AID_ROOT, AID_SHELL, 0, "system/xbin/su" }, + { 06755, AID_ROOT, AID_SHELL, 0, "system/xbin/su" }, 然后修改此文件("+"号为修改内容) frameworks /base/ core /jni/ com_android_internal_os_Zygote.cpp static void DropCapabilitiesBoundingSet ( fail_fn_t fail_fn) { +/* for ( int i = 0 ; prctl (PR_CAPBSET_READ, i, 0 , 0 , 0 = 0 ; i++) {; if ( prctl (PR_CAPBSET_DROP, i, 0 , 0 , 0 ) == - 1 ) { if (errno == EINVAL) { ALOGE ("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify " "your kernel is compiled with file capabilities support" ); } else { fail_fn ( CREATE_ERROR ( "prctl(PR_CAPBSET_DROP, %d) failed: %s" , i, strerror (errno))); } } } + */ } 最后修改此文件("+"号为修改内容) kernel-5.10/security/commoncap.c intcap_task_setnice ( struct task_struct *p, int nice) staticintcap_prctl_drop ( unsigned long cap) { struct cred * new ; +/* if (! ns_capable ( current_user_ns (), CAP_SETPCAP)) return -EPERM; if (!cap_valid( cap )) return -EINVAL; - +*/ new = prepare_creds() ; 源码编译并验证固件是否ROOT 修改完上面三个步骤的文件后,重新编译内核和安卓源码,执行以下命令: # make -j4 下载RootChecker测试APK软件包(自行下载),可通过ADB命令或者U盘安装,安装后按照提示 点击按钮检查root。 root成功如图:
  • 2025-1-6 10:43
    180 次阅读|
    0 个评论
    本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板, 触觉智能RK3562开发板 演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。 制作图片 开机logo图片制作注意事项 (1)图片必须为bmp格式; (2)图片大小不能大于4MB; (3)BMP位深最大是32,建议设置为8; (4)图片名称为 logo.bmp 和 logo_kernel.bmp ; 开机logo图片制作工具 制图工具可使用自定义的第三方工具,也可使用我们推荐的工具,工具链接如下: https://online-converting.com/image/convert2bmp 图片制作工具使用教程 Color项修改为8,其它默认。 编辑 添加自定义图片,点击【Add image files】按钮。 编辑 添加后,等待生成图片。 编辑 生成图片后,点击【Download】下载。 编辑 将下载的图片另复制一份出来,并且分别重命名为 logo.bmp 和 logo_kernel.bmp 。 编辑 替换开机logo并编译 在SDK源码 kernel 目录下,替换 logo.bmp 和 logo_kernel.bmp 图片,然后开始编译源码。 编译分包源码命令如下: ./build.sh kernel 编译整包源码命令如下: ./build.sh 烧录固件验证效果 烧录固件到开发板,烧录教程可搜索往期教程或官网查看,烧录后开机效果如下: 编辑 产品简介 触觉智能 RK3562 开发板 (型号EVB3562),基于瑞芯微新一代Soc RK3562/RK3562J设计,可用于轻量级人工智能应用。EVB3562开发板配备了PCIe2.1/USB3.0 OTG/千兆网口等各类型接口,支持4G/5G通信、多摄像头及多种视频接口,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示、工业控制等行业领域。 编辑
  • 2025-1-3 11:37
    214 次阅读|
    0 个评论
    本文继续介绍Linux系统查看硬件配置及常用调试命令,方便开发者快速了解开发板硬件信息及进行相关调试。 触觉智能RK3562开发板 演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。 查看系统版本信息 查看操作系统版本信息 root @ido :/ # cat /etc/*release DISTRIB_ID =Ubuntu DISTRIB_RELEASE = 20.04 DISTRIB_CODENAME =focal DISTRIB_DESCRIPTION = "Ubuntu 20.04.3 LTS" NAME = "Ubuntu" VERSION = "20.04.3 LTS (Focal Fossa)" ID =ubuntu ID_LIKE =debian PRETTY_NAME = "Ubuntu 20.04.3 LTS" VERSION_ID = "20.04" HOME_URL = "https://www.ubuntu.com/" SUPPORT_URL = "https://help.ubuntu.com/" BUG_REPORT_URL = "https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL = "https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME =focal UBUNTU_CODENAME =focal BUILD_INFO = "root@industio Sun Oct 9 05:54:12 UTC 2022" BUILD_INFO = "root@industio Thu Oct 20 02:17:12 UTC 2022" BUILD_INFO = "root@industio Thu Oct 20 02:19:41 UTC 2022" 查看linux内核版本信息 root @ido :/ # uname -a Linux ido 5.10.160#24 SMP Thu Jul 18 19:06:25 CST 2024 aarch64 aarch64 aarch64 GNU/Linux 查看内核信息 直接查看内核信息 root @ido :/ #dmesg Booting Linux on physical CPU 0x0000000000 Linux version 5.10 .160 (ronnie @dell-PowerEdge-R430 ) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 10.3 - 2021.07 (arm- 10.29 )) 10.3 . 1 20210621 , GNU ld (GNU Toolchain for the A-profile Architecture 10.3 - 2021.07 (arm- 10.29 )) 2.36 . 1.20210621 ) #24 SMP Thu Jul 18 19 : 06 : 25 CST 2024 Machine model: Rockchip RK3562 IDO EVB3562 V1B Board ...... 筛选出关键字相关的内核信息 # "xxx" 替换成要搜索的关键字 dmesg | grep "xxx" #需要忽略大小写时可以用加上-i dmesg | grep -i "xxx" 关闭内核打印信息 将系统日志优先级调为 0 即可关闭内核打印信息 echo /proc/sys/kernel/printk #控制台的日志优先级简介 # define KERN_EMERG 0 致命级:紧急事件消息,系统崩溃之前提示,表示系统不可用 # define KERN_ALERT 1 警戒级:报告消息,表示必须采取措施 # define KERN_CRIT 2 临界级:临界条件,通常涉及严重的硬件或软件操作失败 # define KERN_ERR 3 错误级:错误条件,驱动程序常用KERN_ERR来报告硬件错误 # define KERN_WARNING 4 告警级:警告条件,对可能出现问题的情况进行警告 # define KERN_NOTICE 5 注意级:正常但又重要的条件,用于提醒 # define KERN_INFO 6 通知级:提示信息,如驱动程序启动时,打印硬件信息 # define KERN_DEBUG 7 调试级:调试级别的信息 查看进程 查看进程信息 PID表示唯一标识,CMD表示进程名,能有多个。 root @ido :~ #ps PIDTTY TIME CMD 465ttyFIQ0 00:00:00 login 769ttyFIQ0 00:00:00 bash 991ttyFIQ0 00:00:00 ps 杀死进程 #杀死某一个进程 root @ido :~ #kill-9PID #杀死某一类进程 root @ido :~ # killall -9 CMD 至此,Linux常用命令教程完成,希望能帮助到大家,2025一起加油。