主题中讨论的其他器件:C2000WARE
您好!
我已经在 include 中包含了 API 文件和所有源文件、但一旦调用擦除闪存、就会显示以下错误:
但我没有在任何地方指定任何此类位置。 请支持解决此问题。 如果有人可以支持、也可以在何处编辑此位置。 这将会大有帮助
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.
您好!
我已经在 include 中包含了 API 文件和所有源文件、但一旦调用擦除闪存、就会显示以下错误:
但我没有在任何地方指定任何此类位置。 请支持解决此问题。 如果有人可以支持、也可以在何处编辑此位置。 这将会大有帮助
Needigya、
好的。
我建议您查看 C2000Ware 中的闪存编程示例、网址 为 C2000Ware_3_03_00_00\device_support\f2837xs\examples\cpu1\flash_programming\cpu01
您能否检查是从闪存还是 RAM 执行闪存 API? 如果您在链接器 cmd 文件中将其映射到闪存进行加载、并将 RAM 用于执行、则请确保在应用程序中调用闪存 API 函数之前使用 memcpy ()将闪存 API 复制到 RAM。
此常见问题解答可为您提供帮助: e2e.ti.com/.../951668
请搜索"当闪存 API 无法擦除或编程时、我们可以考虑哪些常见调试提示?" 在上面的常见问题解答中。
如果 C2000Ware 示例和常见问题解答对解决您的问题没有帮助、请告诉我、我可以提供帮助。
谢谢、此致、
Vamsi
Needigya、
您不需要闪存 API 源即可对其进行调试。
请发送给我:
(i)链接器 cmd 文件
(二)地图文件
(iii)代码片段、您可以在其中调用闪存初始化例程(用于设置 waitstates)、memcpy ()和 Fapi_initiatizeAPI ()。
我还建议您查看此常见问题解答、以防它为您触发任何调试提示: e2e.ti.com/.../878674
此外、您还可以单步执行示例代码并查看示例工程的链接器 cmd 和编译设置、以了解该代码与您的工程之间的差异。 同样、无需单步执行闪存 API 函数。
谢谢、此致、
Vamsi
您好!
以下是 cmd 文件:
/*
//######################################################################################################################
//文件:flash_programming_cpu1_flash.cmd
//标题:所有 F28X7x 器件的链接器命令文件
//######################################################################################################################
//$TI 版本:F2837xS 支持库 v191 $
//$Release Date:星期五3月11日15:58:35 CST 2016 $
//版权所有:版权所有(C) 2014-2016 Texas Instruments Incorporated -
// http://www.ti.com/保留所有权利$
//######################################################################################################################
*
/*===================================================================
//适用于 Code Composer Studio V2.2和更高版本
//--------------------------------------------------------
//除了该内存链接器命令文件外,
//将头文件链接器命令文件直接添加到工程中。
//链接时需要标头链接器命令文件
//将外设结构设置到内部的适当位置
//存储器映射。
//在中找到了头文件链接器文件 \F2837xS_headers\cmd
//对于 BIOS 应用程序添加:F28X7x_Headers_BIOS.cmd
//对于非 BIOS 应用程序添加:F28X7x_Headers_nonBIOS.cmd
=================================================================================================== *
/*定义 F28X7x 的存储器块开始/长度
PAGE 0将用于组织程序段
第1页将用于组织数据段
注:
F28M3Xx 上的存储器块是一致的(也是相同的
物理存储器)。
不应该是相同的存储器区域
同时为 PAGE 0和 PAGE 1定义。
这样做将导致程序损坏
和/或数据。
可以是连续的 SARAM 存储器块或闪存扇区
组合在一起以创建更大的存储器块。
*
存储器
{
第0页:/*程序内存*/
/*内存(RAM/FLASH)块可移动到 Page1进行数据分配*/
/* begin 用于"引导至闪存"引导加载程序模式*/
开始:origin = 0x080000,length = 0x000002
RAMM0:origin = 0x000122、length = 0x0002DE
RAMD0:origin = 0x00B000、length = 0x000800
RAMLS03:origin = 0x008000、length = 0x002000
/* RAMLS1:origin = 0x008800,length = 0x000800
RAMLS2:origin = 0x009000,length = 0x000800
RAMLS3:origin = 0x009800、length = 0x000800 *
RAMLS4:origin = 0x00A000,length = 0x000800
复位:origin = 0x3FFFC0,length = 0x000002
/*闪存扇区*/
FLASHA:origin = 0x080002,length = 0x001FFE /*片上闪存*/
FLASHB:origin = 0x082000、length = 0x002000 //片上闪存*
FLASHC:origin = 0x084000,length = 0x002000 //片上闪存*/
FLASHD:origin = 0x086000、length = 0x002000 //片上闪存*/
FLASHE:origin = 0x088000、length = 0x008000 //片上闪存*/
FLASHF:origin = 0x090000,length = 0x008000 //片上闪存*
FLASHG:origin = 0x098000、length = 0x008000 //片上闪存*/
FLASHH:origin = 0x0A0000,length = 0x008000 //片上闪存*/
FLASHI:origin = 0x0A8000、length = 0x008000 //片上闪存*/
// FLASHJ:origin = 0x0B0000,length = 0x008000 //片上闪存*/
// FLASHK:origin = 0x0B8000、length = 0x002000 //片上闪存*/
// FLASHL:origin = 0x0BA000、length = 0x002000 //片上闪存*/
// FLASHM:origin = 0x0BC000、length = 0x002000 //片上闪存*/
// FLASHN:origin = 0x0BE000,length = 0x002000 //片上闪存*/
第1页:/*数据存储器*/
/*内存(RAM/FLASH)块可移动到 PAGE0进行程序分配*/
BOOT_RSVD:origin = 0x000002,length = 0x000120 // M0的一部分,引导 ROM 将此用于栈*/
RAMM1:origin = 0x000400、length = 0x000400 //片上 RAM 块 M1 *
RAMD1:origin = 0x00B800,length = 0x000800
RAMLS5:origin = 0x00A800,length = 0x000800
RAMGS0:origin = 0x00C000、length = 0x001000
RAMGS1:origin = 0x00D000、length = 0x001000
RAMGS2:origin = 0x00E000、length = 0x001000
RAMGS3:origin = 0x00F000、length = 0x001000
RAMGS4:origin = 0x010000,length = 0x001000
RAMGS5:origin = 0x011000,length = 0x001000
RAMGS6:origin = 0x012000,length = 0x001000
RAMGS7:origin = 0x013000,length = 0x001000
}
部分
{
/*分配计划领域:*/
.cinit:> FLASHD PAGE = 0
.pinit:> FLASHD,page = 0
.text:>> FLASHD | FLASHE PAGE = 0
codestart:> begin page = 0
组
{
ramfuncs
{-l F021_API_F2837xS_FPU32.lib}
.TI.ramfunc
}负载= FLASHD,
运行= RAMLS03、
load_start (_RamfuncsLoadStart)、
load_size (_RamfuncsLoadSize)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
run_size (_RamfuncsRunSize)、
run_end (_RamfuncsRunEnd)、
PAGE = 0
/*分配未初始化的数据段:*/
.stack:>RAMM1 page = 1.
.ebss:>> RAMLS5 | RAMGS0 | RAMGS1 PAGE = 1.
.esysmem:> RAMLS5 PAGE = 1.
/*初始化段进入闪存*/
econst:>> FLASHF | FLASHG PAGE = 0
.switch:> FLASHD PAGE = 0
.reset:> reset,page = 0,type = DSECT //未使用,*/
filter_RegsFile:> RAMGS0,PAGE = 1
SHARERAMGS0:> RAMGS0,PAGE = 1
SHARERAMGS1:>RAMGS1,PAGE = 1.
/*闪存编程缓冲器*/
BufferDataSection:>RAMD1,PAGE = 1,ALIG(4)
}
/*
//============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
//文件结束。
//============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
*