共1条
1/1 1 跳转至页
调试2407的一点经验之谈! (转自2 1 i c)

本人为在校学生,前一段时间在外找了份兼职,任务是改动并移植两个电机的控制程序(在240平台上)到2407平台(他们已搭好)上,老板刚交代任务的时候觉得还算简单,结果拿到板子一看傻眼了.因为上边没有扩展的PROGRAM RAM.公司里以前没有人搞过2407,他们设计好的板子也从来没有人用过,让我来搞八成是考虑我还是学生,反正报酬也不多,也不会影响他们的正常工作,顺便检验一下板子设计的对不对.
接下来的两个月我可惨了,调试程序只能一遍接一遍将程序烧到Flash里面,然后运行看现象,再判断那里需要改动,然后改完再烧......就这样花了九牛二虎之力搞定了.老板很满意,于是在这块2407平台基础上又加了好多功能,板子重新设计,要我来做.我想这次可得加RAM,否则打死我也不干了.
我以前搞过C32,也看过54X和C6000的一些资料,这些器件的中断向量表是可以重定位的.但是2407的中断向量表是不可重定位的,必须是程序存储区的0000H-0040H,我设计板子的时候只是考虑了一下,没有深想,觉得仿真的话我把程序调到RAM里应该是可以的,再这将来程序肯定要烧到Flash里面,所以我就直接把MP&/MC引脚直接拉到地上了.
结果这次又挂了:(.我拿到新板子后,开始调试,发现根本不进中断,弄了一天不知所以然,后来就怀疑MP/MC方式了,因为MP模式存储器必须是外部的,于是我想割线跳线了,但是根本不行,因为板子是四层板,而MP/MC引脚引出的导线偏偏在DSP芯片下面,没有办法割,除非换芯片.
我极度郁闷,以为完蛋了!还得一遍遍烧flash了!后来查资料看到MP/MC模式可以通过软件设定,但是程序运行之前的上电复位状态是MC没法改,所以我想了个办法还挺有效:
先在程序代码里将MP/MC位置1,然后运行一下(此时DSP运行在MC模式,片外Program RAM从8000H开始,CMD文件里的Program区从8000H开始即程序放置在外部RAM)将MP/MC位的状态改成1,然后千万不要复位DSP(括CC的复位操作),再将CMD文件里的Program区改为从0000H开始即可.然后将.out文件load到RAM里运行,呵呵,随你设断点,中断一样很正常能进.
不过大家如果要设计2407,最好还是在MP/MC引脚接入处加跳线为妙,这样在调试时拉高为MP方式,调定后拉低为MC方式.
一点经验教训,与大家共享,希望大家少走弯路!
关键词: 调试 一点 经验之谈 转自
共1条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
汽车电子中巡航控制系统的使用被打赏10分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 | |
分享电子控制安全气囊计算机知识点被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【OZONE】使用方法总结被打赏20分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K314】芯片启动流程分析被打赏40分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K146】S32DS RTD 驱动环境搭建被打赏12分 | |
【分享开发笔记,赚取电动螺丝刀】【IAR】libc标注库time相关库函数使用被打赏23分 | |
LP‑MSPM0L1306开发版试用结果被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【LP-MSPM0L1306】适配 RT-Thread Nano被打赏23分 |