大家好:
我想改28035的时钟为外部时钟,在DSP2803x_SysCtrl.c的
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=0;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=0; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=1; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=1; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
修改成
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=1;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=1; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=0; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=0; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
然后烧写到flash,运行出现Device may be operating in low-power mode. Do you want to bring it out of 提示,之后我退出程序断电。
再去烧程序的时候出现不能烧写,也不能烧回原来的程序:
C28xx: Flash Programmer: Error encountered when writing to flash memory
C28xx: GEL: File: D:\CCSproject\alarm_device_N2100\firmware\dsp_c28x\plc_lite\src\master\Debug\dc_plc_master.out: Load failed.
这个是不是flash被锁了?我用一个跑在ram的程序下载进去,通过on-chip flash可以unlock,但是不可以erase flash,出现这个提示:C28xx: Flash Programmer: Error erasing flash memory. Error erasing Sector A。
我是这样想的:由于我的改动导致MCU时钟不正确,从而不能实现flash的烧写。而且程序是在flash,所以一上电时钟就不正确。
不知道我的想法对不对,这种情况有什么办法解决?
先谢谢大家了。
Joey Mao:
如果是Flash锁死了,用写Ram的程序仿真测试不影响,关于如何解锁Flash你参考一下这个帖子:http://bbs.eeworld.com.cn/thread-318121-1-1.html
大家好:
我想改28035的时钟为外部时钟,在DSP2803x_SysCtrl.c的
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=0;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=0; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=1; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=1; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
修改成
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=1;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=1; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=0; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=0; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
然后烧写到flash,运行出现Device may be operating in low-power mode. Do you want to bring it out of 提示,之后我退出程序断电。
再去烧程序的时候出现不能烧写,也不能烧回原来的程序:
C28xx: Flash Programmer: Error encountered when writing to flash memory
C28xx: GEL: File: D:\CCSproject\alarm_device_N2100\firmware\dsp_c28x\plc_lite\src\master\Debug\dc_plc_master.out: Load failed.
这个是不是flash被锁了?我用一个跑在ram的程序下载进去,通过on-chip flash可以unlock,但是不可以erase flash,出现这个提示:C28xx: Flash Programmer: Error erasing flash memory. Error erasing Sector A。
我是这样想的:由于我的改动导致MCU时钟不正确,从而不能实现flash的烧写。而且程序是在flash,所以一上电时钟就不正确。
不知道我的想法对不对,这种情况有什么办法解决?
先谢谢大家了。
liangheng feng:
回复 Joey Mao:
嗯,好的,我看一下。我现在不确定是不是锁上了,想问下 如果时钟不对的话,会不会在烧写的时候也出现上面的提示导致烧写失败?
谢谢。
大家好:
我想改28035的时钟为外部时钟,在DSP2803x_SysCtrl.c的
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=0;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=0; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=1; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=1; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
修改成
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=1;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=1; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=0; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=0; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
然后烧写到flash,运行出现Device may be operating in low-power mode. Do you want to bring it out of 提示,之后我退出程序断电。
再去烧程序的时候出现不能烧写,也不能烧回原来的程序:
C28xx: Flash Programmer: Error encountered when writing to flash memory
C28xx: GEL: File: D:\CCSproject\alarm_device_N2100\firmware\dsp_c28x\plc_lite\src\master\Debug\dc_plc_master.out: Load failed.
这个是不是flash被锁了?我用一个跑在ram的程序下载进去,通过on-chip flash可以unlock,但是不可以erase flash,出现这个提示:C28xx: Flash Programmer: Error erasing flash memory. Error erasing Sector A。
我是这样想的:由于我的改动导致MCU时钟不正确,从而不能实现flash的烧写。而且程序是在flash,所以一上电时钟就不正确。
不知道我的想法对不对,这种情况有什么办法解决?
先谢谢大家了。
liangheng feng:
回复 liangheng feng:
用一个跑在ram的程序debug,通过on-chip flash,然后点击code security password下面的unlock,出现下面的提示,请问这个是不是能够解锁,即flash没有被锁上吗?
C28xx: Starting device unlocking…C28xx: Device unlocked. To clear the programmed password, please erase Sector A of Flash memory.
大家好:
我想改28035的时钟为外部时钟,在DSP2803x_SysCtrl.c的
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=0;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=0; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=1; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=1; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
修改成
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=1;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=1; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=0; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=0; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
然后烧写到flash,运行出现Device may be operating in low-power mode. Do you want to bring it out of 提示,之后我退出程序断电。
再去烧程序的时候出现不能烧写,也不能烧回原来的程序:
C28xx: Flash Programmer: Error encountered when writing to flash memory
C28xx: GEL: File: D:\CCSproject\alarm_device_N2100\firmware\dsp_c28x\plc_lite\src\master\Debug\dc_plc_master.out: Load failed.
这个是不是flash被锁了?我用一个跑在ram的程序下载进去,通过on-chip flash可以unlock,但是不可以erase flash,出现这个提示:C28xx: Flash Programmer: Error erasing flash memory. Error erasing Sector A。
我是这样想的:由于我的改动导致MCU时钟不正确,从而不能实现flash的烧写。而且程序是在flash,所以一上电时钟就不正确。
不知道我的想法对不对,这种情况有什么办法解决?
先谢谢大家了。
Joey Mao:
回复 liangheng feng:
这是成功解锁了,但是password还是你之前使用的,提示写明了:To clear the programmed password, please erase Sector A of Flash memory.
大家好:
我想改28035的时钟为外部时钟,在DSP2803x_SysCtrl.c的
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=0;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=0; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=1; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=1; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
修改成
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=1;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=1; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=0; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=0; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
然后烧写到flash,运行出现Device may be operating in low-power mode. Do you want to bring it out of 提示,之后我退出程序断电。
再去烧程序的时候出现不能烧写,也不能烧回原来的程序:
C28xx: Flash Programmer: Error encountered when writing to flash memory
C28xx: GEL: File: D:\CCSproject\alarm_device_N2100\firmware\dsp_c28x\plc_lite\src\master\Debug\dc_plc_master.out: Load failed.
这个是不是flash被锁了?我用一个跑在ram的程序下载进去,通过on-chip flash可以unlock,但是不可以erase flash,出现这个提示:C28xx: Flash Programmer: Error erasing flash memory. Error erasing Sector A。
我是这样想的:由于我的改动导致MCU时钟不正确,从而不能实现flash的烧写。而且程序是在flash,所以一上电时钟就不正确。
不知道我的想法对不对,这种情况有什么办法解决?
先谢谢大家了。
liangheng feng:
回复 Joey Mao:
password我没有改动过,默认的FFFF,之后我选择擦除flash,但是不成功。重新烧写程序到flash也不行
谢谢。
大家好:
我想改28035的时钟为外部时钟,在DSP2803x_SysCtrl.c的
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=0;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=0; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=1; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=1; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
修改成
void IntOsc1Sel (void) {
EALLOW;
SysCtrlRegs.CLKCTL.bit.INTOSC1OFF=1;
SysCtrlRegs.CLKCTL.bit.OSCCLKSRCSEL=1; // Clk Src = INTOSC1
SysCtrlRegs.CLKCTL.bit.XCLKINOFF=0; // Turn off XCLKIN
SysCtrlRegs.CLKCTL.bit.XTALOSCOFF=0; // Turn off XTALOSC
SysCtrlRegs.CLKCTL.bit.INTOSC2OFF=1; // Turn off INTOSC2
EDIS;
}
然后烧写到flash,运行出现Device may be operating in low-power mode. Do you want to bring it out of 提示,之后我退出程序断电。
再去烧程序的时候出现不能烧写,也不能烧回原来的程序:
C28xx: Flash Programmer: Error encountered when writing to flash memory
C28xx: GEL: File: D:\CCSproject\alarm_device_N2100\firmware\dsp_c28x\plc_lite\src\master\Debug\dc_plc_master.out: Load failed.
这个是不是flash被锁了?我用一个跑在ram的程序下载进去,通过on-chip flash可以unlock,但是不可以erase flash,出现这个提示:C28xx: Flash Programmer: Error erasing flash memory. Error erasing Sector A。
我是这样想的:由于我的改动导致MCU时钟不正确,从而不能实现flash的烧写。而且程序是在flash,所以一上电时钟就不正确。
不知道我的想法对不对,这种情况有什么办法解决?
先谢谢大家了。
feng zhang13:
回复 Joey Mao:
你好,我目前也遇到这种情况,现在已经成功擦除A区的 memory,但是烧写flash还是不行!还有别的办法么