SPI flash烧写程序理解 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9613|回复: 4
打印 上一主题 下一主题

SPI flash烧写程序理解

[复制链接]

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
跳转到指定楼层
楼主
发表于 2014-12-4 11:19:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 shejishi0225 于 2014-12-4 11:22 编辑

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_ENDEXTERNAL_RAM_START该如何定义呢?

在util.c文件中对其定义如下:
extern __FAR__ Uint32 EXTERNAL_RAM_START, EXTERNAL_RAM_END;





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
沙发
 楼主| 发表于 2014-12-4 15:55:55 | 只看该作者
接上述继续描述:
我将上述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

如何解决呢?

回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
板凳
发表于 2014-12-5 09:21:33 | 只看该作者



是在 CMD 文件定义的~
回复 支持 反对

使用道具 举报

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
地板
 楼主| 发表于 2014-12-5 13:40:18 | 只看该作者
希望缄默 发表于 2014-12-5 09:21
是在 CMD 文件定义的~

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

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

使用道具 举报

6

主题

12

帖子

1193

积分

金牌会员

Rank: 6Rank: 6

积分
1193
5#
发表于 2018-10-24 13:56:12 | 只看该作者
楼主怎么解决的,我现在遇到同样一个问题。
CMD是定义了,但是编译还是错误

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-4-25 17:52 , Processed in 0.038856 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表