发行版
Armbian或Orange Pi OS
启用方式
在/boot/armbianEnv.txt
中增加overlays
,启用spi-jedec-nor
扩展,同时配置好param_spinor_spi_bus
参数,样例如下。
overlays=spi-jedec-nor
param_spidev_spi_bus=1
参数说明可以参考/boot/dtb/overlay/README.sun8i-h3-overlays
重启后,当出现这种/dev/mtdX
设备块时,意味着启用成功。
问题及原因
Orange Pi Zero 2在使用Ubuntu系统启用SPI Flash的过程中遇到了这种提示
spi-nor spi0.0: spi0.0 supply vdd not found, using dummy regulator
[ 4.356372] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[ 4.357250] sun6i-spi 1c68000.spi: chipselect 0 already in use
[ 4.357267] spi_master spi0: spi_device register error /soc/spi@1c68000/flash@0
[ 4.357288] spi_master spi0: Failed to create SPI device for /soc/spi@1c68000/flash@0
由于系统自带设备树已经定义了spi中的flash节点,只是没有启用,此时再挂载一个设备树文件,会与原有节点冲突,但不影响使用,可忽略。
使用SPI读写的方法
只讲解如何读写raw字节流,文件系统以后再更新。
安装mtd-utils
套件,其中有相关的命令。
写入数据案例:使用flashcp
或可以将数据直接写入MTD设备。
flashcp -v /path/to/image.bin /dev/mtdX
读取数据案例:可以使用dd命令从MTD设备读取数据。
dd if=/dev/mtdX of=/path/to/output.bin bs=2048
文章
如果各位有语音播报需求,想在组态软件、监控系统中采用语音播报、语音合成器、485语音播报器、声光报警灯、语音报警器,可以参考
组态王-实现语音播报告警点位信息及语音通知
其中以典型的组态王为例,讲解如何使用语音通知终端对接组态王平台。