ST意法半导体
直播中

王有罕

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

STM8S003上的零页面内存页面内存映射怎么使用?

你好,

在STM8S003F3U上根据数据表有1024(总ram) - 513(堆栈)= 510字节用于用户应用:零页面中256字节和Ram部分中的(510-256)= 254。
如果使用短堆栈编译选项,所有数据都会在零页面空间中自动加载,如果我使用超过256个字节,则会出错。
如果我使用长堆栈编译数据自动映射在上部页面:Ram页面,如果使用超过254,我有一个错误(正常,因为有结束堆栈重叠)
我没找到任何stm8的cosmic编译器用户指南。如果我尝试使用pragma强制链接器在不同的空间中设置数据,则错误是:pragma错位...
怎么可能使用混合数据映射零页面和ram页面?
非常感谢
regars
约翰

以上来自于谷歌翻译


以下为原文




Hello,

on STM8S003F3U according to datasheet there is 1024(total ram) - 513(stack) = 510 bytes for user application: 256 byte in the zero page and (510-256)= 254 in Ram section.
If use the short stack compilation option all data are automaticaly maped in the zero page space and i have an error if i use more than 256 bytes.
if i use the long stack compilation data are mapped automaticaly in the upper page: the Ram page and i have an error if use more than 254 (normal because there is the end stack overlap)
I did'nt find any cosmic compiler user guide for stm8. If i try to use pragma to force linker to set data in different space the error is : pragma misplaced ...
How is it possible to use mixed data  mapping zero page and ram page ???
thank's a lot
regars
johan

回帖(1)

谭齐慧

2019-3-29 10:16:04
你好,
 
 用户手册与编译器一起安装在/ doc子目录中。
 
 为了将变量放在所需的内存中,首先选择将决定所有变量默认位置的内存模型,然后使用@tiny和@near关键字覆盖所选变量的标准选项:
 
 char var1; //将进入页零或16位寻址,具体取决于内存模型
 @tiny char var2; //无论内存模型如何,都将进入第0页
 @near char var3; //无论内存模型如何,都将进行16位寻址
 
 问候,
 
 卢卡(宇宙)

以上来自于谷歌翻译


以下为原文







Hello,

the user manual is installed together with the compiler, in the /doc subdirectory.

In order to put your variables in the memory you want, first choose the memory model that will decide where all the variables go by default, and then override the standard choice for selected variables by using the @tiny and @near keywords:

char var1;         // will go in page zero or 16-bit addressing, depending on the memory model
@tiny char var2;   // will go in page zero regardless of the memory model
@near char var3;   // will go in 16 bit addressing regardless of the memory model

Regards,

Luca (Cosmic)
举报

更多回帖

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