TI论坛
直播中

吴晓成

7年用户 362经验值
私信 关注
[问答]

样板工程Example_28335_Flash加入程序文件编译出错的解决办法?

请问专家:
我用样板工程Example_28335_Flash 加入程序文件.编译出错如下:
"C:/ti/controlSUITE/device_support/f2833x/v132/DSP2833x_common/cmd/F28335.cmd", line 144: error:
run placement fails for object ".ebss", size 0x3089 (page 1). Available
ranges:
RAML4 size: 0x1000 unused: 0x1000 max hole: 0x1000
.ebss : > RAML4 PAGE = 1 /* */
warning: entry-point symbol other than "_c_int00" specified: "code_start"
error: errors encountered during linking; "Example_28335_Flash.out" not built
如果我把 F28335.cmd 中   .ebss               : > RAML4      PAGE = 1  改为   .ebss               : > FLASHB      PAGE = 1
编译能通过.只有提示:warning: entry-point symbol other than "_c_int00" specified:  "code_start"
仿真运行时出现下面问题:
C28xx: AutoRun: Target not run as breakpoint could not be set: Error programming AET Job: This task cannot be accomplished with the existing AET resources.
code_start:
.if WD_DISABLE == 1
LB wd_disable ;Branch to watchdog disable code   -----程序进入到这个位置
.else
LB _c_int00 ;Branch to start of boot.asm in RTS library
.endif
再往下就不确定了.应怎么解决呢?

回帖(5)

冯敬宇

2020-6-4 13:07:29
QIUQING,
第一个错误ebss的变量空间超过了0x1000,即RAML4放不下了,所以出错,你应该把合并一下其他RAMLx到RAML4,地址要连续,比如RAML3L4 = 0X2000等来解决这个问题。
ebss是放变量的空间,不可以放在FLASHB中,不然就不能对变量进行写任何数据了。因为Flash需要API才能写。
Eric
                                                                         - ERIC
举报

孔喆

2020-6-4 13:26:06
引用: guigui_7044 发表于 2020-6-4 13:07
QIUQING,
第一个错误ebss的变量空间超过了0x1000,即RAML4放不下了,所以出错,你应该把合并一下其他RAMLx到RAML4,地址要连续,比如RAML3L4 = 0X2000等来解决这个问题。
ebss是放变量的空间,不可以放在FLASHB中,不然就不能对变量进行写任何数据了。因为Flash需要API才能写。

怎么合并RAM
举报

冯敬宇

2020-6-4 13:55:31
lvy,lin 关于合并RAM的某些段,例如
 RAMM0 : origin = 0x000050, length = 0x0003B0 /* on-chip RAM block M0 */
RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
合并后就是
RAMM0M1 : origin = 0x000050, length = 0x0007B0 /* on-chip RAM block M0M1 */
即是把两段地址合在一起。
 
Eric
 
                                                                         - ERIC
举报

孔喆

2020-6-4 14:11:46
引用: guigui_7044 发表于 2020-6-4 13:55
lvy,lin 关于合并RAM的某些段,例如
 RAMM0 : origin = 0x000050, length = 0x0003B0 /* on-chip RAM block M0 */
RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */

非常感谢,解决了
举报

更多回帖

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