针对外挂程序SPI Flash方案的切bank机制
发布时间:2020-12-15 07:19:58 所属栏目:百科 来源:网络整理
导读:由于主控内部没有集成足够的Flash空间 来存储代码。因此就需要利用 SPI总线 来外挂 Flash 作为代码存储区。 这就需要有一个bank的机制。对代码进行分bank 处理,分开存储。 对紧密相关的函数代码,放在同一个bank区之中。 在程序运行到时,才将整个bank区的
由于主控内部没有集成足够的Flash空间 来存储代码。因此就需要利用 SPI总线 来外挂 Flash 作为代码存储区。 这就需要有一个bank的机制。对代码进行分bank 处理,分开存储。 对紧密相关的函数代码,放在同一个bank区之中。 在程序运行到时,才将整个bank区的代码拷贝到 主控内部RAM中,缓存运行。 由于这样复杂的机制存在,所以不对代码进行很好的分bank处理,在以后的程序运行中,经常会导致很多奇奇怪怪的现象存在。 一般共同使用到的公共函数,要放在common区中,作为永久贮存。 其他函数则 分模块化 编程,代码连接时,分bank进行连接。 每个函数下调用的到的函数,都要存放在同一个bank区之中,否则会造成,在同一个函数内,频繁切换bank,轻则程序效率低下,重则程序瘫痪。 每一个bank区的大小,要与 主控内部RAM的空间对应,切记不可超过RAM的大小。 如果函数使用到一个很大的文件时,需要注意到此文件的存放位置,因为很有可能在读取此文件的过程中,又产生了切bank的行为,因为DMA的存在。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |