SRAM

2019-07-24 12:31发布

u32 testsram[250000] __attribute__((at(0X68000000)));//测试用数组

今天学了SRAM ,请问这句话是定义数组在内部的位置,然后通过fsmc将此位置写入到片外SRAM,还是直接就把变量定义到片外SRAM了?         
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
DreamWaterPro
1楼-- · 2019-07-25 02:23
32初学者 发表于 2018-9-14 20:46
内存是外部SRAM给分配的吗?

内存的分配,严格来说是那块内存的标记,是编译器进行的,这块内存地址区实际上对应的是在外部SRAM中。
32初学者
2楼-- · 2019-07-25 06:58
正点原子 发表于 2018-9-12 21:22
这是指定数组首地址在0X6000 0000,即把这个数组定义到外部SRAM,你往数组里面写数据,就是写到外部SRAM.

噢噢,__attribute__用这个定义,就是告诉编译器,把数据写到外部SRAM中
32初学者
3楼-- · 2019-07-25 07:13
DreamWaterPro 发表于 2018-9-15 08:16
内存的分配,严格来说是那块内存的标记,是编译器进行的,这块内存地址区实际上对应的是在外部SRAM中。

明白,谢谢,相当于告诉编译器把数据写到外部SRAM
32初学者
4楼-- · 2019-07-25 09:58
DreamWaterPro 发表于 2018-9-13 08:37
定义到外部SRAM,同时在片内会有一个指针变量(编译器自动处理、定义的)指向这个连续内存区域的首地址

请问大神,这个定义然后通过编译器自动写入数据到外部SRAM和通过fsmc写入到外部SRAM有什么不一样吗?
32初学者
5楼-- · 2019-07-25 11:33
 精彩回答 2  元偷偷看……
32初学者
6楼-- · 2019-07-25 15:58
peng1554 发表于 2018-9-12 23:40
个人理解:直接定义到外部sram

请问大神,这个定义然后通过编译器自动写入数据到外部SRAM和通过fsmc写入到外部SRAM有什么不一样吗?

一周热门 更多>