Thread 中讨论的其他器件:C2000WARE
工具与软件:
您好!
我正在使用 TI 28035实验套件。 我将程序更改为从闪存而不是 RAM 运行。 它工作一次、但当我进行下电上电时、它停止工作
已参考 SPRA958L 及其示例程序、但无法解决我的问题。 我能够运行示例程序"F28035_example_nonBIOS_flash"
遵循的步骤:
- 将28035_RAM_lnk.cmd 替换为 F28035.cmd
- 我已经有 DSP2803x_CodeStartBranch.asm 和 DSP2803x_Headers_nonBIOS.cmd
- 声明在变量下面
// Exterail 通过链接器定义 d
外部 UINT16 RamfuncsLoadStart;
外部 UINT16 RamfuncsLoadSize;
外部 UINT16 RamfuncsRunStart;
- 在函数 InitPieVectTable()后添加以下代码;
//将闪存驻留函数复制到 RAM
memcpy ((UINT16*)&RamfuncsRunStart、(UINT16 *)&RamfuncsLoadStart、
(unsigned long)&RamfuncsLoadSize);
//启用闪存等待状态
InitFlash();
- 在函数 InitPieCtrl 中、添加了此代码
asm (" EALLOW"); // Enable EALLOW protected register access (启用 EALLOW 受保护寄存器访问)
//逐步检查前三个32位位置(六个16位位置)。
//这些位置由 ROM 引导加载程序在调试期间使用。
memcpy ((UINT16 *)&PieVectTable+6、(UINT16 *)&PieVectTableInit+6256-6);
asm (" EDIS"); // Disable EALLOW protected register access (禁用 EALLOW 受保护寄存器访问)
是否必须将 GPIO 37和 GPIO 34配置为引导模式?
