发新帖我要提问
12
返回列表
打印
[其他ST产品]

STM32使用SRAM扩展内存

[复制链接]
楼主: l63t89
手机看帖
扫描二维码
随时随地手机跟帖
21
l63t89|  楼主 | 2023-6-28 02:46 | 只看该作者 回帖奖励 |倒序浏览
内存地址如下:
    cnt                                      0x20008000   Data           1  main.o(.ARM.__AT_0x20008000)
    bTest1                                   0x20008003   Data        1024  main.o(.ARM.__AT_0x20008003)
    bTest2                                   0x68000000   Data        8192  main.o(.ARM.__AT_0x68000000)
注意点:

(1)在外部SRAM初始化之前不要去调用定义在外部SRAM地址处的变量。

(2)针对不同的ARM编译器,定义语句不同:

a、针对AC5(ARMCC Compiler version 5.x)

uint8_t cnt __attribute__((at(0x20008000)));
b、 针对AC6(ARM Compiler 6 (又名ARMCLANG))

uint8_t cnt __attribute__((section(".ARM.__at_0x20008000")));
(3)指定函数的存放地址

对于变量,在其后边加修饰;而对于函数,在声明处加修饰,注意,是在声明处,不是在函数定义处!!!变量指定的地址只能位于RAM区,常量和代码只能位于Flash区。

使用特权

评论回复
22
Clyde011| | 2024-1-23 07:24 | 只看该作者

它们之间的间距应至少为0.5mm。

使用特权

评论回复
23
万图| | 2024-1-23 09:20 | 只看该作者

对于信号回路的峰值电压防护电路不应动作,通常在信号回路中,防护电路的动作电压是信号回路的峰值电压的1.3~1.6倍。

使用特权

评论回复
24
Uriah| | 2024-1-23 10:23 | 只看该作者

它们通常用于分线板或小模块。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则