跳过主要内容

如何从外部闪存启动?

DA14531

5月前

提交者MrWeng30分 3 个回复
0 个点赞

附件1的图片是DA14531连接外部flash的原理图,所使用的闪光是P25Q40H,引脚连接如下:莫西人- > P0_7; CS - > P0_8;味噌——> P0_9; SPI_CLK - > P0_5。根据这篇文章第6.2节的描述,文章链接:http://lpccs-docs.dialog-semiconductor.com/UM-B-119_DA14585-DA14531_SW_Platform_Reference/Appendix/Appendix.html#creation-of-a-secondary-bootloader,我进行了以下操作:

1,打开SDK目录下的“\工具\ secondary_bootloader”的secondary_bootloader工程,并对文件user_periph_setup.h进行以下代码的修改,定义了P25Q40U_MANF_DEV_ID, P25Q40U_SIZE, P25Q40U_PAGE,已经更改了连接闪的引脚

/ / SPI Flash选项# define W25X10CL_SIZE # 131072 / / SPI Flash内存大小字节定义W25X20CL_SIZE # 262144 / / SPI Flash内存大小字节定义MX25R2035F_SIZE # 262144 / / SPI Flash内存大小字节定义P25Q40U_SIZE 524288 / / SPI Flash内存大小字节新增# define W25X10CL_PAGE 256 / / SPI闪存页面大小字节#定义W25X20CL_PAGE 256 / / SPI闪存页面大小字节# define MX25R2035F_PAGE 256 / / SPI闪存页面大小256字节# define P25Q40U_PAGE / / SPI闪存页面大小的字节新增/ /定义SPI垫#如果定义(__DA14531__) # define SPI_EN_PORT GPIO_PORT_0 # define SPI_EN_PIN GPIO_PIN_8 # define SPI_CLK_PORT GPIO_PORT_0 #定义SPI_CLK_PINGPIO_PIN_5 #define SPI_DO_PORT GPIO_PORT_0 #define SPI_DO_PIN GPIO_PIN_7 #define SPI_DI_PORT GPIO_PORT_0 #define SPI_DI_PIN GPIO_PIN_9

2、编译并生成了十六进制文件,根据文章的描述,将该十六进制文件通过JTAG烧录至OTP存储器,抵消OTP存储器:0,并且启用了应用程序标记1和旗帜

3、将工程文件的六角通过JTAG烧录至外部闪光灯。

以上就是我进行的操作,在此之前,已经通过SDK中的SPI例程验证过闪没有问题,根据工程文件仿真的结果,串口应该会有数据输出,但是完成以上操作后,串口没有数据输出,通过示波器查看相应的串口引脚,也没有波形变化。

请问我上述的步骤是否有问题,如何解决?

谢谢

附件 大小
DA14531连接外面闪原理图 67.95 KB

4月前

马丁。通用电气

嗨MrWeng,

请问您是想要从自定义的SPI Pin脚从外部闪进行启动吗?

如果是这样,需要修改OTP头中特定地址的参数。并且如果在OTP中烧录了二级引导装载程序,需要将OTP头中应用程序的标志设置为是的。

具体可参考:

//www.xmece.com/sites/default/files/2021-01/AN-B-0..。

中的部分11:从特定的SPI端口引导

Br

马丁

4月前

MrWeng 30分

嗨,马丁。通用电气

是的,我是想要从自定义的SPI Pin脚从外部闪进行启动,我已经详细阅读了你所提供的参考的文章的Section11,在OTP Headwe的地址:0 x07f87fc8设定的值为02 ffabaa(另外一颗芯片设置的是027 fabaa),地址:0 x07f87fcc设定的值为09070805(这是根据我自定义的SPI Pin脚设定的),除此之外,在Configuartion脚本的价值中设定了SYS_CTRL_REG的值为1 a1(这是为了避免设置OTP后,社署被禁用),除此之外,我另外一颗芯片还Flag1将应用程序和应用程序Flag2设置成是的,随后我将目前十六进制文件烧录至flash,完成了以上操作后,两颗芯片都没有实现我想要的目的,请问上述操作是否有问题,该如何解决吗?谢谢

附件是我配置的截图。

附件 大小
QQ截jpg图20210324142828. 102.79 KB
QQ截jpg图20210324142841. 73.93 KB

4月前

马丁。通用电气

嗨MrWeng,

您已经将二级引导装载程序烧录到otp内存了,不需要指定otp标题里的spi引脚字段了。

建议用示波器查看下SPI引脚是否有数据输出。

在烧录二次引导装载程序到otp之前,有没有试过将二级引导装载程序烧录到flash中进行验证吗?

Br

马丁