This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LS3137-FAPI:EP 库组选择 API 详细信息

Guru**** 2538520 points
Other Parts Discussed in Thread: TMS570LS3137, HALCOGEN

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1425852/tms570ls3137-ep-fapi-api-library-bank-selection-api-detail

器件型号:TMS570LS3137-TMS570LS EP
主题中讨论的其他器件:TMS570LS3137HALCOGEN

工具与软件:

尊敬的 TI 团队:

我一直在使用 TI MCU tms570ls3137、并想在 BANK7上使用虚拟 EEPROM、 因此、我执行了以下步骤

我已经通过 Halcogen 生成 FEE 驱动程序代码、并且包含了 FAPI 库。 使用 FAPI 库时、我的代码也在运行  

我能够在闪存上写入一个字节。 但我只能使用 FAPI、需要避免使用 FAPI 库。 由于在代码片段中、仍然只使用来自 FAPI 的2个 API

Fapi_initializeFlashBanks (180);  

Fapi_setActiveFlashBank (Fapi_Flash 2001);

因此我不能排除 FAPI 库。 为  Fapi_setActiveFlashBank (Fapi_Flash 在线中); FAPI 函数显示设置活动的闪存存储体

因此我替换成了 (flash_control_register->fmac.u32Register = 4507 Fapi_Flash;//0xFFF87050)、但我无法这样做  

设置此方法后写入、请参阅以下代码片段中的突出显示行。

我有各种问题  

问题1。    如果是的、我错了、我们可以编写自己的 API 来避免使用 FAPI 库吗? 在上方一行。

问题2: 您能否共享 gthese 2 API 定义、以便我们摆脱 FAPI 库依赖。

问题3。  当我进行调试时、我发现一些 Reserve 寄存器正在反映 Ex。 (CONFIG_FLOCK) 0x0000055AA (21930) --> 0x000000000 并清除  

在  Fapi_initializeFlashBanks (180)之后;  在  Fapi_setActiveFlashBank (Fapi_Flash 3877)之前选择 API 和 bank7;请告知我们保留寄存器的角色  

因为 TRM 手册和中未提供详细信息  

 Fapi_initializeFlashBanks (180)之前;调用                            在 Fapi_initializeFlashBanks (180)之后;调用

Fapi_Status 4.44返回检查= Fapi_Status_Success;
FwpWriteByteAccessorType * oFwpWriteByteAccessor = FWPWRITE_BYTE_ACCESSOR_ADDRESS;
FwpWriteByteAccessorType * oFwpWriteEccByteAccessor = FWPWRITE_ECC_BYTE_ACCER_ADDRESS;
FwpWriteDWordAccessorType * oFwpWriteDWordAccessor = FWPWRITE_DWORD_ACCESSOR_ADDRESS;

uint8 au8MainDataBuffer[16]={0x78、0x17、0x19、0x2E、0x0A、 0xB9、0x11、0x70、
0x5F、0xC1、0x9C、0xFD、0x54、 0x51、0xED、0x86};
uint32 u32索引;
Fapi_Fmc 01类型 REGISTER_OF_FLASH;
tcmflash_config_reg_t init_tcm_valu;
tcmflashGetConfigValue (&init_tcm_valu、InitialValue);

/*
在任何闪存之前正确初始化器件
操作、
请参阅特定于器件的初始化文档。
a// Fapi_Status 4.0返回检查= Fapi_Status_Success;sumes、除非另有说明、器件具有144位宽闪存组。
*/
oReturnCheck = Fapi_initializeFlashBanks (180);//示例代码假设180 MHz 的工作频率*

tcmflashGetConfigValue (&init_tcm_valu、CurrentValue);//CurrentValue
if ((oReturnCheck == Fapi_Status_Success)&&
(FLASH_CONTROL_REGISTER->FMSTAT.FMSTAT_BITS.BUSY!= Fapi_Status_Fsm y))

oReturnCheck = Fapi_setActiveFlashBank (Fapi_Flash 7);   //使用该行


// flash_control_register->fmac.u32Register = Fapi_Flash 3577;//此行不工作  
tcmflashGetConfigValue (&init_tcm_valu、CurrentValue);//CurrentValue

/*在此处放置特定示例代码*/
FLASH_CONTROL_REGISTER->Fbprot.u32Register = 1U;/*禁用1级保护*/
/*启用当前组的所有扇区进行擦除和编程。 EEPROM 组的更多信息
不超过16个扇区、该值必须为0xFFFF */
// flash_control_register->fmac.u32Register = Fapi_Flash 3577;//0xFFF87050
FLASH_CONTROL_REGISTER->Fbse.u32Register = 0xFFFF;
FLASH_CONTROL_REGISTER->Fbprot.u32Register = 0U;/*启用1级保护*/
/*解锁 FSM 寄存器以进行写入*/
// Fapi_issueAsyncCommandWithAddress (Fapi_Erase、(uint32_t*) 0xF0204000);/*为 BANK-1*/中的第8个扇区发送扇区擦除命令
// while ( fapi_check_fsm_ready_busy== Fapi_Status_Fsm 357y );
// while (FAPI_GET_FSM_STATUS!= Fapi_Status_Success);


FLASH_CONTROL_REGISTER->FsmWrEna.u32Register = 0x5U;

/*将命令设置为"清除状态寄存器"*/
FLASH_CONTROL_REGISTER->FsmCommand"命令 fsm_command_bits.FSMCMD = Fapi_Clear;
/*执行 Clear Status 命令*/
FLASH_CONTROL_REGISTER->FsmExecute.FSM_EXECT_BITS.FSMEXECUTE = 0x15U;
/*将地址写入 FADDR 寄存器*/
FLASH_CONTROL_REGISTER->Faddr.u32Register = 0xF0204000;
/*将字节放置在地址0x0102中*/
oFwpWriteByteAccessor[0]= 0xA5;
/*将命令设置为"Program"*/
FLASH_CONTROL_REGISTER->FsmCommand"命令 fsm_command_bits.FSMCMD = Fapi_Program;
/*执行 Program 命令*/
FLASH_CONTROL_REGISTER->FsmExecute.FSM_EXECT_BITS.FSMEXECUTE = 0x15U;

FLASH_CONTROL_REGISTER->FsmCommand"命令 fsm_command_bits.FSMCMD = Fapi_Erase congress;

FLASH_CONTROL_REGISTER->FsmExecute.FSM_EXECT_BITS.FSMEXECUTE = 0x15U;

FLASH_CONTROL_REGISTER->Faddr.u32Register = 0xF0204000;
/*重新锁定 FSM 寄存器以防止写入*/
FLASH_CONTROL_REGISTER->FsmWrEna.u32Register = 0x2U;

/*等待 FSM 完成*/
while (flash_control_register->fmstat.fmstat_bits.busy == Fapi_Status_Fsm y);
/*检查 FSM 状态以查看是否没有错误*/
如果(FLASH_CONTROL_REGISTER->FMSTAT.u32Register!= 0)

/*在此处放置错误处理代码*/
}
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Devendra:

    首先,道歉的迟回复,我在这段时间的其他问题被卡住.

    Unknown 说:
    Q1。    如果是的、我错了、我们可以编写自己的 API 来避免使用 FAPI 库吗? 在上面行
    [quote userid="627238" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1425852/tms570ls3137-ep-fapi-api-library-bank-selection-api-detail。 您能否共享 gthese 2 API 定义以便我们摆脱 FAPI 库依赖。[/QUOT]

    您可以创建自己的 API、没问题。

    不过、

    TI 通常不会分发 F021闪存库的源代码。  

    如果客户与 TI 签订了有效的 NDA、则仅出于认证目的我们可以向客户提供源代码。

    ——
    谢谢、此致、
    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 jagadish 的答复,你是否通过我的最后一个问题 Q3 ? 我正在尝试复制 fapi 库、但保留位有问题、没有提及任何有关保留位的信息、但在调试保留位时、这些信息会得到反映。请浏览我的代码片段。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、jagadish、

    是的、我们向法律团队核实了 NDA。 他们对"供应商完整的法律实体名称、地址和工作范围"有疑问、请提供这些详细信息以继续。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Devendra:

    是的、我们向法律团队核实了 NDA。 他们对"供应商完整的法律实体名称、地址和工作范围"有疑问、请提供这些详细信息以继续。  [报价]

    我不了解哪个法律团队、 我们如何才能告诉您的项目工作范围?

    ——
    谢谢、此致、
    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请分享 NDA 过程。 我们需要哪些输入。 抱歉、至少询问了供应商的完整名称和地址。   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Devendra:

    首先让我知道贵公司"Collins"位于哪里?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Collins Bengaluru(印度)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这家公司是否从事航空航天产品?

    重新定义航空航天| Collins Aerospace

    TI 是否有任何 FAE (现场应用工程师)联系?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Devendra:

    我向营销团队发送了一封关于 NDA 的邮件、他们回复后会更新信息。

    ——
    谢谢、此致、
    Jagadish。