共2条
1/1 1 跳转至页
2210 2210跳转比较多时执行速度怎么提高?
问
我用的是easyram2200 自己做了个PACK板子,想从上面高速存取数据,测试了一下性能:
volatile uint16 *packadd;
while(1){*packadd = 0x0000;
*packadd = 0xffff;
}
编译完:
0x80000358 [0xe1c040b0] strh r4,[r0,#0]
0x8000035c [0xe1c010b0] strh r1,[r0,#0]
0x80000360 [0xeafffffc] b 0x80000358 ; (main + 0x2c)
测试了一下CS0和CS2,80%左右的时间是在读RAM,PACK上的CS2有效时间很少。请问各位大侠怎么加速啊?
2 还有个菜问题,没有缓存的话是不是指令都应该直接从FLASH里读进来,怎么是RAM的CS有效呢?(是不是可以把程序影射到RAM里执行?我是用书上的例子修改的)
答 1: 2210跳转比较多时执行速度怎么提高1、while(1){*packadd = 0x0000;
*packadd = 0xffff;
}
可能被优化,不是很好的测试方式,可以试试块拷贝,并用定时器的方式测试拷贝完成时间。
2、无CASH时,CPU从程序存储器直接取指。程序所存放的位置,看分散加载文件。
答 2: 如何加速执行速度?重新写了个汇编函数在C环境里调用:
while(1){
function();
}
function中使用下面3行重复多次,发现ldrh执行60ns,但两次ldrh间隔将近500ns,我怀疑是easyARM2200是16位总线比较慢的原因,是这样吗
function里重复多次的3行:
ldrh r2,[r1],#2
tst r2,#0x8000
strneh r2,[r0],#2
如果想加速的话具体怎么把程序加载到内部RAM执行?
volatile uint16 *packadd;
while(1){*packadd = 0x0000;
*packadd = 0xffff;
}
编译完:
0x80000358 [0xe1c040b0] strh r4,[r0,#0]
0x8000035c [0xe1c010b0] strh r1,[r0,#0]
0x80000360 [0xeafffffc] b 0x80000358 ; (main + 0x2c)
测试了一下CS0和CS2,80%左右的时间是在读RAM,PACK上的CS2有效时间很少。请问各位大侠怎么加速啊?
2 还有个菜问题,没有缓存的话是不是指令都应该直接从FLASH里读进来,怎么是RAM的CS有效呢?(是不是可以把程序影射到RAM里执行?我是用书上的例子修改的)
答 1: 2210跳转比较多时执行速度怎么提高1、while(1){*packadd = 0x0000;
*packadd = 0xffff;
}
可能被优化,不是很好的测试方式,可以试试块拷贝,并用定时器的方式测试拷贝完成时间。
2、无CASH时,CPU从程序存储器直接取指。程序所存放的位置,看分散加载文件。
答 2: 如何加速执行速度?重新写了个汇编函数在C环境里调用:
while(1){
function();
}
function中使用下面3行重复多次,发现ldrh执行60ns,但两次ldrh间隔将近500ns,我怀疑是easyARM2200是16位总线比较慢的原因,是这样吗
function里重复多次的3行:
ldrh r2,[r1],#2
tst r2,#0x8000
strneh r2,[r0],#2
如果想加速的话具体怎么把程序加载到内部RAM执行?
共2条
1/1 1 跳转至页
回复
| 有奖活动 | |
|---|---|
| 这个春节你犒赏自己什么了?分享你的故事,有奖征集 | |
| 2026年“我要开发板活动”第三季,开始了! | |
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3XX】SWT 模块使用被打赏¥22元 | |
| 【分享开发笔记,赚取280元手持便携数字示波器】32位linux内核内存映射896的理解被打赏¥14元 | |
| AG32VH407开发板例程体系的构成与使用方法被打赏¥20元 | |
| 【S32K3XX】SEMA42 模块使用被打赏¥26元 | |
| 【S32K3XX】XRDC 功能使用被打赏¥22元 | |
| 【分享开发笔记,赚取280元手持便携数字示波器】8051使用keil编译的程序移动心得被打赏¥21元 | |
| 【S32K3XX】HSE 密钥管理被打赏¥17元 | |
| 【S32K3XX】Standby RAM的初始化流程被打赏¥18元 | |
| Gravity:中英文语音合成模块V2.0及其串口控制被打赏¥24元 | |
| 全彩色度变化图的绘制被打赏¥27元 | |
我要赚赏金
