# rk3506-mlx90640-app **Repository Path**: kopernik-kane/rk3506-mlx90640-app ## Basic Information - **Project Name**: rk3506-mlx90640-app - **Description**: 基于rk3506平台的mlx90640热成像 - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-12-30 - **Last Updated**: 2026-01-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rk3506-mlx90640-app #### 说明 基于rk3506平台的mlx90640热成像。 这里使用的是正点原子的rk3506b开发板,编译正点原子提供的sdk后使用。 传感器使用mlx90640。 基于正点原子的qt桌面应用还不完善,在此提供的,只作为c简单应用。 #### 搭建运行 1. sdk编译,略。 2. 驱动使用:(driver文件夹下) - a. 设备树文件 - 设备树修改,在sdk顶层目录下输入, 替换相应节点内容,(注意i2c的时钟配置); ```bash vim ./kernel/arch/arm/boot/dts/rk3506-atk-dlrk3506b.dtsi ``` - 清除内核: ```bash ./build.sh clean-kernel ``` - 重新编译: ```bash ./build.sh kernel ``` - 烧录内核:略。(参考烧录手册)。 - b. 驱动文件 - 驱动使用,使用Makefile直接编译,无需使能交叉编译环境。 - 需要修改1:交叉编译工具路径 ```bash CROSS_COMPILE := [your path of cross_compile]/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- ``` - 需要修改2:内核源码路径 ```bash KERNELDIR := [your path of kernel dir]/ATK-DLRK3506/kernel ``` - (需注意此交叉编译工具需与编译sdk内核的一致); - 在当前目录下`make`,成功则会生成mlx90640.ko文件; - 使用adb工具将mlx90640.ko推送到开发板的 ```bash adb push ./mlx90640.ko /lib/modules/6.1.99+/ ``` - 挂载驱动使用(首次使用可能需要先`depmod`) ```bash modprobe mlx90640 ``` - 使用 ```bash dmesg | tail -100 ``` 可查看到内核最后100条日志,可看到相应设备号; - 使用 ```bash ls /dev/mlx* ``` 可查看字符设备是否存在; - 卸载驱动,`rmmod mlx90640` (我这里会出问题,所以要重置驱动,直接重启开发板就好了)。 3. 应用使用:(userApp文件夹下) - a. 文件夹内容 - header文件夹,应用所需的头文件; - source文件夹,应用所需的源文件; - other文件夹,mlx官方提供的api文件。 - b. 一些文件说明 - ./source/mlx90640_data.c,提供文件系统交互函数; - ./source/MLX90640_API.c,修改过的官方api文件; - ./source/m_declaration.c,没有什么用的声明函数; - ./source/mlx90640_module.c, 传感器的配置、数据处理; - ./header/ptf_color.h,一些终端字体颜色定义。 - c. 使用方法 - Makefile修改:`CC = [your cross compile path]/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc`,此处修改你的交叉编译器路径; - 当前目录下`make`,成功则生成mlx90640App可执行文件; - 使用adb工具将mlx90640App推送到开发板的`adb push ./mlx90640App /lib/modules/6.1.99+/`; - 执行`./mlx90640App` #### userApp运行示例 ![输入图片说明](userApp/other/exampleImage/2026-01-01_044125_244.png)