msp430f1611 中断向量偏移

msp430f1611 中断向量偏移

/******************************************************************************
******* 函   数  名 : 
******* 描       述 : 中断向量列表映射
******* 入 口 参 数 : 
******* 出 口 参 数 : 
******* 影 响 资 源 :
******* 备       注 :
******************************************************************************/
#pragma vector = DACDMA_VECTOR
__interrupt void DACDMA(void)
{   
        asm(" br &0xE7E0;");
}
#pragma vector = PORT2_VECTOR
__interrupt void PORT2(void)
{   
        asm(" br &0xE7E2;");
}
#pragma vector = USART1TX_VECTOR
__interrupt void USART1TX(void)
{   
        asm(" br &0xE7E4;");
}
#pragma vector = USART1RX_VECTOR
__interrupt void USART1RX(void)
{   
        asm(" br &0xE7E6;");
}
#pragma vector = PORT1_VECTOR
__interrupt void PORT1(void)
{   
        asm(" br &0xE7E8;");
}
#pragma vector = TIMERA1_VECTOR
__interrupt void TIMERA1(void)
{   
        asm(" br &0xE7EA;");
}
#pragma vector = TIMERA0_VECTOR
__interrupt void TIMERA0(void)
{   
        asm(" br &0xE7EC;");
}
#pragma vector = ADC12_VECTOR
__interrupt void ADC12(void)
{   
        asm(" br &0xE7EE;");
}
#pragma vector = USART0TX_VECTOR
__interrupt void USART0TX(void)
{   
        asm(" br &0xE7F0;");
}
#pragma vector = USART0RX_VECTOR
__interrupt void USART0RX(void)
{   
        asm(" br &0xE7F2;");
}
#pragma vector = WDT_VECTOR
__interrupt void WDT(void)
{   
        asm(" br &0xE7F4;");
}
#pragma vector = COMPARATORA_VECTOR
__interrupt void COMPARATORA(void)
{   
        asm(" br &0xE7F6;");
}
#pragma vector = TIMERB1_VECTOR
__interrupt void TIMERB1(void)
{   
        asm(" br &0xE7F8;");
}
#pragma vector = TIMERB0_VECTOR
__interrupt void TIMERB0(void)
{   
        asm(" br &0xE7FA;");
}
#pragma vector = NMI_VECTOR
__interrupt void NMI(void)
{   
        asm(" br &0xE7FC;");
}
//BOOTLOADER 不做任何处理
//#pragma vector = RESET_VECTOR  
//__interrupt void RESET(void)
//{   
//  ;
//}
void UserCode(void)
{
   asm(" mov &0xe7fe, PC;");
}

msp430f1611 boot中断向量设置
下面是应用程序lnk文件,主要修改INTVEC  RESET

// ************************************************
//
// XLINK configuration file for MSP430F1611
//
// Copyright 1996-2015 IAR Systems AB.
//
// See the file 430/doc/licenses/IARSourceLicense.txt for detailed
// license information.
//
// $Revision: $
//
// ************************************************

// ---------------------------------------------------------
// Description
//

//
// Usage:
//
//   xlink [file file ...] -f lnk430f1611.xcl
//
// -----------------------------------------------
// Device summary
//

//
// Core:                           MSP430
//
// Interrupt vectors:              16
//
// Peripheral units:                  0-01FF
//
// Information memory (FLASH):     1000-10FF
//
// Read/write memory (RAM):        1100-38FF
//
// Read-only memory (FLASH):       4000-FFFF
//


// -----------------------------------------------
// Segments
//

// -------------------------------------
// Data read/write segments (RAM)
//

//
// segment         Usage
// -------         --------------------------
// DATA16_Z        Data initialized to zero
// DATA16_I        Data initialized by copying from DATA16_ID
// DATA16_N        Data defined using __no_init
// DATA16_HEAP     The heap used by 'malloc' and 'free'
// CSTACK          Runtime stack
// TLS16_I         Thread-local storage for main thread
//


// -------------------------------------
// Program and data read-only segments (FLASH)
//

//
// segment         Usage
// -------         --------------------------
// DATA16_C        Constant data, including string literals
// DATA16_ID       Initializers for DATA<nn>_I
// INFO            Information memory
// INFOA           Information memory, bank A
// INFOB           Information memory, bank B
// CSTART          Program startup code
// CODE            Program code
// ISR_CODE        Program code for interrupt service routines
// DIFUNCT         Dynamic initialization vector used by C++
// CHECKSUM        Checksum byte(s) generated by the -J option
// INTVEC          Interrupt vectors
// RESET           The reset vector
// TLS16_ID        Thread-local initializers for main thread
//
// Notes:
//
// * The INFOx and INFO segments overlap, this allows data either to be
//   placed in a specific bank or anywhere in the info memory.
//
// * The INTVEC and RESET segments overlap. This allows an application to
//   either use the reset vector provided by the runtime library, or
//   provide a reset function by defining an interrupt function associated
//   with the reset vector.
//


// ---------------------------------------------------------
// Configuation
//

// -----------------------------------------------
// Stack and heap sizes
//

// Uncomment for command line use
//-D_STACK_SIZE=80
//-D_DATA16_HEAP_SIZE=80


// -----------------------------------------------
// Define cpu
//

-cmsp430


// -----------------------------------------------
// Support for placing functions in read/write memory
//

-QCODE_I=CODE_ID


// -----------------------------------------------
// Support for thread local storage
//

-QTLS16_I=TLS16_ID


// -----------------------------------------------
// Hardware multiplier location
//

-D__iar_HWMUL=130


// ---------------------------------------------------------
// Placement directives
//

// -----------------------------------------------
// Information memory
//

-Z(CONST)INFO=1000-10FF
-Z(CONST)INFOA=1080-10FF
-Z(CONST)INFOB=1000-107F


// -----------------------------------------------
// RAM memory
//

-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,TLS16_I=1100-38FF
-Z(DATA)DATA16_HEAP+_DATA16_HEAP_SIZE
-Z(DATA)CODE_I
-Z(DATA)CSTACK+_STACK_SIZE#


// -----------------------------------------------
// Read-only memory
//

// -------------------------------------
// Constant data
//

-Z(CONST)CHECKSUM,DATA16_C,DATA16_ID,TLS16_ID,DIFUNCT=4000-E7DF

// -------------------------------------
// Code
//

-Z(CODE)CSTART,ISR_CODE,CODE_ID=4000-E7DF
-P(CODE)CODE=4000-E7DF

// -------------------------------------
// Interrupt vectors
//

-Z(CODE)INTVEC=E7E0-E7FF
-Z(CODE)RESET=E7FE-E7FF

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值