dsp2812 linux开发板,dsp2812开发板自制编程流程

DSP2812包含两个事件管理器,其强大的能力使它在电机控制的领域里得到广泛的应用。为了更好的了解它的工作原理,自己做了一块DSP2812的开发板,外设很简单,但是对于熟悉一下它的编程流程,CMD配置,FLASH烧写等还是够用的。

在整个过程中,包含的酸甜苦难只有我自己才能体会到。把我整个调试遇到的问题与大家分享一下。

这个过程中,最令我郁闷的是,连接不上仿真器。这个问题整整折腾我近一个月。

一连接仿真器出现如下提示,仿真器采用XDS510。

提示错误如下:

Error connecting to the target:

Error 0x00001200/-1145

Error during: OCS, Target,

Unrecoverable emulation error

Sequence ID: 0

Error Code: -1145

Error Class: 0x00001200

I/O Port = 240

Board Name: F2812 XDS510 Emulator

Cpu Name: F2812

Abort:    Close Code Composer Studio.

Retry:    Try to connect to the target again.

Cancel:    Remain disconnected from the target

Diagnostic:  Run diagnostic utility.

----------------------------------------------------Retry以后出现的错误

Error connecting to the target:

Error 0x00001200/-1031

Error during: OCS, Target,

Device driver: Problem with the Emulation Controller.

It is recommended to RESET EMULATOR. This will disconnect each

target from the emulator. The targets should then be power cycled

or hard reset followed by an emureset and reconnect to each target.

Sequence ID: 0

Error Code: -1031

Error Class: 0x00001200

I/O Port = 240

Board Name: F2812 XDS510 Emulator

Cpu Name: F2812

Abort:    Close Code Composer Studio.

Retry:    Try to connect to the target again.

Cancel:    Remain disconnected from the target

Diagnostic:  Run diagnostic utility.

检查电源,没有问题,3.3V,1.9V正常。检查各个引脚连接也没有问题。

检查时钟XCLKOUT输出引脚,输出3.75MHZ,也正常,DSP上电复位之后,XCLKOUT输出的频率是晶振频率的1/8.晶振采用30MHZ。

检查JTAG各引脚连接,均正确,且TCK有时钟信号输出,大约12M。

检查复位信号,也没有复位。

检查原理图也没有错误。

就这样不断检查,很崩溃。最后实在没有办法怀疑2812引脚虚焊了,给2812芯片加了一遍焊锡之后,再测,终于好使了。

总结一下,对于调试2812的板子,有以下需要注意的。

1、检查电源是否正确

2、检查复位信号

3、检查XCLKOUT有没有时钟输出

4、检查JTAG引脚是否正确连接且TCK有没有信号

5、检查有没有虚焊

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DSP2812 PWM波例程 extern int i; Uint32 ratio[]={ 0x40EB,0x40EB,0x39EB,0x39EB,0x38EB,0x38EB,0x37EB,0x37EB,0x36EB,0x36EB,0x35EB,0x35EB,0x34EB,0x34EB,0x33EB,0x33EB,0x32EB,0x32EB,0x31EB,0x31EB,0x30EB,0x30EB,0x30EB,0x30EB,0x30EB,0x29EB,0x29EB,0x29EB,0x29EB,0x29EB,0x28EB,0x28EB,0x28EB,0x28EB,0x28EB,0x27EB,0x27EB,0x27EB,0x27EB,0x27EB,0x26EB,0x26EB,0x26EB,0x26EB,0x26EB,0x25EB,0x25EB,0x25EB,0x25EB,0x25EB,0x25EB,0x25EB,0x25EB,0x25EB,0x25EB,0x24EB,0x24EB,0x24EB,0x24EB,0x24EB,0x24EB,0x24EB,0x24EB,0x24EB,0x24EB,0x1500,0x1500,0x1500,0x1500,0x1500,0x1500,0x1500,0x1500,0x1500,0x1500,0x753,0x753,0x753,0x753,0x753,0x753,0x753,0x753,0x753,0x753,0x3000,0x3000,0x3000,0x3000,0x3000,0x38EB,0x38EB,0x38EB,0x38EB,0x38EB,0x39EB,0x39EB,0x38EB,0x38EB,0x40EB}; /**************************************************************************** * *名 称:main() * *功 能:初始化系统和各个外设 * *入口参数:无 * *出口参数:无 * ****************************************************************************/ void main(void) { InitSysCtrl(); //初始化系统函数 DINT; IER = 0x0000; //禁止CPU中断 IFR = 0x0000; //清除CPU中断标志 InitPieCtrl(); //初始化PIE控制寄存器 InitPieVectTable(); //初始化PIE中断向量表 InitGpio(); //初始化Gpio口 InitEv(); //初始化EV // i=0; PieCtrl.PIEIER2.bit.INTx4=1; //使能PIE中断,T1定时器中断位于INT2.4 IER|=M_INT2; EINT; //开全局中断 ERTM; //开实时中断 EvaRegs.T1CON.bit.TENABLE=1; //使能定时器T1计数操作 while(1) { } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值