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.

[参考译文] RTOS:FALSH API F021查询

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/665631/rtos-falsh-api-f021-query

主题中讨论的其他器件:TMS570LS1224

工具/软件:TI-RTOS

如何在 ram 中运行闪存 API,我将 tms570ls1224与 CCS 7一起使用。

如下所示更改了 sys_link.cmd 文件

是这样吗?

如何检查通过 RAM 运行的闪存 API?

/*------------------ *
/* sys_link_freertos.cmd */
/**//
/*
*版权所有(C) 2009-2016德州仪器(TI)公司- www.ti.com
*
*
*以源代码和二进制形式重新分发和使用、有无
*如果满足以下条件、则允许进行修改
符合*:
*
*源代码的重新分发必须保留上述版权
*注意、此条件列表和以下免责声明。
*
*二进制形式的再发行必须复制上述版权
*请注意、中的此条件列表和以下免责声明
*随提供的文档和/或其他材料
*分发。
*
*德州仪器公司的名称和名称均不相同
*其贡献者可用于认可或推广衍生产品
*未经特定的事先书面许可。
*
*本软件由版权所有者和贡献者提供
*"按原样"以及任何明示或暗示的保证、包括但不包括
*仅限于对适销性和适用性的暗示保证
*一项特定目的不予承认。 在任何情况下、版权均不得
*所有者或贡献者应对任何直接、间接、偶然或
*特殊、惩戒性或后果性损害(包括但不包括)
*仅限于采购替代货物或服务;丧失使用、
*数据或利润;或业务中断)
*责任理论、无论是合同责任、严格责任还是侵权行为
*(包括疏忽或其他)因使用而以任何方式产生
*、即使被告知可能会发生此类损坏。
*
*

/**//
/*------------------ *
/*用户代码开始(0)*/
/*用户代码结束*/
/*------------------ *
/*链接器设置*/

--retain="*(.intvecs)"

/*用户代码开始(1)*/
/*用户代码结束*/

/*------------------ *
/*内存映射*/

存储器

引导程序(X):origin=0x00000000 length=0x00000020
内核(RX):origin=0x00000020 length=0x00008000
FLASH0 (RX):origin=0x00008020 length=0x00137FE0
堆栈(RW):origin=0x08000000 length=0x00000800
Kram (RW):origin=0x08000800 length=0x00000800
RAM (RW):origin=(0x08000800+0x00000800) length=(0x0002F800 - 0x00000800)

/*用户代码开始(2)*/
/*用户代码结束*/

/*用户代码开始(3)*/
/*用户代码结束*/

/*------------------ *
/*段配置*/

部分

.intvecs:{}>向量
闪存受保护区域中的/* FreeRTOS 内核*/
.kernelTEXT:{}>内核
.cinit:{}>内核
.pinit:{}>内核
/*将其余代码转换为用户模式闪存区域*/
.text:{}> FLASH0
.const:{}>FLASH0
/* RAM 受保护区域中的 FreeRTOS 内核数据*/
.kernelbss:{}>Kram
.kernelHEAP:{}> RAM
.bss:{}> RAM
.data :{}> RAM
/*用户代码开始(4)*/
flashapi:load = flash、run = RAM、load_start (FlashApi_LoadStart)、load_end (FlashApi_LoadEnd)、load_size (FlashApi_LoadSize)、 RUN_START (FlashApi_RunStart)、RUN_END (FlashApi_RunEnd)、RUN_SIZE (FlashApi_RunSize)、

F021_API_CortexR4_be_v3D16.lib (.text)

/*用户代码结束*/

/*用户代码开始(5)*/
/*用户代码结束*/

/*------------------ *
/*其他*/

/*用户代码开始(6)*/
/*用户代码结束*/

/*------------------ *

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

    Prabu、您好!

    缺少的部分是您在调用闪存 API 时的代码。

    flashapi:load = flash、run = RAM、load_start (FlashApi_LoadStart)、load_end (FlashApi_LoadEnd)、load_size (FlashApi_LoadSize)、 RUN_START (FlashApi_RunStart)、RUN_END (FlashApi_RunEnd)、RUN_SIZE (FlashApi_RunSize)、

    您的代码.obj (.text)

    F021_API_CortexR4_be_v3D16.lib (.text)


    在 main()中,请将此段(flashapi)复制到 RAM。