硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2680|回复: 6
收起左侧

[RT1050] 我想将程序从QSPI搬移到ITCM上运行,有哪些东西需要注意到

[复制链接]

2

主题

11

回帖

17

积分

新手上路

积分
17
QQ
发表于 2018-6-19 17:50:48 | 显示全部楼层 |阅读模式
之前看到一位兄弟,说把程序搬移到ITCM上运行,同时需要修改这个寄存器SCB->VTOR,想请问一下,还有别的需要修改吗?新人,有些懵。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107922
QQ
发表于 2018-6-20 00:59:23 | 显示全部楼层
全部加载的话,太麻烦,灵活些差。
推荐此贴的方案:
http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

2

主题

11

回帖

17

积分

新手上路

积分
17
QQ
 楼主| 发表于 2018-6-20 09:13:46 | 显示全部楼层
eric2013 发表于 2018-6-20 00:59
全部加载的话,太麻烦,灵活些差。
推荐此贴的方案:
http://www.armbbs.cn/forum.php?mod=viewthread ...

我想问一下,程序复制上去以后,如何跳转到ITCM上去运行呢。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107922
QQ
发表于 2018-6-20 10:27:52 | 显示全部楼层
电子是什么 发表于 2018-6-20 09:13
我想问一下,程序复制上去以后,如何跳转到ITCM上去运行呢。

你要用这种方式的话,我不清楚哦,我已经好久不搞RT了
回复

使用道具 举报

5

主题

54

回帖

69

积分

初级会员

积分
69
发表于 2018-7-21 22:28:17 | 显示全部楼层
其实都可以在分散加载里面完成,1、需要将跳转main之前的代码放在qflash执行,并且在这之前需要将向量表复制到ITCM上,比如0x00位置;2、
回复

使用道具 举报

5

主题

54

回帖

69

积分

初级会员

积分
69
发表于 2018-7-21 22:39:09 | 显示全部楼层
其实大部分都是在分散加载里面完成: 1、需要将跳转main之前的代码编译到qflash执行,0x6000000起始地址,可以参考QFLASH启动的scf文件,并且在这之前需要将向量表复制到ITCM上,比如0x00位置,然后设置SCB->VTOR = 0X00;
2、在分散加载文件中将其他RO代码分配到ITCM,RW等代码放到DTCM或者SDRAM等,这些代码都是在跳转main之前自动搬运的
3、这样的程序再启动之后,跟QFALSH就再没有关联,都是在ITCM里面跑,如果程序太大,可以放到SDRAM,其实对于一般的应用,SDRAM速度+cache已经完全够用,关键代码可以放ITCM
回复

使用道具 举报

5

主题

54

回帖

69

积分

初级会员

积分
69
发表于 2018-7-21 22:45:17 | 显示全部楼层
其实这样做以后,程序跟以前在内部flash没什么区别,我现在基本使用nor xip模式。至少目前不加密的前提下是这样,至于加密嘛,场合不一样,要求不一样。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-18 17:17 , Processed in 0.295878 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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