公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Weeden_ding
Level 2
Level 2
Distributor - Weikeng(GC)
25 sign-ins 5 replies posted 10 questions asked

你好,请问如何把一个变量定义在指定RAM地址? 例如把 i 变量定义在 RAM地址 0x0200,谢谢!

0 点赞
2 回复数
Roy_Liu
Moderator
Moderator
Moderator
First comment on KBA 10 questions asked First comment on blog

这个需要研究一下Softune user manuals - https://www.infineon.com/cms/en/search.html#!term=softune%208fx&view=all 

Roy Liu
0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

我不知道在 Softune 中在 C 源代码级别指定变量地址的方法。
但是你可以定义一个指针,并为这个指针分配一个特定的地址。
取消引用这个指针(即 " *ptr = ; " 你可以写入特定的地址,也可以从中读取。
我偶尔使用这种方法来直接访问映射到内存空间的 FR60 MCU 的 IO 端口。

或者,如果你想尝试汇编器代码,还有 " LOCATE " 汇编器关键字。
我只看到它与中断向量结合使用,中断向量必须为正确的地址定义。
以下是 FX16 MCU 的示例:
.SECTION INTVECT、CONST、LOCATE = 0xFC0288
如果我没记错的话,这会影响给定源文件中的 所有 数据定义,或者直到下一个 " .SECTION " 指令出现。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/Legacy-microcontrollers/How-does-softune-define-a-variable-at-a-specified-address/m-p/678277