Android 7.1 build spidev_test.c

下载一份 Linux 内核代码,拷贝一份 toos/spi/spidev_test.c 文件(只需要这一个文件)

要在Android 7.1上编译spidev_test.c,可以参考以下步骤:

准备工作

  1. ~~确保内核支持SPI设备:~~

    • 在内核配置中启用SPI设备支持,确保CONFIG_SPICONFIG_SPI_SPIDEV选项被启用。
    • 修改设备树文件,添加SPI控制器和SPI设备节点。
  2. 创建Android.mk文件

    • system/extras目录下创建一个名为spi的文件夹。
    • spidev_test.c文件复制到spi文件夹中。
    • spi文件夹中创建一个Android.mk文件,内容如下:
    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_MODULE := spidev_test
    LOCAL_SRC_FILES := spidev_test.c
    LOCAL_MODULE_TAGS := optional
    include $(BUILD_EXECUTABLE)
    

编译步骤

  1. 编译spidev_test
    • 打开终端,切换到spi目录。
    • 执行mm命令进行编译。这将在out/target/product/<your_device>/symbols/system目录下生成可执行文件spidev_test
  2. 将可执行文件推送到设备
    • 使用adb push命令将spidev_test推送到设备上的某个目录,例如:
    adb push out/target/product/<your_device>/symbols/system/spidev_test /data/
    
  3. 在设备上运行测试程序
    • 使用adb shell连接到设备,切换到包含spidev_test的目录,并运行程序:
    adb shell
    cd /data/
    chmod 777 spidev_test
    ./spidev_test
    

注意事项

  • 确保设备上已经正确配置了SPI设备节点,例如/dev/spidevX.Y,其中X是SPI控制器编号,Y是设备编号。
  • 如果在编译或运行过程中遇到问题,检查内核配置和设备树文件是否正确设置,并确保所有必要的权限和依赖项都已满足。

adb 指定被操作设备

如果 PC 当前连接了多个正在运行 adb 的设备,可以通过 adb -s 指定操作特定设备

>adb devices
List of devices attached
J6-9f81e1412b08443 device
EE02FL9SR5 device
adb -s <序列号> shell