发 帖  
原厂入驻New
[问答] 如何将代码从一个DSIC33移植到一个DSPIC33
158 DSP
分享
大家好!我把一些代码从一个DSIC33 F移植到一个DSPIC33,我从一个微€€芯片项目开始三相功率表。我在微芯片上的代码最初是用2006的C30编译器为P33 FJ128GP206编写的。所有的计算(平方根、DFT、计算能力等)都是在DSP上用a s m代码完成的。我正在从原始设计的dsPIC33f转移到定制板上的dsPIC33E,不知道是否有人把DFT.s(a s m代码)移植到那个设备上?我一直在尝试自己的港口,但我不能让它工作…我继续触发地址错误陷阱。我在ASM中没有足够的信心去调试它。谢谢!ASM代码:
0
2020-5-11 15:19:12   评论 分享淘帖 邀请回答
6个回答
有一个DSP库,你可以从微芯片上下载DSPIC33设备。我自己用过,所以我知道它存在。或者至少它存在,因为我只是试着在“新”微芯片网站上查找它,却一无所获。许多链接带您回到您开始的地方;有对dsPIC33 DSP库的引用,但我肯定不能再找到下载链接-它曾经是非常容易的!不管怎么说,图书馆确实存在,看看你能否找到Microchip藏在哪里!(我知道的没多大帮助-对不起)苏珊
2020-5-11 15:38:40 评论

举报

你能在这里显示“构建”输出吗?使用所有的地址?期待。。。。
2020-5-11 15:49:04 评论

举报

为了调试,可以在每个函数的开始和结束处(一个接一个地)设置断点,以找出地址错误陷阱在哪里发生。这很容易将问题缩小到错误发生的代码行。祝你好运。。。。
2020-5-11 16:05:09 评论

举报

嗨,我相信它存在,但是我从微芯片上找不到DSP库……dsp.h显示有一个库,但是它只给出可用函数的原型,并且它们只包括FFT函数。以下是构建中使用的地址:我用PSVPAG替换了所有PSVPAG自从PSVPAG被从dsPIC33F改为dsPIC33E以来,汇编代码中的DSRPAG。我还把其中一个大缓冲器的地址从地址0x070改为0x1070,以便与dsPIC33E兼容。我试图找出这个问题的原因,但我不知道在调试模式下查看Wx寄存器中存储的值的方法。
2020-5-11 16:23:35 评论

举报

对于0x8000及以上的EA,DSRPAG[8:0]与EA的LS 15位连接,以形成24位扩展数据空间(EDS)地址。使用MS位DSRPAG[9]作为PS/DS选择,在DS和PS中复制地址空间。因此DSRPAG仅是一个10位寄存器,因此使用PSV读的Flash中访问常量所需的修改页地址应该设置DSRPAG[9],因此为0 x270。尝试用0x1070加载它将导致DSRPAG=0x070,它将解决未实现的DS并导致地址陷阱。
2020-5-11 16:38:41 评论

举报

你好!非常感谢你的帮助。我试图将0x1070改为0x270,但是现在没有触发中断……上面的两个变量用于计算DFT。有没有人可以得到样本代码,我可以研究它来修正DSP函数对E系列变量的访问?或者一些关于如何将ASM代码移植到E-Seri中的提示?
2020-5-11 16:55:33 评论

举报

只有小组成员才能发言,加入小组>>

120个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /8 下一条

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