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.

TMS320F28030的FLASH API函数调用问题

Other Parts Discussed in Thread: CONTROLSUITE

大家好!

     我遇到一个怪怪的问题,我在一个工程中可以使用flash API函数,但是在一个新建的工程中在调用flash API函数时,执行到擦除,或者写入函数时就跳不出来了,卡死那了。我反复对照了两个工程的设置问题,都没找到问题所在,哪位大侠指点一下呗!

  • 您好,

    可以从以下两个方面查找问题:

    (1)首先请仔细检查两个工程的工程设置是否完全一致,尤其注意 Linker command file 中所选择的 .cmd 文件是否选择正确;

    (2)Flash API 操作函数的调用必须在保证是 RAM 中进行的,请确认在新的工程中这一点是否正确。

  • 您好!

           Linker command file 中所选择的 .cmd 为DSP2803x_Headers_nonBIOS.cmd,并且flash API操作函数的调用也是加载到RAM中执行的啊!还是运行不了的!

  • 请问原来正确执行的工程中也是这样设置的吗?

    请将 Linker command file 中所选择的 .cmd 改为 F28030.cmd 或者 28030_RAM_lnk.cmd,重新编译运行,看看问题是否能够解决。

  • 原来正确执行工程是这样设置的,

     Linker command file 中所选择的 .cmd 改为 F28030.cmd ,或者28030_RAM_lnk.cmd,还是不行的!我都晕了,到底问题出在什么地方呢?~~~~(>_<)~~~~ 

  • 请问现在出现的现象或者错误提示是什么?劳驾再使用原来的工程下载和运行一下,是否仍然能够正确运行?

  • 您好!

        出现的现象就是运行到Status = Flash_Erase(SECTORC,&FlashStatus);该句时,就死在这里了,也没有错误提醒;刚把我新建工程里面的源文件,及头文件全部搬移到原来工程下,还是出现相同的问题,难道是我的其他函数会影响flash的操作?

  • 请尝试先不添加任何新的操作,保留原来的工程不改变,使用原来相同的操作方法,观察是否还能够恢复正确的运行。

    如果原来能够顺利运行的工程现在也无法正确操作的话,再按顺序做以下尝试:

    (1)将原来工程中的Linker command file 选择的 .cmd 改为 F28030.cmd,尝试能否正确运行;

    (2)如果(1)还不行,请在 controlSUITE 中找到 TI 官方提供的 FlashAPI 示例工程,将工程导入到 CCS,尝试示例工程能否正确运行(注意Linker command file 应该为 F28030.cmd)。