首先用Per工具产生CMD文件(Generating Linker Files), 通过Per的工具会产生两个CMD文件,其中一个给MSP430G2755的Bootloader使用,另一个给MSP430G2755的应用程序使用。操作指令如下, C:\Users\a0223791\Desktop\MSP430-BSL-IAP\MSPBoot_1_01_00_00\linkerGen>perl MSPBo otLinkerGen.pl -file lnk_msp430G2755_Uart_1KB -dev MSP430G2755 -params 0x8000 0x FFE0 0xFC00 48 6 0x1100 0x20FF 0x80 0x1000 0x10BF 这里面有几个重要的参数说明如下, <0x8000 > = Start address of Flash/FRAM 对于MSP430G2553 地址为0xC000 ,而MSP430G2755的地址需要修改为0x8000
<0xFFE0 > = Address of interrupt vector table 中断向量表的地址0xFFE0,对于MSP430G2553和MSP430G2755相同
<0xFC00> = Start address of Bootloader Bootloader的起始地址0xFC00,对于两者也是相同的
<48 > =Size of the proxy table 这里的48对应于12个中断向量,每个中断向量占用4Byte
<6> = Size of shared vectors 在应用程序中一共有3个(P1/Time/Dummy)中断向量,每个中断向量占用2Byte, 对应参数为6
<0x1100> = Start address of RAM RAM的起始地址也需要修改为MSP430G2755的0x1100
<0x20FF > = End address of RAM RAM的结束地址也需要修改为MSP430G2755的0x20FF
<0x80> = Size of the stack MSP430G2755默认的堆栈大小为0x80
<0x1000> = Start address of info memory used for bootloader Information的起始和结束地址MSP430G2553和MSP430G2755一致,无需修改
<0x10BF > = End address of info memory used for bootloader Information的起始和结束地址MSP430G2553和MSP430G2755一致,无需修改 注意如上修改的参数6,及中断向量的数量,在Bootloader中的中断向量不需要修改,只修改MSP430G2755应用程序App中的中断向量即可,通过下图可以直观看到中断向量的在Bin文件中的分布。 图二 MSP430G2755中断向量 图三 MSP430G2755 Bin文件对应虚拟中断向量表 注意在这里的809C 和80E2 就对应MSP430G2755应用程序中的P1_Isr 和Timer_A,GPIO中断和定时器中断。下图会看到在MSP430G2755Bootloader中虚拟中断向量表的分布。 图四MSP430G2755 Bootloader虚拟中断向量表
|