器件型号:TMS320C5545
工具/软件:Code Composer Studio
大家好、我正在使用 C5545 DSP。
我想在 ROM 中进行编程。 但我不能。
这是 C5545的原始 cmd 文件。 它工作正常。
----------------------------------
存储器
{
MMR:O = 0x000000 l = 0x0000c0 /* 192B 存储器映射寄存器*/
DARAM0:O = 0x0000C0 l = 0x001F40 // 8kB 双存取 RAM 0 */
DARAM1:O = 0x002000 l = 0x002000 // 8kB 双存取 RAM 1 */
DARAM2:O = 0x004000 l = 0x002000 // 8kB 双存取 RAM 2 */
DARAM3:O = 0x006000 l = 0x002000 // 8kB 双存取 RAM 3 */
DARAM4:O = 0x008000 l = 0x002000 // 8kB 双存取 RAM 4 */
DARAM5:O = 0x00A000 l = 0x004000 // 8kB 双存取 RAM 5 */
// DARAM6:O = 0x00C000 l = 0x002000 // 8kB 双存取 RAM 6 */
DARAM7:O = 0x00E000 l = 0x002000 // 8kB 双存取 RAM 7 *
SARAM0:O = 0x010000 l = 0x002000 // 8kB 单访问 RAM 0 */
SARAM1:O = 0x012000 l = 0x002000 // 8kB 单访问 RAM 1 */
SARAM2:O = 0x014000 l = 0x002000 // 8kB 单次访问 RAM 2 *
SARAM3:O = 0x016000 l = 0x002000 // 8kB 单访问 RAM 3 *
SARAM4:O = 0x018000 l = 0x002000 // 8kB 单访问 RAM 4 *
SARAM5:O = 0x01A000 l = 0x002000 // 8kB 单存取 RAM 5 */
SARAM6:O = 0x01C000 l = 0x002000 // 8kB 单存取 RAM 6 */
SARAM7:O = 0x01E000 l = 0x002000 // 8kB 单次访问 RAM 7 *
SARAM8:O = 0x020000 l = 0x002000 // 8kB 单访问 RAM 8 */
SARAM9:O = 0x022000 l = 0x002000 // 8kB 单访问 RAM 9 */
SARAM10:O = 0x024000 l = 0x002000 // 8kB 单访问 RAM 10 */
SARAM11:O = 0x026000 l = 0x002000 // 8kB 单访问 RAM 11 *
SARAM12:O = 0x028000 l = 0x002000 // 8kB 单访问 RAM 12 *
SARAM13:O = 0x02A000 l = 0x002000 // 8kB 单访问 RAM 13 */
SARAM14:O = 0x02C000 l = 0x002000 // 8kB 单访问 RAM 14 *
SARAM15:O = 0x02E000 l = 0x002000 // 8kB 单访问 RAM 15 */
SARAM16:O = 0x030000 l = 0x002000 // 8kB 单访问 RAM 16 */
SARAM17:O = 0x032000 l = 0x002000 // 8kB 单次访问 RAM 17 *
SARAM18:O = 0x034000 l = 0x002000 // 8kB 单访问 RAM 18 *
SARAM19:O = 0x036000 l = 0x002000 // 8kB 单访问 RAM 19 *
SARAM20:O = 0x038000 l = 0x002000 // 8kB 单访问 RAM 20 *
SARAM21:O = 0x03A000 l = 0x002000 // 8kB 单次访问 RAM 21 *
SARAM22:O = 0x03C000 l = 0x002000 // 8kB 单次访问 RAM 22 *
SARAM23:O = 0x03E000 l = 0x002000 // 8kB 单存取 RAM 23 *
SARAM24:O = 0x040000 l = 0x002000 // 8kB 单次访问 RAM 24 */
SARAM25:O = 0x042000 l = 0x002000 // 8kB 单存取 RAM 25 *
SARAM26:O = 0x044000 l = 0x002000 // 8kB 单次访问 RAM 26 */
SARAM27:O = 0x046000 l = 0x002000 // 8kB 单次访问 RAM 27 *
SARAM28:O = 0x048000 l = 0x002000 // 8kB 单访问 RAM 28 *
SARAM29:O = 0x04A000 l = 0x002000 // 8kB 单访问 RAM 29 */
SARAM30:O = 0x04C000 l = 0x002000 // 8kB 单访问 RAM 30 */
SARAM31:O = 0x04E000 l = 0x002000 // 8kB 单访问 RAM 31 *
///ROM:O = 0xFE0000 l = 0x01FF00 /* 128KB ROM (MPNMC=0)或 CS5 (MPNMC=1)*/
SAROM0:O = 0xFE0000 l = 0x008000 // 128KB ROM (MPNMC=0)或 CS5 (MPNMC=1)*/
SAROM1:O = 0xFE8000 l = 0x008000 // 128KB ROM (MPNMC=0)或 CS5 (MPNMC=1)*/
SAROM2:O = 0x0000 l = 0x008000 // 128KB ROM (MPNMC=0)或 CS5 (MPNMC=1)*/
SAROM3:O = 0xFF8000 l = 0x002000 // 128KB ROM (MPNMC=0)或 CS5 (MPNMC=1)*/
VECS:O = 0xFFFFFF00 l = 0x000100 //复位向量*/
}
部分
{
VECS (空载)> VECS
.cinit > DARAM0
.text >> SARAM0|SARAM1|SARAM2|SARAM3|SARAM4
.stack > DARAM0
.sysstack > DARAM0
.sysmem > DARAM4
.data > DARAM4
.cio > DARAM0
.bss > DARAM5
.const > DARAM0
.switch > DARAM7
}
----------------------------------------------------
这是修改后的 cmd 文件。
----------------------------------------
存储器
{
MMR:O = 0x000000 l = 0x0000c0 /* 192B 存储器映射寄存器*/
DARAM0:O = 0x0000C0 l = 0x001F40 // 8kB 双存取 RAM 0 */
DARAM1:O = 0x002000 l = 0x002000 // 8kB 双存取 RAM 1 */
DARAM2:O = 0x004000 l = 0x002000 // 8kB 双存取 RAM 2 */
DARAM3:O = 0x006000 l = 0x002000 // 8kB 双存取 RAM 3 */
DARAM4:O = 0x008000 l = 0x002000 // 8kB 双存取 RAM 4 */
DARAM5:O = 0x00A000 l = 0x004000 // 8kB 双存取 RAM 5 */
// DARAM6:O = 0x00C000 l = 0x002000 // 8kB 双存取 RAM 6 */
DARAM7:O = 0x00E000 l = 0x002000 // 8kB 双存取 RAM 7 *
SARAM0:O = 0x010000 l = 0x002000 // 8kB 单访问 RAM 0 */
SARAM1:O = 0x012000 l = 0x002000 // 8kB 单访问 RAM 1 */
SARAM2:O = 0x014000 l = 0x002000 // 8kB 单次访问 RAM 2 *
SARAM3:O = 0x016000 l = 0x002000 // 8kB 单访问 RAM 3 *
SARAM4:O = 0x018000 l = 0x002000 // 8kB 单访问 RAM 4 *
SARAM5:O = 0x01A000 l = 0x002000 // 8kB 单存取 RAM 5 */
SARAM6:O = 0x01C000 l = 0x002000 // 8kB 单存取 RAM 6 */
SARAM7:O = 0x01E000 l = 0x002000 // 8kB 单次访问 RAM 7 *
SARAM8:O = 0x020000 l = 0x002000 // 8kB 单访问 RAM 8 */
SARAM9:O = 0x022000 l = 0x002000 // 8kB 单访问 RAM 9 */
SARAM10:O = 0x024000 l = 0x002000 // 8kB 单访问 RAM 10 */
SARAM11:O = 0x026000 l = 0x002000 // 8kB 单访问 RAM 11 *
SARAM12:O = 0x028000 l = 0x002000 // 8kB 单访问 RAM 12 *
SARAM13:O = 0x02A000 l = 0x002000 // 8kB 单访问 RAM 13 */
SARAM14:O = 0x02C000 l = 0x002000 // 8kB 单访问 RAM 14 *
SARAM15:O = 0x02E000 l = 0x002000 // 8kB 单访问 RAM 15 */
SARAM16:O = 0x030000 l = 0x002000 // 8kB 单访问 RAM 16 */
SARAM17:O = 0x032000 l = 0x002000 // 8kB 单次访问 RAM 17 *
SARAM18:O = 0x034000 l = 0x002000 // 8kB 单访问 RAM 18 *
SARAM19:O = 0x036000 l = 0x002000 // 8kB 单访问 RAM 19 *
SARAM20:O = 0x038000 l = 0x002000 // 8kB 单访问 RAM 20 *
SARAM21:O = 0x03A000 l = 0x002000 // 8kB 单次访问 RAM 21 *
SARAM22:O = 0x03C000 l = 0x002000 // 8kB 单次访问 RAM 22 *
SARAM23:O = 0x03E000 l = 0x002000 // 8kB 单存取 RAM 23 *
SARAM24:O = 0x040000 l = 0x002000 // 8kB 单次访问 RAM 24 */
SARAM25:O = 0x042000 l = 0x002000 // 8kB 单存取 RAM 25 *
SARAM26:O = 0x044000 l = 0x002000 // 8kB 单次访问 RAM 26 */
SARAM27:O = 0x046000 l = 0x002000 // 8kB 单次访问 RAM 27 *
SARAM28:O = 0x048000 l = 0x002000 // 8kB 单访问 RAM 28 *
SARAM29:O = 0x04A000 l = 0x002000 // 8kB 单访问 RAM 29 */
SARAM30:O = 0x04C000 l = 0x002000 // 8kB 单访问 RAM 30 */
SARAM31:O = 0x04E000 l = 0x002000 // 8kB 单访问 RAM 31 *
///ROM:O = 0xFE0000 l = 0x01FF00 /* 128KB ROM (MPNMC=0)或 CS5 (MPNMC=1)*/
SAROM0:O = 0xFE0000 l = 0x008000 // 128KB ROM (MPNMC=0)或 CS5 (MPNMC=1)*/
SAROM1:O = 0xFE8000 l = 0x008000 // 128KB ROM (MPNMC=0)或 CS5 (MPNMC=1)*/
SAROM2:O = 0x0000 l = 0x008000 // 128KB ROM (MPNMC=0)或 CS5 (MPNMC=1)*/
SAROM3:O = 0xFF8000 l = 0x002000 // 128KB ROM (MPNMC=0)或 CS5 (MPNMC=1)*/
VECS:O = 0xFFFFFF00 l = 0x000100 //复位向量*/
}
部分
{
VECS (空载)> VECS
.cinit > SAROM0
.text > SAROM1
.stack > DARAM0
.sysstack > DARAM0
.sysmem > DARAM4
.data > DARAM4
.cio > DARAM0
.bss > DARAM5
.const > SAROM2
.switch > DARAM7
}
--------------------------------------
这会产生误差。
我想知道如何在 ROM 中进行编程
请给我一些提示
谢谢