- 主题:两个mcu共享一片flash,能做到吗?
没有片内flash,只有4k片内otp存bootloader,也没有串口,公司自己的芯片,非常小众,市面上买不到的。两个mcu的应用程序都存在flash中,各自的bootloader会从flash中加载程序,理想的情况:第一个mcu先加载,然后第二个再加载,第二个会稍有延迟,但很短。现在的问题就是同步,要让两个mcu互斥访问flash。另外,两个mcu在运行过程中可能也会异步访问flash读取某些配置项
【 在 liu7894 的大作中提到: 】
: 你的mcu 没有片内的flash?
: 如果2个mcu 的固件都要存在这个flash里,并自行引导的话,你这个想法是错误的。
: 你能说这2个mcu的型号吗?
: ...................
--
修改:aventadors FROM 223.104.9.*
FROM 223.104.9.*
其实就是一个mcu在访问时,比如将某个gpio拉低,另一个mcu访问前需要先去判断这个gpio状态,只有是高的时候才可访问。是这意思吗?
【 在 feiy 的大作中提到: 】
: 1. 随便找个共享的状态变量,实现互斥。确保一个MCU在访问时,另外一个不能访问需要等待。这个状态可以是实际的状态电平,也可以是两个MCU之间的通信交互
: 2. 每个MCU访问完外部FLASH后,记得将MOSI/SCK/CS对应的管脚,临时配置为无上拉的IO高阻输入,从而可以减少对另外一个MCU访问的干扰。
:
--
FROM 223.104.9.*
除非你们能修改bootloader的代码,然后在应用中 使用串口通信做同步。
即读配置数据的时候,在应用中 一次性把这些数据读到RAM里。
这是不理解,为了一片flash ,这么给自己找麻烦,你们领导估计也是有情节的,哈哈
【 在 aventadors 的大作中提到: 】
: 没有片内flash,只有4k片内otp存bootloader,也没有串口,公司自己的芯片,非常小众,市面上买不到的。两个mcu的应用程序都存在flash中,各自的bootloader会从flash中加载程序,理想的情况:第一个mcu先加载,然后第二个再加载,第二个会稍有延迟,但很短。现在的问题就是同步,要让两个mcu互斥访问flash。另外,两个mcu在运行过程中可能也会异步访问flash读取某些配置项
--
FROM 123.122.8.*
ram也非常小,不足以一次性将firmware和配置全部加载进去,就如我主贴说的,我现在的想法是,两个MCU各用一个GPIO 连在flash的CS上,每次在读之前,先读此GPIO,若为高,表明此时flash空闲,可读;否则返回重试直到GPIO为低。但有一种情况:若两个MCU恰好同时读CS,此时返回的值都是高,则两个MCU就可能同时读
【 在 liu7894 的大作中提到: 】
: 除非你们能修改bootloader的代码,然后在应用中 使用串口通信做同步。
: 即读配置数据的时候,在应用中 一次性把这些数据读到RAM里。
: 这是不理解,为了一片flash ,这么给自己找麻烦,你们领导估计也是有情节的,哈哈
--
FROM 183.222.204.*
每个MCU各伸出一个GPIO到对方的中断输入脚,自身中断都配置成沿触发模式,哪个MCU要读Flash了,就翻转GPIO,提示对方,资源占用,读取完毕后,再翻转GPIO,提示对方资源空闲。
--
FROM 120.244.34.*
你这个想法看起来跟我的方案类似,我是想两个mcu都直接拿个gpio接flash的cs。
不过这个方案有个问题:假如两个mcu恰好同时拉低gpio呢
【 在 qinwenren 的大作中提到: 】
: 每个MCU各伸出一个GPIO到对方的中断输入脚,自身中断都配置成沿触发模式,哪个MCU要读Flash了,就翻转GPIO,提示对方,资源占用,读取完毕后,再翻转GPIO,提示对方资源空闲。
--
FROM 223.104.9.*
这架构错了。思路大清奇了
【 在 aventadors 的大作中提到: 】
:
: 领导的指示,理解不理解都要执行,不容置疑
: 【 在 Ylong 的大作中提到: 】
: : 我觉得如果这么做省不了六位数的钱就是穷折腾。当然,为了给公司创造就业岗位另当别论。
: :
#发自zSMTH@HMA-AL00
--
FROM 123.113.229.*
mcu 1的CS 加个非门作为mcu2的CS的buffer的使能端。mcu1的优先级高。
【 在 aventadors (aventadors) 的大作中提到: 】
: 还是没明白,给CS加个非门能起个啥作用呢?
--
FROM 120.245.132.*
一个发出cs后,另一个路就断开 用电路
【 在 aventadors 的大作中提到: 】
:
: 加个互锁啥意思?能详细说一下吗
: --
:
发自「今日水木 on V1934A」
--
FROM 1.202.106.*
用非门。
可以 保证 互斥
【 在 aventadors 的大作中提到: 】
: 你这个想法看起来跟我的方案类似,我是想两个mcu都直接拿个gpio接flash的cs。
: 不过这个方案有个问题:假如两个mcu恰好同时拉低gpio呢
: 【 在 qinwenren 的大作中提到: 】
: ...................
--来自微水木3.5.11
--
FROM 221.220.60.*