我想知道当芯片上电时,把P0(p0_0 p0_3 p0_5 p0_6)改成其他端口作为SPI是否可以?
就是上电检测是否从外部flash启动,作为SPI接口我可以修改flash_programmer.bin文件检查其他管脚吗
关键词:
设备:
我想知道当芯片上电时,把P0(p0_0 p0_3 p0_5 p0_6)改成其他端口作为SPI是否可以?
就是上电检测是否从外部flash启动,作为SPI接口我可以修改flash_programmer.bin文件检查其他管脚吗
你好,
可以的。如果你是用电脑的SmartSnippets来烧录flash,则直接在SmartSnippets工具箱- >布局>橄榄球员&设置中配置即可。
你好:
请问SmartSnippets要求版本吗?我手中的没有找到对应的Booter&Setup选项,官方哪里有详细的说明文档吗
你好,
每个版本都有这个配置的,或许路径不一样;请仔细找一下。
最新的版本,在以下链接中找到并下载:
//www.wsdof.com/雷电竞官网登录products/connectivity/bluetooth-low..。
网页打开有点慢,请耐心
你好:
我刚接触这款芯片,具体情况是这样的,当初设计电路的时候,外接闪的SPI放在了P1脚上,所以问一下从外部启动是否改变管脚,查除了P0脚以外的管脚,您的意思是对应的SmartSnippets软件中我可以配置成我自己想要的管脚,然后执行SPI flash将应用下载到外接flash中即可吗?
你好,
芯片的启动流程是这样的:
1.上电,产生复位,芯片启动引导流程(引导代码在芯片内部的rom中)
2.引导程序依次,循环地检测各个默认的端口(外部spi flash属于spi奴隶端口)是否有时序,然后与有效的端口通讯
3.端口通讯成功后,会依照既定的协议,将用户的固件加载到芯片内部的ram中,然后软件复位,运行ram中的用户固件
使用SmartSnippets工具箱,通过580给flash烧程序的流程如下:
1.580 和SmartSnippets通过串口(默认P04 P05)通讯,握手成功
2.SmartSnippets通过串口,将flash_programer.bin这个固件加载到580的内存中并运行
3.flash_programer运行之后,会通过串口,继续与SmartSnippets通讯,实现:配置flash的spi口,擦除闪存,接收SmartSnippets发送的用户固件数据,烧录到flash中等。
回到你的问题,默认的spi口改变了之后,应该如何让580成功从定制的spi口加载flash中的代码?
方法如下:
1.打开sdk中二级引导装载程序的工程,找到SPI_BOOTER相关的代码,修改其中的spi引导引脚配置。
2.将二级引导装载程序编译,烧录到580的OTP中
修改后,580 启动流程如下:
1.580上电,发现OTP中有程序(二级引导装载程序),将其拷贝到ram中运行
2.二级引导装载程序运行后,从相应的spi接口中,将flash的固件拷贝到ram中,并运行
以上方法,建议你先接触,熟悉SUOTA的流程之后,再尝试使用。
修改默认spi flash接口会带来一些额外的工作,在开发阶段会造成一些麻烦,请尽量选用默认的接口。
您好:
很详细了,谢谢。主要是现在板子硬件改动可能小,根据您的经验,如果修改SPI接口,对于后续产品化,包括工装设计,产线检测,OTA升级等方面会造成麻烦吗?方便说明造成的额外工作具体指哪些方面吗?现在的硬件如果使用默认的SPI,对于我们目前硬件设计来说,布线会影响信号。
你好,
额外的工作,即我上述所说之内容。
总而言之,改变默认spi引脚,就必须烧录二次引导装载程序来进行适配,如果你的产品是支持OTA的,则这个不算额外的工作,因为OTA也必须烧录二级引导装载程序
您好:
实验过了,太感谢了!!
不客气