在线等,MSP430FR5949,XCL文件问题

2019-03-24 08:50发布

单片机跑Free RTOS的程序没有问题,由于5949有16K的FRAM是0X10000-0X13000;为了使用指针指向高地址,将设置中的Data Model改为Large之后,编译就报错了,报错如下,
  1. Error[e16]: Segment CSTACK (size: 0x64 align: 0x1) is too long for segment definition. At least 0x50 more bytes needed. The problem occurred while processing the segment placement command "-Z(DATA)CSTACK+_STACK_SIZE#", where at the moment of placement the available memory ranges were "CODE:23ec-23ff"
  2. Reserved ranges relevant to this placement:
  3. 1c00-1c09 DATA20_I
  4. 1c0a-23eb DATA20_Z
  5. 23ec-23ff CSTACK
复制代码
堆栈设置为100,意思是只有20可以设置?但是我不改成Large,就没有问题的,改成20编译可以,但是系统运行会出错,无法启动调度器。试过将-Z(DATA)DATA20_I,DATA20_Z,DATA20_N设置成别的地址,编译没有问题,程序运行有问题,调度器无法启动。求大神解答
  1. // -----------------------------------------------
  2. // RAM memory
  3. //

  4. -Z(DATA)DATA16_I,DATA16_Z,DATA16_N,TLS16_I=1C00-23FF
  5. -Z(DATA)CODE_I
  6. -Z(DATA)DATA20_I,DATA20_Z,DATA20_N
  7. -Z(DATA)CSTACK+_STACK_SIZE#
复制代码 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
905105948
2019-03-24 14:12
内存不够,FR系列可以把FRAM当成RAM来用,在XCL文件里配置一下,内存改成4K,编译运行都没有问题,但是测试过,FRAM速度没有RAM快,普通使用没有问题。

一周热门 更多>

相关问题

    相关文章