你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何将变量定义到外部RAM

[复制链接]
zhangcy0217 提问时间:2016-3-22 10:08 /
  使用的STM32F207内部自带的RAM不够用,外扩了一块512K外部RAM。现想自己指定某些定义的变量指定到XRAM中,求如何指定,谢谢!另外部RAM使用FSMC方式。
收藏 评论7 发布时间:2016-3-22 10:08

举报

7个回答
moyanming2013 回答时间:2016-3-22 10:35:18
参考使用分散加载文件。
农夫水 回答时间:2016-3-22 11:08:52
使用at  例如  int  a     _at(0x68000000);  这样  a就在后边的地址中
zhangcy0217 回答时间:2016-3-22 11:14:47
moyanming2013 发表于 2016-3-22 10:35
参考使用分散加载文件。

启动文件中已经有:
Stack_Size      EQU     0x00000400

                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp


; <h> Heap Configuration
;   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>

Heap_Size       EQU     0x00000200

                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem        SPACE   Heap_Size
__heap_limit

在加载文件中是否还需要 Stack 和 Heap?  比如:
RW_IRAM1 0x20000000 0x00000400  {        ; stack 1K
  startup_stm32f2xx.o (STACK, +ZI)
  }
  
RW_IRAM1 +0  0x00000200  {        ; heap 512
  startup_stm32f2xx.o (HEAP, +ZI)
  }



zhangcy0217 回答时间:2016-3-22 13:23:25
农夫水 发表于 2016-3-22 11:08
使用at  例如  int  a     _at(0x68000000);  这样  a就在后边的地址中

谢谢! 这种方式可以了,这样用:
rt_uint8_t comrx_mq_buf[COMRX_MQ_LEN] __attribute__((at(0x68000000)));
zhangcy0217 回答时间:2016-3-22 13:25:28
有谁用过加载分散法,给指导一下,谢谢!
moyanming2013 回答时间:2016-3-22 22:32:34
zhangcy0217 发表于 2016-3-22 11:14
启动文件中已经有:
Stack_Size      EQU     0x00000400

分散加载文件的具体帮助内容请你参考下keil的说明手册。
这个相对比较复杂些。
zhangcy0217 回答时间:2016-3-23 21:05:57
moyanming2013 发表于 2016-3-22 22:32
分散加载文件的具体帮助内容请你参考下keil的说明手册。
这个相对比较复杂些。 ...

好的,谢谢!

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版