编译程序
1.将i2c设备通信编程示例拷贝到linux虚拟机中,该虚拟机需要拷贝elf2源码到/home/elf/work/目录中。后面编译cmd命令的时候需要使用源码中的交叉编译器。
交叉编译器路径:
路径:ELF2-linux-source/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc
2.在elf2_cmddemo_i2c文件夹输入命令:
| elf@ubuntu:~/work/ELF2_DEMO/CMD_EXAMPLE2/elf2_cmddemo_i2c$ /home/elf/work/ELF2-linux-source/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc main.c -o 03_elf2_cmd_i2c |
3.将可执行文件拷贝到开发板中,例如/home/root 路径下。
| elf@ubuntu:~/work/ELF2_DEMO/CMD_EXAMPLE2/elf2_cmddemo_i2c$ scp elf2_cmd_i2c root@192.168.0.232:/root/ |
开发板测试
1.测试开发板挂载的i2c设备,首先检查i2c-5上挂载的设备都有哪些:
| root@elf2-buildroot:~# i2cdetect -y 5
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- |
2.我们选择地址为0x32的设备,这个是RTC RX8010SJ的设备地址;
3.打开调试串口,输入命令:
| root@elf2-buildroot:~# ./elf2_cmd_i2c
read val:0x24 |
4.可以读到结果为0x24,且没有报错,表示代码执行成功。
145