[求助] 如何将变量放到SDRAM中

bigbat   2023-12-10 09:27 楼主

在8051的keil可以使用xdata、idata等关键字将变量放到不同的区域。在MDK、或GNU等编译器中,看到使用指针或__attribute__((at(ARRAY_ADDRESS_START)))这样的操作,但是多个变量这种方案是不是有点麻烦,而且象heap和stack也不能所以指定区域

回复评论 (4)

SDRAM由于需要初始化,在未初始化前处于不可用状态。所以堆栈不能指定在这个范围。
点赞  2023-12-10 13:56
引用: fxyc87 发表于 2023-12-10 13:56 SDRAM由于需要初始化,在未初始化前处于不可用状态。所以堆栈不能指定在这个范围。

你的观点不严谨,只是说bootload的第一阶段不可以使用SDRAM,其它的代码是可以使用的,例如:linux系统是将bootload的代码就是,初始化好的代码装载到SDRAM中的,后继的kernel都是在SDRAM中的,所以heap和stack的位置只取决于编译器。

点赞  2023-12-10 15:01

stack应该只能设定整体在哪里,里面具体的东西应该不能随便指定吧

默认摸鱼,再摸鱼。2022、9、28
点赞  2023-12-25 17:20

然后呢

点赞  2024-8-6 14:14
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复