完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,希望这个话题在这里很适合。
刚刚开始尝试学习ASM,所以有很多东西我还不知道,但我尝试了一个ASM的功能,并从这个程序的主文件调用该函数。大部分的功能只是NOP指令,所以我期望在每一个时钟周期上花费1或2个时钟周期(我在调试会话时测量内存视图中的SyBub值寄存器的周期),但是我在每一个上得到4个时钟周期: 这个函数似乎只需要16个时钟周期,但我大约52个。 优化设置为无,调试模式。 此外,我在ARM站点上找到了一个寄存器,DWT HTTP://FixCal.ARMCOM/Help/Nojx.jSP?主题=/COM.ARM.DOC.DDI037H/BIIFBHIF.HTML,它是一个循环计数器,但我在4200个家庭的注册文档中找不到,所以有人能告诉我,我在做什么好吗?关于测量时钟周期的另一种方法有什么想法? 该项目基于PSoC 4先锋套件 提前感谢,以及N900B问题的借口:D Cyrkk.Access 01.ZIP 288.4 K |
|
相关推荐
6个回答
|
|
使用SyCUL作为循环计数器(AN90799中的部分)。
HTTP://www. CyPress?COM/?ID=4和;RID=94607 PSoC 4 HTTP://www. CyPress?COM/?DoCID=49253 AN90799(SyBube) 问候,Dana。 |
|
|
|
我做到了,这就是为什么我看到每个NOP指令使用4个时钟周期,而不是我预期的1或2个时钟周期。
|
|
|
|
卡洛斯
DWT“时钟周期”(CYCCNT)仅在CORTEX-M3 CPU(PSOC5LP)上工作,而不是在-M0(PSoC4)上。 在PSoC4上,可以使用SytUL测量CPU周期的数量(见下文)。注意,最小计数器数量从3开始,即“零偏移”。这可能是你观察到4个时钟而不是你预期的1的原因。 {定义24位的SysTykxMax ValxxFFFFFF//max允许的Syle计数器值 UUNT32 SysNTVAL;/ /您试图检索的SyBar计数器的值 SysStKyCONFIG(SysTykMax VALL);//重置计数器设置为最大值,1次,将不重新加载。 做某事… SysCntVal= SyStKyMax Val-(SytLo& & Gt;Valm);//获取经过的蜱(min偏移3滴答)SAMFETF(STRMSG1,“%D,%FRN”,SysCntVal,X);/ /报告结果UARTURL PATSHIPE(STRMSG1); |
|
|
|
nvwuwy 发表于 2019-9-20 16:39 嗨,Odissey, 我用Syle来测量时钟周期,但不知道“零点偏移”,现在我知道了。 我深入研究创建者函数,得到Syle的计数值,并从这个寄存器中找到它。 定义CyReGracCM0SythCVR 0xE000 0E018U 因此,我在调试会话的内存视图中观察这个方向,并查看它向下计数。 我在哪里可以找到关于零偏移量的更多信息? 所有指令都有3个周期偏移?还是只是子程序上的第一个? 还有另一种更精确的测量时钟周期的方法吗? 将与5LP进行相同的测试并检查DWT和SyBar寄存器。 谢谢 |
|
|
|
YAY,刚刚用PSoC 5LP和DWT做了,它给了我15个时钟周期。我不知道的是,如果我写的DWT寄存器的方式是最好的,在这里我的主要:
BlutQuald≫ 项目包括: 外部空隙迟缓(UTUN16T T);外部Un64 64 T(UIT64 64 t); In主体(){CyGalAcActuabess;(*(Req32*)CyrgIGraceCordeBdgExExcMnEnjultCTL)= CyeDebug GeDeCurvVCCHKErrysMSK;/*此掩码=0x01000**/(*(Req32*)CyrGeReDWTJCCTL)=DWTJCCTLLY-CYCCNTANAYMSK;/*此掩码=0x1*/(*(Req32*)CyrGeReWdttCyCyLyCo计数)=0;TrimDO(1); 对于(;;){} /*[]文件结束*/ &BlutQuald≫ DWT init取自这里的HTTP://www. MuxBuield.Eu/PrimeSt/LPC1343ReavigeDease/DWTBaskMurk.ASPX |
|
|
|
卡洛斯
没有记录的“零偏移量”,3个周期是计算经过的蜱所需要的: SysCntVal= SyStKyMax Val-(SytBand & Gt;Var);//获取经过的蜱(min偏移3蜱) 测量15个周期来调用外部过程(迟缓(1));停止和计算DWT计时器似乎是合理的。您可以记录此时间并使用它从后续测量中减去。 |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2110 浏览 1 评论
1858 浏览 1 评论
3673 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1791 浏览 6 评论
1540 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
575浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
428浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
440浏览 2评论
390浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
924浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 06:51 , Processed in 1.196982 second(s), Total 88, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号