共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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |