针对外挂程序SPI Flash方案的切bank机制

由于主控内部没有集成足够的Flash空间 来存储代码。因此就需要利用 SPI总线 来外挂 Flash 作为代码存储区。

这就需要有一个bank的机制。对代码进行分bank 处理,分开存储。

对紧密相关的函数代码,放在同一个bank区之中。

在程序运行到时,才将整个bank区的代码拷贝到 主控内部RAM中,缓存运行。

由于这样复杂的机制存在,所以不对代码进行很好的分bank处理,在以后的程序运行中,经常会导致很多奇奇怪怪的现象存在。

一般共同使用到的公共函数,要放在common区中,作为永久贮存。

其他函数则 分模块化 编程,代码连接时,分bank进行连接。

每个函数下调用的到的函数,都要存放在同一个bank区之中,否则会造成,在同一个函数内,频繁切换bank,轻则程序效率低下,重则程序瘫痪。

每一个bank区的大小,要与 主控内部RAM的空间对应,切记不可超过RAM的大小。

如果函数使用到一个很大的文件时,需要注意到此文件的存放位置,因为很有可能在读取此文件的过程中,又产生了切bank的行为,因为DMA的存在。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值