工具/软件:
您好、
我尝试让闪存 API 正常工作、并遵循常见问题解答及其他资源。 我已设置链接器文件来存储闪存 API 库、并遵循以下步骤。 但是、我使用的是 Device_init () 函数、它执行步骤 b。在步骤 a 之前、但除此之外、其他一切都是按相同的顺序进行的。 当我调用 Fapi_setActiveFlashBank (Bank0) 时会发生问题;我收到返回的 Fapi_Error_Invalid Fapi_Flash 错误。 我不确定会出现什么问题? 系统时钟配置为 200MHz。
a.配置 PLL
b.将闪存初始化代码从闪存复制到 RAM
c.将闪存 API 从闪存复制到 RAM
d.初始化闪存等待状态、回退功耗模式、性能特性和 ECC
e.使用泵信标获取闪存泵的所有权(不适用于某些设备,例如 TMS320F28004x)。
f.应在调用闪存 API 函数之前执行 EALLOW (C28x) 或 MWRALLOW (ARM) 以允许对受保护的寄存器进行写入。 这是 Concerto、F2837xD 和 F2807x 器件需要的。
G.应在调用闪存 API 函数后执行 EDIS 以禁止对受保护的寄存器进行写入。 这是 Concerto、F2837xD、F2837xS 和 F2807x 器件所必需的。
h.通过提供闪存寄存器基地址和工作频率来初始化闪存 API
Fapi_initializeAPI (F021_CPU1_BASE_ADDRESS、200);
i.初始化闪存组和 FMC 以进行擦除和编程操作
Fapi_setActiveFlashBank (Fapi_Flash 组 0);
