- 主题:请教一个问题的解决方案
B控制A的复位。然后就模拟SPI的时序把bin发过去就行了。
A的复位从外部SPI启动的时序手册里面能找到。
【 在 LACARY (狂奔的蜗牛) 的大作中提到: 】
: 现有一块板子,MCU A+片外spi flash,MCU A 的fw存在spi flash中。目前因为需求改变,增加了另一块MCU B,MCU B片内flash较大,因此想将MCU A的fw存在MCU B中,以节省spi flash的成本。为了不改MCU A 的spi 驱动,需要在MCU B的spi 驱动中实现类似spi flash一样的接口(
: 我看了几款spi flash的data sheet,我猜测它们内部的硬件应该是检测了CS,CS拉低后的第一个数据就是命令,这样判断的,但是在fw中如何能达到这个目的?
--
FROM 120.245.132.*
动态加载更好办啊。
两边固定的bit信号握手就行,成功之后加载。
【 在 LACARY (狂奔的蜗牛) 的大作中提到: 】
: 这个方案刚开始我也这样想过,因为这时B就知道A发过来的第一个字节肯定就是opcode,但由于A片内内存非常小,不能一次把fw加载完,因此采用了动态加载的办法,就是A在运行过程中根据需要去B中加载相应的段。
--
FROM 120.245.132.*
就是随便约定个有规律的信号
或者A准备好了,给B发终端。
【 在 LACARY (狂奔的蜗牛) 的大作中提到: 】
: "固定的bit信号握手"啥意思,能细说一下吗
--
FROM 120.245.132.*
嗯嗯。固定端口的中断也行啊。
【 在 LACARY (狂奔的蜗牛) 的大作中提到: 】
: 就是这个办法吧:在A的spi驱动中,发读命令前加一个魔数,就是这样的格式:4字节魔数+1字节opcode+3字节地址,B检测到这个魔数就知道opcode和地址了
--
FROM 120.245.132.*