创龙科技
直播中

韩冬

7年用户 117经验值
私信 关注

SPI flash烧写程序编译时出现错误

OMAP-L138_FlashAndBootUtils TI 的烧写工具集

中的SPI1 flash启动,



代码编译时出现如下错误,该如何解决?

undefined          first referenced                                                           
  symbol                in file                                                               
---------          ----------------                                                           
EXTERNAL_RAM_END   C:/ti/OMAP-L138_FlashAndBootUtils_2_40/OMAP-L138/CCS/SPIWriter/DSP/util.obj
EXTERNAL_RAM_START C:/ti/OMAP-L138_FlashAndBootUtils_2_40/OMAP-L138/CCS/SPIWriter/DSP/util.obj


error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "C:/ti/OMAP-L138_FlashAndBootUtils_2_40/OMAP-L138/CCS/SPIWriter/SPIWriter_DSP/../../../../OMAP-L138/CCS/SPIWriter/DSP/SPIWriter_OMAP-L138.out" not built


EXTERNAL_RAM_END及EXTERNAL_RAM_START该如何定义呢?



在util.c文件中对其定义如下:

extern __FAR__ Uint32 EXTERNAL_RAM_START, EXTERNAL_RAM_END;




回帖(4)

李雅文

2019-8-29 08:10:43
接上述继续描述:
我将上述2个变量强制定义如下
#define EXTERNAL_RAM_START        (0xc0000000)                //REVISIT dynamic memory allocation in DDR
#define EXTERNAL_RAM_END        (EXTERNAL_RAM_START        + 0x00020000)
但又报了新错误。
程序如下:
if((currMemPtr + size_temp) > ((Uint32) &EXTERNAL_RAM_END))
  {
    return NULL;
  }

  cPtr = (void *) (((Uint32) &EXTERNAL_RAM_START) + currMemPtr);
  currMemPtr += size_temp;

编译针对上述报错如下:
"C:/ti/OMAP-L138_FlashAndBootUtils_2_40/Common/src/util.c", line 121: error #160: expression must be an lvalue or a function designator
"C:/ti/OMAP-L138_FlashAndBootUtils_2_40/Common/src/util.c", line 126: error #160: expression must be an lvalue or a function designator

如何解决呢?


举报

王耀昱

2019-8-29 08:19:01



是在 CMD 文件定义的~

举报

李开心

2019-8-29 08:32:17


非常感谢!
我用的烧写程序集的SPIWriter_DSP.CMD其中有一段定义如下:
.extram
  {
    . += 0x04000000;
  } load = DRAM, FILL=0x00000000, type=DSECT, START(_EXTERNAL_RAM_START), END(_EXTERNAL_RAM_END), SIZE(_EXTERNAL_RAM_SIZE)

但编译时就是会报错误,所以我现在是强制定义了那两个宏。

举报

马慧霞

2019-8-29 08:43:48
楼主怎么解决的,我现在遇到同样一个问题。
CMD是定义了,但是编译还是错误
举报

更多回帖

发帖
×
20
完善资料,
赚取积分