嗨。使用DA14531模块PCB与Pro工具包和CODELESS固件(DA14531独立(SET-TWO))。
1)无代码DA14531 v_6.380.12.6
2)我们的项目需要一个外部SPI设备,我们希望使用这个模块上的一些自由引脚。
3)第一次测试表明端口引脚可以供我们使用。
10 + IOCFG = 4
好吧
在+ IOCFG = 9, 4
好吧
在+ IOCFG = 11, 4
好吧
8 + IOCFG = 4
好吧
在+ IOCFG = 7, 4
好吧
在+ IOCFG
21 20 00 22 19 12 11 04 04 04 04 04 04
4)接下来,我们尝试将SPI函数引脚重新映射到上述自由引脚上,但面临错误。
+ IOCFG = 10, 19个;spi clk
错误
+ IOCFG = 9, 21;spi莫西人
错误
在22 + IOCFG = 11,;spi味噌
错误
在20 + IOCFG = 8日;spi # cs
错误
我们能问问我们做错了什么吗?
在此期间将继续研究:)....
谢谢。
嗨mom2,
谢谢你的在线问题。由于您正在使用DA14531 TINY模块,SPI Flash放置在标准引脚(P00,P01,P03,P04),并在启动时使用-请参阅DA14531模块数据表和第七节。如果要使用另一个SPI外设(如SPI Sensor),这应该在引导完成和模块上的flash不再使用后进行。
如果AT+IOCFG被调用,它会看到以下结果,因为上面的描述:
2120.00221912 11 00 00 00 00 00 00
闪光针是粗体的。
如果您在user_at_commands.h头文件中检查USE_AT_SPI,您将看到如果SPI flash被启用(CFG_SPI_FLASH_ENABLE),那么SPI AT命令将被排除。
所以,如果你想使用SPI AT命令,你应该禁用flash和SUOTA功能,这样fw就不会配置SPI引脚-请参阅user_pher_setup .h - line 221-224。
总之,如果您想使用AT+IOCFG=10,19 / 9,21 / 11,22 / 8,20命令,CFG_SPI_FLASH_ENABLE和CFG_PRF_SUOTAR宏应该在user_profiles_config.h中未定义,并且应该重新构建项目。
谢谢,PM_Dialog
谢谢。
如果我们按照要求重新编译,我们仍然能够从模块的内部flash启动吗?我们可以在内部flash引导过程后重新映射SPI引脚。
嗨mom2,
是的-设备可以从flash启动,但不可能与它交互(如SUOTA,存储数据到flash等)。
请按照我的建议,尝试从flash启动。
谢谢,PM_Dialog
谢谢。这个建议似乎起作用了。我们将测试真正的SPI外部硬件很快和日志总线分析仪确认,但修复看起来很有希望。
的第48-54行中应用的更改user_profiles_config.h无代码SDK文件的。
#if (CMD_LOCAL_SOURCE == CMD_SPI)
# undef CFG_SPI_FLASH_ENABLE
# undef CFG_PRF_SUOTAR
其他#
/ / #定义CFG_SPI_FLASH_ENABLE
/ / #定义CFG_PRF_SUOTAR
# endif
结果:
ATI
无代码DA14531 v_6.380.12.6
好吧
ATR
+准备好了
在+ IOCFG
00 00 00 00 12 11 00 00 00 00 00 00 00 00 00 00
好吧
+ IOCFG = 10, 19个;spi clk
好吧
在+ IOCFG
00 00 00 00 12 11 00 00 00 00 19 00
好吧
+ IOCFG = 9, 21;spi莫西人
好吧
在+ IOCFG
00 00 00 00 00 12 11 00 00 21 19 00
好吧
在22 + IOCFG = 11,;spi味噌
好吧
在+ IOCFG
00 00 00 00 12 11 00 00 21 19 22
好吧
在20 + IOCFG = 8日;spi # cs
好吧
在+ IOCFG
00 00 00 00 00 12 11 00 20 21 19 22
好吧