请选择 进入手机版 | 继续访问电脑版

安富莱电子论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1933|回复: 15
收起左侧

像使用内部SRAM一样定义使用SDRAM和CCM RAM,可以随意定义到指定的RAM区域且无需具体地址

  [复制链接]

5547

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
44791
QQ
发表于 2018-9-4 01:06:32 | 显示全部楼层 |阅读模式
基于V6的测试例程:
使用内部SRAM一样使用SDRAM和CCM RAM.7z (3.02 MB, 下载次数: 287)
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

0

主题

26

帖子

26

积分

新手上路

one is enough

积分
26
发表于 2018-9-4 06:33:39 | 显示全部楼层
辛苦硬汉了,第一次离硬汉这么近。
one is enough
回复

使用道具 举报

0

主题

10

帖子

10

积分

新手上路

积分
10
发表于 2018-9-4 08:35:25 | 显示全部楼层
多谢硬汉哥
回复

使用道具 举报

24

主题

1271

帖子

1319

积分

至尊会员

积分
1319
发表于 2018-9-4 10:02:05 | 显示全部楼层
感谢分享。
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

7

主题

38

帖子

57

积分

初级会员

积分
57
发表于 2018-9-4 11:01:34 | 显示全部楼层
修改scatter loader文件的方式也有确定,一般sct文件keil自动生成的时候一般放在obj等中间文件所在的文件夹,一般我们习惯在原有的基础上修改,一旦代码搬移、obj文件夹删除、SVN提交等方式,obj文件夹内容一般不随工程移动,从而导致sct文件容易丢失,所以尽量拷出来防止误删除比较好
如果变量同在一个文件夹,可以通过文件指定RAM的方式更方便
捕获.PNG
回复

使用道具 举报

5547

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
44791
QQ
 楼主| 发表于 2018-9-4 11:25:02 | 显示全部楼层
zwmasdf 发表于 2018-9-4 11:01
修改scatter loader文件的方式也有确定,一般sct文件keil自动生成的时候一般放在obj等中间文件所在的文件夹 ...

是的,我这个是新建的sct,不再使用自带生成的。所以没有删除问题。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

1

主题

80

帖子

82

积分

初级会员

积分
82
发表于 2018-9-4 13:27:30 | 显示全部楼层
还不错,这样更方便了,支持下
回复

使用道具 举报

323

主题

1478

帖子

2129

积分

至尊会员

积分
2129
发表于 2018-10-8 10:27:28 | 显示全部楼层
这个方法,使用sdram 内存部分时,需要 4字节对齐操作吗 ?
回复

使用道具 举报

5547

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
44791
QQ
 楼主| 发表于 2018-10-8 10:35:11 | 显示全部楼层
hpdell 发表于 2018-10-8 10:27
这个方法,使用sdram 内存部分时,需要 4字节对齐操作吗 ?

无限制。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

323

主题

1478

帖子

2129

积分

至尊会员

积分
2129
发表于 2018-10-8 11:52:12 | 显示全部楼层

那感情好哇,有空捣鼓看看
回复

使用道具 举报

0

主题

5

帖子

5

积分

新手上路

积分
5
发表于 2018-12-5 23:22:29 | 显示全部楼层
很好的方法,确实可用。但是在rgb屏下,操作4k的sdram后,屏幕会花屏,有什么解决办法吗?
回复

使用道具 举报

5547

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
44791
QQ
 楼主| 发表于 2018-12-6 00:38:17 | 显示全部楼层
张晓 发表于 2018-12-5 23:22
很好的方法,确实可用。但是在rgb屏下,操作4k的sdram后,屏幕会花屏,有什么解决办法吗?

实测没问题,估计是你的程序有些问题。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

0

主题

5

帖子

5

积分

新手上路

积分
5
发表于 2018-12-6 10:10:20 | 显示全部楼层
代码比较简单,移植了emwin,但是内存分配用指定sdram区域有问题,给起始地址,emwin不启动,给个末尾地址可以启动,用的是原子的开发板,有些问题他们没有人跟踪回复。外存的分配方法也是按照修你的这个方法来的,找不到问题,大量访问sdram外存的时候,屏幕就像电视机做调试的那样规律的斑块
回复

使用道具 举报

323

主题

1478

帖子

2129

积分

至尊会员

积分
2129
发表于 2019-1-8 17:19:24 | 显示全部楼层
张晓 发表于 2018-12-6 10:10
代码比较简单,移植了emwin,但是内存分配用指定sdram区域有问题,给起始地址,emwin不启动,给个末尾地址 ...

你可以指定一块区域专门给emwin 使用啊,

分配给 emwin 使用的内存就不用加载到 脚本就可以了吧
回复

使用道具 举报

0

主题

10

帖子

10

积分

新手上路

积分
10
发表于 2019-4-11 11:00:30 | 显示全部楼层
@Eric 现在开始研究分散加载了,现在还有一个问题搞不清,加载时域与运行时域概念还是不是很清楚,可不可理解为加载时域是代码或者数据在ROM中的储存位置,而运行时域是代码运行时的绝对的连接地址?比如我要将代码拷贝到ARM中去运行,负责拷贝的代码运行时域可以定义在ROM的地址中,要被复制的ARM中的程序的运行时域定义在ARM的地址中,系统运行后负责拷贝的代码现运行起来,代码拷贝完后跳转到程序入口执行?
回复

使用道具 举报

5547

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
44791
QQ
 楼主| 发表于 2019-4-12 00:44:34 | 显示全部楼层
yoyotansa 发表于 2019-4-11 11:00
@Eric 现在开始研究分散加载了,现在还有一个问题搞不清,加载时域与运行时域概念还是不是很清楚,可不可理 ...

QQ截图20190412004352.jpg
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|安富莱电子论坛 ( 鄂ICP备09023347号,公安机关备案号42010602000201 )

GMT+8, 2019-4-25 14:05 , Processed in 0.216096 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表