你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 10592|回复: 5

[STM32F429] 【原创】【STM32F429开发日志】通过修改.sct文件自动分配SDRAM变量

[复制链接]

50

主题

193

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-23
发表于 2014-6-24 16:21:37 | 显示全部楼层 |阅读模式
 
第一步,打开SDRAM例程,SDRAM的起始地址为: 0xD000000, 分配RAM1大小为4M字节。
编译SDRAM例程,会生成一个.sct文件。
  SDRAM AREAS设置.png
图1 使用Keil存储器分配图设置SDRAM的起始位置和大小
 
第二步, 取消选择Use Memory Layout from Target Dialog,手动编辑FMC_SDRAM.sct文件
不再使用Keil的存储器分配图,而是使用其生成的.sct文件.png
图2  不再使用Keil的存储器设置对话框
 
手动修改.sct文件.png
图3  .sct文件修改前后对比
 
 
第三步,SDRAM变量声明
/* ADDRESS: 0x0D0000000  SIZE: 0x400000  */
#pragma arm section rwdata = "SD_RAM1", zidata = "SD_RAM1"
__IO uint8_t USART1_Rx_Buffer[0x10000]; // 0x10000: 64K
__IO uint16_t USART1_Rx_Count;
#pragma arm section rwdata
 
/* ADDRESS: 0xD0400000  SIZE: 0x400000   */
__IO uint8_t USART1_Rx_Buffer2[0x10000] __attribute__ ((at(0xD0400000))); // 0x10000: 64K
 
第四步,对示例代码进行硬件仿真测试,在观察串口查看变量的位置和内容。
  for (counter = 0x00; counter < IS42S16400J_SIZE; counter++)
  {
    *(__IO uint8_t*) (SDRAM_BANK_ADDR + counter) = (uint8_t)0x0;
  }
 
  for(counter = 0; counter < 0x10000; ++counter){
    USART1_Rx_Buffer[counter] = 0x03;
  }
 
  for (counter = 0x00; counter < IS42S16400J_SIZE; counter++)
  {
    *(__IO uint8_t*) (SDRAM_BANK_ADDR + 0x400000 + counter) = (uint8_t)0x0;
  }
  for(counter = 0; counter < 0x10000; ++counter){
    USART1_Rx_Buffer2[counter] = 0x02;
  }
  
 
 
回复

使用道具 举报

0

主题

12

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-12-4 18:23:01 | 显示全部楼层
你好,能上传工程文件看下吗?
回复 支持 反对

使用道具 举报

50

主题

193

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-23
 楼主| 发表于 2014-12-10 10:47:00 | 显示全部楼层
有版本限制的,MDK-ARM编译器比较奇怪,有的版本支持某个.sct文件,有的版本就不支持,如果不是做bootlaoder之类的,不建议修改.sct文件,推荐用GCC编译器。
回复 支持 反对

使用道具 举报

0

主题

11

回帖

0

蝴蝶豆

新手上路

最后登录
2016-4-18
发表于 2015-11-19 14:55:33 | 显示全部楼层
你好,能上传工程文件看下吗?
回复 支持 反对

使用道具 举报

15

主题

930

回帖

29

蝴蝶豆

金牌会员

最后登录
2020-8-17
发表于 2015-11-20 08:58:03 | 显示全部楼层
又多学到一种手段。
赞,LZ
回复 支持 反对

使用道具 举报

39

主题

934

回帖

45

蝴蝶豆

论坛元老

最后登录
2020-6-18
发表于 2016-5-17 16:10:52 | 显示全部楼层
学习了,收藏下,兴许以后可以用到~
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版