请问DA14580是否支持SPI连接GD25Q16C的闪进行读写数据,以及OTA升级呢?操作是否和官方给定的W25X20CL一样呢?spi_access是否对可以支持的FLASH芯片,操作是一致的吗?
接了外部FLASH是否程序必须从外部FLASH启动呢,还是可以从OTP启动,外部FLASH可以存储一些别的数据吗?
您好,
提问回答如下:
请问DA14580是否支持SPI连接GD25Q16C的闪进行读写数据,以及OTA升级呢?操作是否和官方给定的W25X20CL一样呢?
spi_access是否对可以支持的FLASH芯片,操作是一致的吗?
需要您实际测试,才能知道DA14580对GD25Q16C是否支持;若经过实际测试,官方现有的方式不支持该型号的闪光时,用户可通过改写FLASH驱动来支持,驱动调试成功后,就可以继续使用官方给定的OTA相关的接口。
芯片上电的时候,芯片ROM中的启动代码会首先执行,然后依次检查OTP,外部存储(通过SPI, IIC, UART等接口)中是否有固件,若有,便将固件拷贝到RAM中,最后,跳到RAM中去执行代码。若OTP中有有效代码(同时FLASH中也有代码),则芯片会首先将OTP中的代码拷贝到RAM中执行。根据你上一个问题的情况,若你使用的闪光与官方支持的不兼容,你可以开发一个第二引导程序,在里面实现你的FLASH驱动,然后将其烧录到OTP中,这样芯片上电的时候,会运行你的第二次启动程序,进而运行你的FLASH驱动来拷贝FLASH中你的代码并运行。
外部FLASH中可以存放固件等其他数据。
以上回答,基于以下文档:
AN-B-023: DA14580与外置存储器的接口
https://support.dialog-semiconductor.com/system/files/resources/AN-B-023%20-%20DA14580%20interfacing%20with%20external%20memory%20v2.1.pdf
AN-B-001: DA14580从串行接口启动
https://support.dialog-semiconductor.com/system/files/resources/AN-B-001%20-%20Booting%20from%20serial%20interfaces%20v2.1.pdf
另外,在官方的SDK包中,有以下参考代码:
5.0.4 \工具\ flash_programmer:SmartSnippets工具箱中Flash程序员工具使用的,对闪进行编程的程序。程序的功能是接收来自Flash程序员工具的指令和数据,然后把数据写进Flash中。
5.0.4 \工具\ secondary_bootloader:上文提到的第二个启动样例程序,负责将用户固件,从FLASH中拷贝到RAM中运行
您好,感谢回复,看了一个- b - 023资料,支持的FLASH有GD25VQ41B GD25VQ21B。请问是只支持这两种型号还是类似的都可以支持呢,比如GD25VQ40C GD25Q16C,这些只是供电电压或者版本不一样,应该可以支持吧
大概率是可以,不过我们这边没有实物进行实测,所以无法给出确定答复
接了外部FLASH是否程序必须从外部FLASH启动呢,还是可以从OTP启动,外部FLASH可以存储一些别的数据吗?
您好,
提问回答如下:
请问DA14580是否支持SPI连接GD25Q16C的闪进行读写数据,以及OTA升级呢?操作是否和官方给定的W25X20CL一样呢?
spi_access是否对可以支持的FLASH芯片,操作是一致的吗?
需要您实际测试,才能知道DA14580对GD25Q16C是否支持;若经过实际测试,官方现有的方式不支持该型号的闪光时,用户可通过改写FLASH驱动来支持,驱动调试成功后,就可以继续使用官方给定的OTA相关的接口。
接了外部FLASH是否程序必须从外部FLASH启动呢,还是可以从OTP启动,外部FLASH可以存储一些别的数据吗?
芯片上电的时候,芯片ROM中的启动代码会首先执行,然后依次检查OTP,外部存储(通过SPI, IIC, UART等接口)中是否有固件,若有,便将固件拷贝到RAM中,最后,跳到RAM中去执行代码。若OTP中有有效代码(同时FLASH中也有代码),则芯片会首先将OTP中的代码拷贝到RAM中执行。根据你上一个问题的情况,若你使用的闪光与官方支持的不兼容,你可以开发一个第二引导程序,在里面实现你的FLASH驱动,然后将其烧录到OTP中,这样芯片上电的时候,会运行你的第二次启动程序,进而运行你的FLASH驱动来拷贝FLASH中你的代码并运行。
外部FLASH中可以存放固件等其他数据。
以上回答,基于以下文档:
AN-B-023: DA14580与外置存储器的接口
https://support.dialog-semiconductor.com/system/files/resources/AN-B-023%20-%20DA14580%20interfacing%20with%20external%20memory%20v2.1.pdf
AN-B-001: DA14580从串行接口启动
https://support.dialog-semiconductor.com/system/files/resources/AN-B-001%20-%20Booting%20from%20serial%20interfaces%20v2.1.pdf
另外,在官方的SDK包中,有以下参考代码:
5.0.4 \工具\ flash_programmer:SmartSnippets工具箱中Flash程序员工具使用的,对闪进行编程的程序。程序的功能是接收来自Flash程序员工具的指令和数据,然后把数据写进Flash中。
5.0.4 \工具\ secondary_bootloader:上文提到的第二个启动样例程序,负责将用户固件,从FLASH中拷贝到RAM中运行
您好,感谢回复,看了一个- b - 023资料,支持的FLASH有GD25VQ41B GD25VQ21B。
请问是只支持这两种型号还是类似的都可以支持呢,比如GD25VQ40C GD25Q16C,这些只是供电电压或者版本不一样,应该可以支持吧
您好,
大概率是可以,不过我们这边没有实物进行实测,所以无法给出确定答复