RK3399 一套学习板大概 1000+大洋,作为学习投资是值得的,RK3399 可以跑Android、Linux 等多种操作系统,可以应用在智能驾驶、图像识别、安防监控、无人机、VR设备、语音识别、送餐机器人等场景...如果不需要那么高的性能,只做 Linux,还是买一块正点原子 imx6ull 靠谱,教程很好,韦东山的也可以。 树莓派的话,分为两种应用:嵌入式派或服务器派。...服务器派:无非就是逼着不会用 Linux 的人赶紧把系统熟悉了,熟悉了之后就不会有人继续留恋这个不仅内存有限,IO 还是小水管的卡片电脑的。
github https://github.com/rockchip-linux ?...可以看到 Rockchip 在这个账户下开放了 100 多个仓库,包含了 u-boot、linux kernel、mpp(多媒体)、libmali(GPU) 等重要模块。...知名开源项目对 Rockchip 平台的支持 U-Boot https://gitlab.denx.de/u-boot/u-boot Linux Kernel https://git.kernel.org...尤其是随着最近 Linux 5.3 的发布,里面加入了对 Arm Mali GPU 的支持,现在用 mainline 的 Linux kernel 已经可以把 Rockchip 平台上的 mali GPU...Collabora Collabora 是一个著名的开源组织,他们为 Rockchip 平台向 Linux Kernel mainline 提交了大量代码,为 Rockchip 平台的 GPU 图形加速和多媒体提供了大量的支持
device-tree-compiler python-pip ncurses-dev pyelftools 交叉编译工具链 U-Boot 及Kernel编译工具链: prebuilts/gcc/linux-x86.../aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux- gnu/bin/aarch64-linux-gnu- 对应版本:gcc version...bin/aarch64-buildroot-linux-gnu- 32位系统:buildroot/output/rockchip_rk356x/host/usr/arm-linux-gcc 对应版本...$source envsetup.sh rockchip_rv1126_rv1109_libs $make -j12 编译BSP生成的目录 buildroot/output/rockchip_rv1126..._rv1109_libs/BSP tree buildroot/output/rockchip_rv1126_rv1109_libs/BSP/ buildroot/output/rockchip_rv1126
b/drivers/i2c/busses/i2c-rockchip.c index 3f64ff0..db28071 100644 --- a/drivers/i2c/busses/i2c-rockchip.c...+++ b/drivers/i2c/busses/i2c-rockchip.c @@ -716,12 +716,17 @@ static int rockchip_i2c_doxfer(struct...rockchip_i2c *i2c, i2c_writel(I2C_IPD_ALL_CLEAN, i2c->regs + I2C_IPD); rockchip_i2c_disable_irq...}, { .compatible = "ls_stk3171" }, { .compatible = "ls_ap321xx" }, ^M diff --git a/include/linux.../sensor-dev.h b/include/linux/sensor-dev.h index 16e916f..6c21fcd 100755 --- a/include/linux/sensor-dev.h
RK3399 FPGA Board"; compatible = "rockchip,fpga", "rockchip,rk3399"; //根节点兼容性分析,下面具体分析...它的组织形式是<manufacture><model>,在实际中一般包括两个或两个以上的兼容字符串,上面第一个是"rockchip,fpga",第二个是"rockchip,rk3399...dts,可以看出第一个兼容字符串的model不同,第二个完全相同 rk3399-firefly-linux.dts compatible = "rockchip,rk3399-firefly-linux...", "rockchip,rk3399"; rk3399-fpga.dts compatible = "rockchip,fpga", "rockchip,rk3399"; 3.2节点名 理论个节点名只要是长度不超过...31个字符的ASCII字符串即可,Linux内核还约定设备名应写成形如[@]的形式,其中name就是设备名,最长可以是31个字符长度。
图1.2选择SDK配置文件配置完后,直接查看device/rockchip/rk356x/BoardConfig-rk3568-evb1-ddr4-v10.mk文件,由RK_KERNEL_DEFCONFIG...1.3 kernel修改配置首先导入上面指定的默认配置,操作命令如下:cd kernelmake ARCH=arm64rockchip_linux_defconfig进入menuconfig修改内核,命令如下所示...make ARCH=arm64 savedefconfigcp defconfig arch/arm64/configs/rockchip_linux_defconfig注:建议覆盖前备份一下原始rockchip_linux_defconfig...make ARCH=arm64rk3568-evb1-ddr4-v10-linux.img -j12内核的编译结果如下所示。
完整的接口定义位于 linux/gpio/consumer.h,大约共有 70个 API。...gpio_chip 的注册过程: drivers/pinctrl/pinctrl-rockchip.c rockchip_pinctrl_probe() { // rockchip 用于管理 gpio....get = rockchip_gpio_get, .get_direction = rockchip_gpio_get_direction, .direction_input = rockchip_gpio_direction_input..., .direction_output = rockchip_gpio_direction_output, .set_config = rockchip_gpio_set_config, .to_irq...-4.19 Documentation Linux Device Drivers Development / GPIO Controller Drivers
最外层的兼容属性为"rockchip,rk3399-dwc3",为rockchip定义的属性,有时钟、电源、复位、extcon等。...debugfs_create_endpoint_files // 创建文件 dwc3_core_init主要的工作是初始化USB控制器硬件,主要流程如下: (1)获取USB控制器IP的版本,便于后续进行不同的配置,USB控制器不同IP版本之间有差别,将Linux...core_init dwc3_readl(dwc->regs, DWC3_GSNPSID) // 获取Global SNPS ID Register中的内容 /* Write Linux...figure out which kernel version a bug was found. */ dwc3_writel(dwc->regs, DWC3_GUID, LINUX_VERSION_CODE...) dwc3_writel(dwc->regs, DWC3_GUID, LINUX_VERSION_CODE) dwc3_soft_reset // 软件复位USB控制器
1、DRM 框架 Linux 图像子系统涉及 GUI、3D application、DRM/KMS、hardware 等: 在 Linux display 驱动开发时,通常关注 FBDEV(Framebuffer.../rockchip_drm_drv.c static const struct component_master_ops rockchip_drm_ops = { .bind = rockchip_drm_bind..., .unbind = rockchip_drm_unbind, }; static int rockchip_drm_platform_probe(struct platform_device *...rockchip_drm_platform_driver = { .probe = rockchip_drm_platform_probe, .remove = rockchip_drm_platform_remove...在 rockchip 提供的显示驱动代码中,也有模拟 FB 设备的相关代码,参见 drivers/gpu/drm/rockchip/rockchip_drm_fb.c 文件,最终效果就是设备目录下,出现熟悉的身影
进入Linux内核源码目录下,执行如下命令打开内核图形配置界面。...Host# cd /home/tronlong/RK3568/rk356x_linux_release_v1.3.1_20221120/kernel/Host# make ARCH=arm64 rockchip_linux_defconfigHost...请执行如下命令,保存配置选项至defconfig文件,再将defconfig文件内容覆盖至rockchip_linux_defconfig文件。...Host# make ARCH=arm64 savedefconfig //保存配置选项至defconfig文件Host# mv defconfig arch/arm64/configs/rockchip_linux_defconfig...内核源码”arch/arm64/boot/dts/rockchip/”目录下的内核设备树文件tl3568-evm.dts如下内容,将disabled设置为okay。
RKNN RKNN(Rockchip Neural Network)是由瑞芯微(Rockchip)推出的神经网络加速器和推理引擎。...RKNN-Toolkit2 RKNN-Toolkit2 是一个软件开发工具包,用户可以在 PC 和 Rockchip NPU 平台(RK3566,RK3568,RK3588,RK3588S,RV1103...模型推理:能够在 PC(Linux x86 平台)上模拟 Rockchip NPU 运行 RKNN 模型并获取推理结果;或将 RKNN 模型分发到指定的NPU 设备上进行推理并获取推理结果。...x.x.txt 安装仓库 packages 文件夹中的 rknn_toolkit2 包 1 sudo pip install rknn_toolkit2-1.x.x+xxxxxxxx-cp36-cp36m-linux_x86...运行环境 rknn.init_runtime() RKNN 推断得到结果 outputs = rknn.inference(inputs=[img]) 参考资料 https://github.com/rockchip-linux
This GDB was configured as "--host=x86_64-linux-gnu --target=arm-linux-android"....(gdb) rockchip rk3399调试vmlinux ..../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-addr2line -f -e.../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-addr2line -f -e...kernel/vmlinux ffffff8008459f3c rk_iommu_domain_free /data/weiqifa/rk3399_7in1/kernel/drivers/iommu/rockchip-iommu.c
这里记录下linux和windows下两种打包img方式。...linux打包 1.修改分区 修改sdk/device/rockchip/rv1126_rv1109/parameter-ubuntu.txt文件,删除misc、recovery等分区 --- a/device.../rockchip/rv1126_rv1109/parameter-ubuntu.txt +++ b/device/rockchip/rv1126_rv1109/parameter-ubuntu.txt.../Linux_Pack_Firmware/rockdev/rv1126_rv1109-package-file文件 --- a/tools/linux/Linux_Pack_Firmware/rockdev.../rv1126_rv1109-package-file +++ b/tools/linux/Linux_Pack_Firmware/rockdev/rv1126_rv1109-package-file
1、Rockchip SDK架构图 2、RV1126_RV1109开发环境搭建 2.1、搭建过程中遇到的问题 我用的是韦东山老师的ubuntu18.04虚拟机来编译的。...sdk必要的软件 sudo apt-get install repo gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler...gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools.../build.sh device/rockchip/rv1126_rv1109/BoardConfig-aybering.mk cd kernel make ARCH=arm rv1126_defconfig.../build.sh -h rootfs source envsetup.sh rockchip_rv1126_rv1109 make menuconfig make savedefconfig #
上面有的内容就不在本文叙述了,大家可以参考教程https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/linux_compile_gpt.html 这篇文章主要如何对板子做一些基础的配置.../rockchip_linux_myconfig.config ..../arch/arm64/configs/rockchip_linux_myconfig.config make ARCH=arm64 rockchip_linux_myconfig.config;make...rk3399-evb-ind-lpddr4-linux.img -j10 确认编译配置正确 ➜ kernel git:(firefly) ✗ grep "NFS" ./.config # CONFIG_USB_FUNCTIONFS..._20210301/rockdev/pack/FIREFLY-RK3399_Ubuntu-r21062_v2.5.1b_220924.img cd /home/zhongyi/code/rk3399_linux_release_v2.5.1
pinctrl 中查找对应的节点 接下来找下 pinctrl 里有关 pwm9 的节点: pwm9 { /omit-if-no-ref/ pwm9m0_pins: pwm9m0-pins { rockchip...RK_PA5 6 &pcfg_pull_none>; }; /omit-if-no-ref/ pwm9m0_pins_pull_down: pwm9m0-pins-pull-down { rockchip..._pin_m0 */ ; }; /omit-if-no-ref/ pwm9m1_pins: pwm9m1-pins { rockchip...200 }; }; (3)在 DSI 节点中添加背光控制逻辑 如下,这是我之前添加的节点,只需要在下面的节点中添加这一句: backlight = ; 之前的文章如下: Linux...MIPI DSI LCD设备驱动开发调试细节学习笔记(一) Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码(二) Linux MIPI DSI驱动调试笔记-LCD
gedit kernel/arch/arm/boot/dts/rv1126.dtsi & 打开后我们可以看到设备树的支持情况如下: i2c0: i2c@ff3f0000 { compatible = "rockchip...,rv1126-i2c", "rockchip,rk3399-i2c"; reg = ; interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH...default"; pinctrl-0 = ; status = "disabled"; }; i2c1: i2c@ff510000 { compatible = "<em>rockchip</em>...,rv1126-i2c", "rockchip,rk3399-i2c"; reg = ; interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH...2、GT911驱动移植 2.1、配置Linux内核支持gt9xx GT911在Linux内核中已经支持了,位于以下路径,如果没有的话就需要跟触摸屏厂商要驱动代码,如果要不到那么就拿着Datasheet自己干吧
3、RK3399 实例分析 RK 平台 pwm driver 目录如下: /kernel/drivers/input/remotectl/rockchip_pwm_remotectl.c /kernel.../drivers/pwm/pwm-rockchip.c 红外接收器有很多,如 LF0038GKLL-1、HS0038B、VS1838B 等,博主手里 RK3399 带的是 HS0038B,硬件原理图如下...,usercode = ; rockchip,key_table = ...rockchip,usercode 表示 NEC 里面的地址。 这里将红外编码值映射成 Linux 下标准键。...如下图所示: echo 1 > sys/module/rockchip_pwm_remotectl/parameters/code_print 4、驱动源码分析 rockchip_pwm_remotectl.c
要在uboot阶段显示logo,需要先在dts中打开配置 rockchip,uboot-logo-on = ; 然后替换源码SDK中kernel目录下的logo.bmp;重新编译resource.img...步骤1:支持关机充电: uboot-charge { compatible = “rockchip,uboot-charge”; rockchip,uboot-charge-on = ; rockchip...在linux下打包 zip -r -0 bootanimation.zip part1 desc.txt在windwos下打包,注意选择“仅存储”,且不要新建bootanimation文件夹,而是直接打包文件...bootanimation.zip system/media/完全替换 在板级配置文件rk3399.mk中增加如下内容 #for bootanimation PRODUCT_COPY_FILES += \ device/rockchip.../rk3399/bootanimation.zip:system/media/bootanimation.zip 在rk3399中还需要更改另外一处地方: 替换device/rockchip/common
SDK简介一个通用 Linux SDK 工程目录包含有buildroot、app、kernel、device、docs、external 等目录。...● device/rockchip:存放各芯片板级配置和Parameter文件,以及一些编译与打包固件的脚本和预备文件。...● docs:存放芯片模块开发指导文档、平台支持列表、芯片平台相关文档、Linux开发指南等。● IMAGE:存放每次生成编译时间、XML、补丁和固件目录。...● rkbin:存放 Rockchip 相关的 Binary 和工具。● rockdev:存放编译输出固件。● tools:存放 Linux 和 Windows 操作系统环境下常用工具。2. ...其他的Linux 版本可能需要对软件包做相应调整。除了系统要求外,还有其他软硬件方面的要求。●硬件要求:64 位系统,硬盘空间大于40G。如果您进行多个构建,将需要更大的硬盘空间。
领取专属 10元无门槛券
手把手带您无忧上云