This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/TM4C123GH6PZ:TM4C123GH6PZ:

Guru**** 1830130 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/746113/compiler-tm4c123gh6pz-tm4c123gh6pz

器件型号:TM4C123GH6PZ
主题中讨论的其他器件:TM4C123

工具/软件:TI C/C++编译器

您好、先生、

我不熟悉嵌入式编程。因此、如果我的代码中有任何错误、请告诉我。

问题:

我正在使用 SysTick 计时器中断在 LED 闪烁程序中生成延迟。该程序如下所示、我将随附我的 c 文件 also.e2e.ti.com/.../8206.Main.c

#include "stdio.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#include "hw_memmap.h"
#include "driverlib/pin_map.h"
#include "inc/hw_types.h"
#include "driverlib/interrupt.h"
#include "driverlib/SysTick .h"
空延迟(int a);
volatile uint32_t count=0;//计数器来计算已调用的中断数量

int main()

SysCtlClockSet (SYSCTL_SYSDIV_2_5|SYSCTL_USE_OSC |SYSCTL_XTAL_8MHZ|SYSCTL_OSC_MAIN);//将系统时钟设置为50MHz
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);//启用端口 A 外设引脚
while (!SysCtlPeripheralReady (SYSCTL_Periph_GPIOA));

GPIOPinTypeGPIOOutput (GPIO_Porta_base、GPIO_PIN_7);//将 portApin7设置为输出
计数= 0;
SysTickPeriodSet (SysCtlClockGet ());//设置 SysTick 计时器的周期。 SysTick 计时器周期
//等于系统时钟,产生1秒的周期。
IntMasterEnable();//启用处理器中断。

SysTickIntEnable();

 SysTickEnable();//启用 SysTick。

 

while (1)

}}

void SysTick 处理程序(void){
//
//更新 SysTick 中断计数器。
//
count++;
//
//检查 SysTick 中断计数是否发生更改,如果发生更改
//向端口引脚写入高电平。
//
if (count = 1){
GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_7、GPIO_PIN_7);

否则、如果(count ==2){
GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_7、0);
计数= 0;}

上述代码正常工作、但 如果我在 while 循环(在 main 中为.e、while (1))内插入上述程序的突出显示部分、则该程序不会获取中断处理程序函数、它将仅在 while 循环内运行。 我在中断处理程序函数内递增计数、因为只有这样我才不能使 LED 闪烁。

我不明白为什么中断处理程序函数没有执行。请帮助我解决问题。如果您对我的代码有任何疑问、请随时与我联系。

谢谢、

Alphy Ouseph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    您如何知道中断不起作用? 您是否在 SysTick 处理程序中放置了断点? 尝试在 SysTick 处理程序中放置一个断点、并查看 count 变量是如何更改的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、先生、我放置 了断点并进行了检查、启用中断后、 程序直接进入 while (1)条件而不是 SysTick 处理程序函数。在中断处理程序函数内、我将递增计数器 、并根据计数 器值使 led 闪烁。中断处理程序函数未执行、因此计数器值不会改变、LED 也不会闪烁。i 我不明白为什么它不会中断处理程序函数。

    谢谢、

    Alphy

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     下面是 startup_ccs.c 文件的一部分。 是否已将 SysTick 处理程序矢量添加到矢量表中?  

      

    静态空 NmiSR (void);
    静态空 FaultISR (void);
    静态空 IntDefaultHandler (void);
    静态空 SysTick 处理程序(void);
    
    
    //*************
    //
    //
    启动//处理器时要调用的复位处理程序的外部声明
    //
    *********
    extern void _c_int00 (void);
    
    //*********
    //
    //标记栈顶的链接器变量。
    ////
    *****************
    extern uint32_t __stack_top;
    
    //*********
    //
    //矢量表。 请注意、必须在这个上放置适当的结构、
    以//确保它在物理地址0x0000.0000处结束、或者
    在//程序的开头(如果位于0以外的起始地址)结束。
    ////
    *****************
    #pragma DATA_SECTION (g_pfnVectors、".intvecs")
    void (* const g_pfnVectors [])(void)=
    {
    (void (*)(void)((uint32_t)&_stack_top)、
    //初始堆栈指针
    ResetISR、 //重置处理程序
    NmiSR、 // NMI 处理程序
    FaultISR、 //硬故障处理程序
    IntDefaultHandler、 // MPU 故障处理程序
    IntDefaultHandler、 //总线故障处理程序
    IntDefaultHandler、 //用法故障处理程序
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    IntDefaultHandler、 // SVCall 处理程序
    IntDefaultHandler、 //调试监视器处理程序
    0、 //保留
    IntDefaultHandler、 // PendSV 处理程序
    SysTick 处理程序、 // SysTick 处理程序
    IntDefaultHandler、 // GPIO 端口 A
    IntDefaultHandler、 // GPIO 端口 B
    IntDefaultHandler、 // GPIO 端口 C
    IntDefaultHandler、 // GPIO 端口 D
    IntDefaultHandler、 // GPIO 端口 E 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、先生、

    抱歉、先生、我不熟悉嵌入式 C 编程、因此我不知道如何检查 SysTick 处理程序矢量是否已添加到矢量表中。 如果未添加、请告诉我如何将其添加到矢量表中。

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当您说您在 while (1)中时。 您在哪段时间(1)?  如果您位于 IntDefaultHandler ISR 内部的 while (1)中、则意味着您没有在矢量表中为 SysTick 处理程序矢量声明正确的矢量。 将现有的 startup_ccs.c 替换为以下文件。 或者、您只需查看您的和以下内容之间的差异并进行相应修改即可。 在您修改之后、如果您仍然没有进入 内部插入了断点的 SysTick 处理程序、则这是另一个问题。  

    //
    //
    //// startup_ccs.c -与 TI 的 Code Composer Studio 一起使用的启动代码。
    //
    //版权所有(c) 2012-2017 Texas Instruments Incorporated。 保留所有权利。
    //软件许可协议
    //
    //德州仪器(TI)提供此软件仅供
    和//仅供 TI 的微控制器产品使用。 软件归
    // TI 和/或其供应商所有,并受适用的版权
    //法律保护。 您不能将此软件与"病毒"开源
    //软件组合在一起以形成更大的程序。
    //
    //此软件按“原样”提供,且存在所有故障。
    //对于
    
    本软件,不作任何明示、暗示或法定的保证,包括但不限于对适销性和适用性的暗示保证//特定用途。 在任何
    //情况下、TI 不对任何
    原因造成的特殊、意外或必然//损害负责。
    //
    //这是 EK-TM4C123GXL 固件包版本2.1.4.178的一部分。
    ////
    *****************
    
    #include 
    #include "inc/hw_NVIC.h"
    #include "inc/hw_types.h"
    
    //*********
    //
    //转发默认故障处理程序的声明。
    ////
    *****************
    void ResetISR (void);
    static void NmiSR (void);
    static void FaultISR (void);
    static void IntDefaultHandler (void);
    extern void SysTick 处理程序(void);
    
    
    //
    //
    //
    启动//处理器时要调用的复位处理程序的外部声明
    //
    *********
    extern void _c_int00 (void);
    
    //*********
    //
    //标记栈顶的链接器变量。
    ////
    *****************
    extern uint32_t __stack_top;
    
    //*********
    //
    //矢量表。 请注意、必须在这个上放置适当的结构、
    以//确保它在物理地址0x0000.0000处结束、或者
    在//程序的开头(如果位于0以外的起始地址)结束。
    ////
    *****************
    #pragma DATA_SECTION (g_pfnVectors、".intvecs")
    void (* const g_pfnVectors [])(void)=
    {
    (void (*)(void)((uint32_t)&_stack_top)、
    //初始堆栈指针
    ResetISR、 //重置处理程序
    NmiSR、 // NMI 处理程序
    FaultISR、 //硬故障处理程序
    IntDefaultHandler、 // MPU 故障处理程序
    IntDefaultHandler、 //总线故障处理程序
    IntDefaultHandler、 //用法故障处理程序
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    IntDefaultHandler、 // SVCall 处理程序
    IntDefaultHandler、 //调试监视器处理程序
    0、 //保留
    IntDefaultHandler、 // PendSV 处理程序
    SysTick 处理程序、 // SysTick 处理程序
    IntDefaultHandler、 // GPIO 端口 A
    IntDefaultHandler、 // GPIO 端口 B
    IntDefaultHandler、 // GPIO 端口 C
    IntDefaultHandler、 // GPIO 端口 D
    IntDefaultHandler、 // GPIO 端口 E
    IntDefaultHandler、 // UART0 Rx 和 Tx
    IntDefaultHandler、 // UART1 Rx 和 Tx
    IntDefaultHandler、 // SSI0 Rx 和 Tx
    IntDefaultHandler、 // I2C0主机和从机
    IntDefaultHandler、 // PWM 故障
    IntDefaultHandler、 // PWM 发生器0
    IntDefaultHandler、 // PWM 发生器1
    IntDefaultHandler、 // PWM 发生器2.
    IntDefaultHandler、 //正交编码器0
    IntDefaultHandler、 // ADC 序列0
    IntDefaultHandler、 // ADC 序列1
    IntDefaultHandler、 // ADC 序列2.
    IntDefaultHandler、 // ADC 序列3.
    IntDefaultHandler、 //看门狗计时器
    IntDefaultHandler、 // Timer 0子计时器 A
    IntDefaultHandler、 // Timer 0子计时器 B
    IntDefaultHandler、 //计时器1子计时器 A
    IntDefaultHandler、 //计时器1子计时器 B
    IntDefaultHandler、 //计时器2子计时器 A
    IntDefaultHandler、 //计时器2子计时器 B
    IntDefaultHandler、 //模拟比较器0
    IntDefaultHandler、 //模拟比较器1
    IntDefaultHandler、 //模拟比较器2.
    IntDefaultHandler、 //系统控制(PLL、OSC、BO)
    IntDefaultHandler、 //闪存控制
    IntDefaultHandler、 // GPIO 端口 F
    IntDefaultHandler、 // GPIO 端口 G
    IntDefaultHandler、 // GPIO 端口 H
    IntDefaultHandler、 // UART2 Rx 和 Tx
    IntDefaultHandler、 // SSI1 Rx 和 Tx
    IntDefaultHandler、 //计时器3子计时器 A
    IntDefaultHandler、 //计时器3子计时器 B
    IntDefaultHandler、 // I2C1主设备和从设备
    IntDefaultHandler、 //正交编码器1
    IntDefaultHandler、 // CAN0
    IntDefaultHandler、 // CAN1
    0、 //保留
    0、 //保留
    IntDefaultHandler、 //休眠
    IntDefaultHandler、 // USB0
    IntDefaultHandler、 // PWM 发生器3.
    IntDefaultHandler、 // uDMA 软件传输
    IntDefaultHandler、 // uDMA 错误
    IntDefaultHandler、 // ADC1序列0
    IntDefaultHandler、 // ADC1序列1
    IntDefaultHandler、 // ADC1序列2.
    IntDefaultHandler、 // ADC1序列3.
    0、 //保留
    0、 //保留
    IntDefaultHandler、 // GPIO 端口 J
    IntDefaultHandler、 // GPIO 端口 K
    IntDefaultHandler、 // GPIO 端口 L
    IntDefaultHandler、 // SSI2 Rx 和 Tx
    IntDefaultHandler、 // SSI3 Rx 和 Tx
    IntDefaultHandler、 // UART3 Rx 和 Tx
    IntDefaultHandler、 // UART4 Rx 和 Tx
    IntDefaultHandler、 // UART5 Rx 和 Tx
    IntDefaultHandler、 // UART6 Rx 和 Tx
    IntDefaultHandler、 // UART7 Rx 和 Tx
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    IntDefaultHandler、 // I2C2主设备和从设备
    IntDefaultHandler、 // I2C3主设备和从设备
    IntDefaultHandler、 //计时器4子计时器 A
    IntDefaultHandler、 //计时器4子计时器 B
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    0、 //保留
    IntDefaultHandler、 //计时器5子计时器 A
    IntDefaultHandler、 //计时器5子计时器 B
    IntDefaultHandler、 //宽定时器0子定时器 A
    IntDefaultHandler、 //宽定时器0子定时器 B
    IntDefaultHandler、 //宽定时器1子定时器 A
    IntDefaultHandler、 //宽定时器1子定时器 B
    IntDefaultHandler、 //宽定时器2子定时器 A
    IntDefaultHandler、 //宽定时器2子定时器 B
    IntDefaultHandler、 //宽定时器3子定时器 A
    IntDefaultHandler、 //宽定时器3子定时器 B
    IntDefaultHandler、 //宽定时器4子定时器 A
    IntDefaultHandler、 //宽定时器4子定时器 B
    IntDefaultHandler、 //宽定时器5子定时器 A
    IntDefaultHandler、 //宽定时器5子定时器 B
    IntDefaultHandler、 // FPU
    0、 //保留
    0、 //保留
    IntDefaultHandler、 // I2C4主设备和从设备
    IntDefaultHandler、 // I2C5主设备和从设备
    IntDefaultHandler、 // GPIO 端口 M
    IntDefaultHandler、 // GPIO 端口 N
    IntDefaultHandler、 //正交编码器2
    0、 //保留
    0、 //保留
    IntDefaultHandler、 // GPIO 端口 P (摘要或 P0)
    IntDefaultHandler、 // GPIO 端口 P1
    IntDefaultHandler、 // GPIO 端口 P2
    IntDefaultHandler、 // GPIO 端口 P3
    IntDefaultHandler、 // GPIO 端口 P4
    IntDefaultHandler、 // GPIO 端口 P5
    IntDefaultHandler、 // GPIO 端口 P6
    IntDefaultHandler、 // GPIO 端口 P7
    IntDefaultHandler、 // GPIO 端口 Q (摘要或 Q0)
    IntDefaultHandler、 // GPIO 端口 Q1
    IntDefaultHandler、 // GPIO 端口 Q2
    IntDefaultHandler、 // GPIO 端口 Q3
    IntDefaultHandler、 // GPIO 端口 Q4
    IntDefaultHandler、 // GPIO 端口 Q5
    IntDefaultHandler、 // GPIO 端口 Q6
    IntDefaultHandler、 // GPIO 端口 Q7
    IntDefaultHandler、 // GPIO 端口 R
    IntDefaultHandler、 // GPIO 端口 S
    IntDefaultHandler、 // PWM 1发生器0
    IntDefaultHandler、 // PWM 1发生器1
    IntDefaultHandler、 // PWM 1发生器2
    IntDefaultHandler、 // PWM 1发生器3
    IntDefaultHandler // PWM 1故障
    };
    
    //*********
    //
    //这是在处理器首次开始执行
    时调用的代码//在复位事件之后。 只执行绝对必要的设置,
    //之后调用应用程序提供的 entry()例程。 任何花式
    //操作(例如根据复位原因寄存
    
    器做出决策、和//复位该寄存器中的位)都只能由//应用程序控制。
    ////
    *****************
    void
    ResetISR (void)
    {
    //
    //跳转到 CCS C 初始化例程。 这将启用
    //浮点单元,因此不需要在此处执行此操作。
    //
    _asm (".global _c_int00\n"
    " _c_int00");
    }
    
    //*********
    //
    //这是当处理器接收到 NMI 时被调用的代码。 这个
    //只需进入一个无限循环,保留系统状态供
    调试器检查//。
    ////
    *****************
    静态空
    NmiSR (void)
    {
    //
    //输入无限循环。
    //
    while (1)
    {
    }
    }
    
    //*********
    //
    //这是处理器收到故障
    //中断时调用的代码。 这只是进入一个无限循环、保持系统状态
    //供调试器检查。
    ////
    *****************
    静态空
    FaultISR (空)
    {
    //
    //输入无限循环。
    //
    while (1)
    {
    }
    }
    
    //*********
    //
    //这是当处理器收到意外
    的//中断时调用的代码。 这只是进入一个无限循环、保持系统状态
    //供调试器检查。
    ////
    *****************
    静态空
    IntDefaultHandler (void)
    {
    //
    //进入无限循环。
    //
    while (1)
    {
    }
    }
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、先生、
    下面随附的是我的 startup_ccs.c 文件。当我用您的文件替换它时、我收到错误。 SysTick 处理程序函数包含在该文件中。我仍然不明白为什么它不会中断处理程序函数。请帮我解决这个问题。



    ; //**
    ;*@文件 STARTUP_TM4C123.s
    ;*@的 CMSIS Cortex-M4内核设备启动文件简介
    ;* TI Tiva TM4C123 Blizzard 类器件
    ;*@V1.00版
    ;*@日期 2013年5月15日
    ;*
    ;*@注释
    ;*版权所有(C) 2011 ARM Limited。 保留所有权利。
    ;*
    ;*@PAR
    ;* ARM Limited (ARM)提供此软件以与 Cortex-M 配合使用
    ;*基于处理器的微控制器。 此文件可以自由分发
    ;*在支持此类基于 ARM 的处理器的开发工具中。
    ;*
    ;*@PAR
    ;*此软件按“原样”提供。 不作任何明示或暗示的保证
    ;*或法定,包括但不限于对的暗示担保
    ;*适销性和特定用途的适用性适用于此软件。
    ;*在任何情况下,ARM 都不对特殊、偶然或承担责任
    ;*由于任何原因造成的后果性损害。
    ;*
    ; /
    ;/*
    ;//---- <<<在上下文菜单中使用配置向导>>-->---
    ;*/


    ; 堆栈配置
    ; 栈大小(以字节为单位)<0x0-0xFFFFFFFF:8>


    STACK_SIZE equ 0x00000200

    区域堆栈、NOINIT、READWRITE、ALIGN=3
    STACK_内存 Space Stack_size
    _initial_sp.(初始化_sp.


    ; 堆配置
    ; 堆大小(以字节为单位)<0x0-0xFFFFFFFF:8>


    heap_size equ 0x00000000

    区域堆、NOINIT、READWRITE、ALIGN=3
    _heap_base
    Heap_Mem 空间堆_size
    _heap_limit


    预览8.
    拇指

    ;复位时映射到地址0的向量表

    区域复位、数据、只读
    导出__Vectors
    导出__Vectors_end
    导出__Vectors_size

    _矢量 DCD _initial_sp.(初始化_sp. ;栈顶
    DCD RESET_Handler ;重置处理程序
    DCD NMI_Handler ; NMI 处理程序
    DCD HardFault_Handler ;硬故障处理程序
    DCD MemManage_Handler ;MPU 故障处理程序
    DCD BusFault_Handler ;总线故障处理程序
    DCD 使用 Fault_Handler ;用法故障处理程序
    DCD 0 ;保留
    DCD 0 ;保留
    DCD 0 ;保留
    DCD 0 ;保留
    DCD Svc_Handler ; SVCall 处理程序
    DCD DebugMon_Handler ;调试监视器处理程序
    DCD 0 ;保留
    DCD PendSV_Handler ; PendSV 处理程序
    DCD SysTick 处理程序 ; SysTick 处理程序

    ;外部中断

    DCD GPIOA_Handler ;0:GPIO 端口 A
    DCD GPIOB_Handler ;1:GPIO 端口 B
    DCD GPIO_处理程序 ;2:GPIO 端口 C
    DCD GPIOD_Handler ;3:GPIO 端口 D
    DCD GPIOE_Handler ;4:GPIO 端口 E
    DCD UART0_Handler ;5:UART0 Rx 和 Tx
    DCD UART1_Handler ;6:UART1 Rx 和 Tx
    DCD SSI0_Handler ;7:SSI0 Rx 和 Tx
    DCD I2C0_Handler ;8:I2C0主机和从机
    DCD PMW0_FAULT_Handler ;9:PWM 故障
    DCD PWM0_0_Handler ;10:PWM 发生器0
    DCD PWM0_1_Handler ;11:PWM 发生器1
    DCD PWM0_2_Handler ;12:PWM 发生器2
    DCD QEI0_Handler ;13:正交编码器0
    DCD ADC0SS0_Handler ;14:ADC 序列0
    DCD ADC0SS1_Handler ;15:ADC 序列1
    DCD ADC0SS2_Handler ;16:ADC 序列2
    DCD ADC0SS3_Handler ;17:ADC 序列3
    DCD WDT0_Handler ;18:看门狗定时器
    DCD TIMER0A_Handler ;19:计时器0子计时器 A
    DCD TIMER0B_Handler ;20:定时器0子定时器 B
    DCD TIMER1A_Handler ;21:计时器1子计时器 A
    DCD TIMER1B_Handler ;22:定时器1子定时器 B
    DCD TIMER2A_Handler ;23:计时器2子计时器 A
    DCD TIMER2B_Handler ;24:定时器2子定时器 B
    DCD COMP0_Handler ;25:模拟比较器0
    DCD COMP1_Handler ;26:模拟比较器1
    DCD COMP2_Handler ;27:模拟比较器2
    DCD SYSCTL_Handler ;28:系统控制(PLL、OSC、BO)
    DCD Flash_Handler ;29:Flash 控制
    DCD GPIOF_Handler ;30:GPIO 端口 F
    DCD GPIOG_Handler ;31:GPIO 端口 G
    DCD GPIOH_Handler ;32:GPIO 端口 H
    DCD UART2_Handler ;33:UART2 Rx 和 Tx
    DCD SSI1_Handler ;34:SSI1 Rx 和 Tx
    DCD TIMER3A_Handler ;35:计时器3子计时器 A
    DCD TIMER3B_Handler ;36:计时器3子计时器 B
    DCD I2C1_Handler ;37:I2C1主设备和从设备
    DCD QEI1_Handler ;38:正交编码器1
    DCD CAN0_Handler ;39:CAN0
    DCD CAN1_Handler ;40:CAN1
    DCD CAN2_Handler ;41:CAN2
    DCD 0 ;42:保留
    DCD hip_Handler ;43:休眠
    DCD USB0_Handler ;44:USB0
    DCD PWM0_3_Handler ;45:PWM 发生器3
    DCD UDMA_Handler ;46:UDMA 软件传输
    DCD UDMAERR_Handler ;47:uDMA 错误
    DCD ADC1SS0_Handler ;48:ADC1序列0
    DCD ADC1SS1_Handler ;49:ADC1序列1
    DCD ADC1SS2_Handler ;50:ADC1序列2
    DCD ADC1SS3_Handler ;51:ADC1序列3
    DCD 0 ;52:保留
    DCD 0 ;53:保留
    DCD GPIOJ_Handler ;54:GPIO 端口 J
    DCD GPIOK_Handler ;55:GPIO 端口 K
    DCD GPIOL_Handler ;56:GPIO 端口 L
    DCD SSI2_Handler ;57:SSI2 Rx 和 Tx
    DCD SSI3_Handler ;58:SSI3 Rx 和 Tx
    DCD UART3_Handler ;59:UART3 Rx 和 Tx
    DCD UART4_Handler ;60:UART4 Rx 和 Tx
    DCD UART5_Handler ;61:UART5 Rx 和 Tx
    DCD UART6_Handler ;62:UART6 Rx 和 Tx
    DCD UART7_Handler ;63:UART7 Rx 和 Tx
    DCD 0 ;64:保留
    DCD 0 ;65:保留
    DCD 0 ;66:保留
    DCD 0 ;67:保留
    DCD I2C2_Handler ;68:I2C2主设备和从属设备
    DCD I2C3_Handler ;69:I2C3主设备和从设备
    DCD TIMER4A_Handler ;70:计时器4子计时器 A
    DCD TIMER4B_Handler ;71:计时器4子计时器 B
    DCD 0 ;72:保留
    DCD 0 ;73:保留
    DCD 0 ;74:保留
    DCD 0 ;75:保留
    DCD 0 ;76:保留
    DCD 0 ;77:保留
    DCD 0 ;78:保留
    DCD 0 ;79:保留
    DCD 0 ;80:保留
    DCD 0 ;81:保留
    DCD 0 ;82:保留
    DCD 0 ;83:保留
    DCD 0 ;84:保留
    DCD 0 ;85:保留
    DCD 0 ;86:保留
    DCD 0 ;87:保留
    DCD 0 ;88:保留
    DCD 0 ;89:保留
    DCD 0 ;90:保留
    DCD 0 ;91:保留
    DCD TIMER5A_Handler ;92:计时器5子计时器 A
    DCD TIMER5B_Handler ;93:计时器5子计时器 B
    DCD WTIMER0A_Handler ;94:宽定时器0子定时器 A
    DCD WTIMER 0B_Handler ;95:宽定时器0子定时器 B
    DCD WTIMER1A_Handler ;96:宽定时器1子定时器 A
    DCD WTIMER1B_Handler ;97:宽定时器1子定时器 B
    DCD WTIMER2A_Handler ;98:宽定时器2子定时器 A
    DCD WTIMER2B_Handler ;99:宽定时器2子定时器 B
    DCD WTIMER3A_Handler ;100:宽定时器3子定时器 A
    DCD WTIMER3B_Handler ;101:宽定时器3子定时器 B
    DCD WTIMER4A_Handler ;102:宽定时器4子定时器 A
    DCD WTIMER4B_Handler ;103:宽定时器4子定时器 B
    DCD WTIMER5A_Handler ;104:宽定时器5子定时器 A
    DCD WTIME5B_Handler ;105:宽定时器5子定时器 B
    DCD FPU_Handler ;106:FPU
    DCD 0 ;107:保留
    DCD 0 ;108:保留
    DCD I2C4_Handler ;109:I2C4主机和从机
    DCD I2C5_Handler ;110:I2C5主设备和从设备
    DCD GPIOM_Handler ;111:GPIO 端口 M
    DCD GPION_Handler ;112:GPIO 端口 N
    DCD QEI2_Handler ;113:正交编码器2
    DCD 0 ;114:保留
    DCD 0 ;115:保留
    DCD GPIOP0_Handler ;116:GPIO 端口 P (摘要或 P0)
    DCD GPIOP1_Handler ;117:GPIO 端口 P1
    DCD GPIOP2_Handler ;118:GPIO 端口 P2
    DCD GPIOP3_Handler ;119:GPIO 端口 P3
    DCD GPIOP4_Handler ;120:GPIO 端口 P4
    DCD GPIOP5_Handler ;121:GPIO 端口 P5
    DCD GPIOP6_Handler ;122:GPIO 端口 P6
    DCD GPIOP7_Handler ;123:GPIO 端口 P7
    DCD GPIOQ0_Handler ;124:GPIO 端口 Q (摘要或 Q0)
    DCD GPIOQ1_Handler ;125:GPIO 端口 Q1
    DCD GPIOQ2_Handler ;126:GPIO 端口 Q2
    DCD GPIOQ3_Handler ;127:GPIO 端口 Q3
    DCD GPIOQ4_Handler ;128:GPIO 端口 Q4
    DCD GPIOQ5_Handler ;129:GPIO 端口 Q5
    DCD GPIOQ6_Handler ;130:GPIO 端口 Q6
    DCD GPIOQ7_Handler ;131:GPIO 端口 Q7
    DCD GPIOR_Handler ;132:GPIO 端口 R
    DCD GPIO 处理程序 ;133:GPIO 端口 S
    DCD PMW1_0_Handler ;134:PWM 1发生器0
    DCD PWM1_1_Handler ;135:PWM 1发生器1
    DCD PWM1_2_Handler ;136:PWM 1发生器2
    DCD PWM1_3_Handler ;137:PWM 1发生器3
    DCD PWM1_FAULT_Handler ;138:PWM 1故障

    __Vectors_end

    __Vectors _SIZE EQU __Vectors_end -__Vectors

    Area |.text|、code、readonly


    ;重置处理程序

    RESET_Handler PROC
    导出 Reset_Handler [弱]
    导入系统初始化
    导入_main
    LDR R0、=SystemInit
    BLX R0
    LDR R0、=__main
    BX R0
    ENDP


    ;虚拟异常处理程序(可修改的无限循环)

    NMI_Handler 处理器
    导出 NMI_Handler [弱]
    B 。
    ENDP
    HardFault 处理程序\
    处理器
    导出 HardFault_Handler [弱]
    B 。
    ENDP
    MemManage_Handler\
    处理器
    导出 MemManage_Handler [弱]
    B 。
    ENDP
    BusFault_Handler\
    处理器
    导出 BusFault_Handler [弱]
    B 。
    ENDP
    使用 Fault_Handler\
    处理器
    导出用户 Fault_Handler [弱]
    B 。
    ENDP
    Svc_Handler 处理器
    导出 SVC_Handler [弱]
    B 。
    ENDP
    DebugMon_Handler\
    处理器
    导出 DebugMon_Handler [弱]
    B 。
    ENDP
    PendSV_Handler\
    处理器
    导出 PendSV_Handler [弱]
    B 。
    ENDP
    SysTick 处理程序\
    处理器
    导出 SysTick 处理程序 [弱]
    B 。
    ENDP

    GPIOA_Handler\
    处理器
    导出 GPIOA_Handler [弱]
    B 。
    ENDP

    GPIOB_Handler\
    处理器
    导出 GPIOB_Handler [弱]
    B 。
    ENDP

    GPIOC_Handler\
    处理器
    导出 GPIOC_Handler [弱]
    B 。
    ENDP

    GPIOD_Handler\
    处理器
    导出 GPIOD_Handler [弱]
    B 。
    ENDP

    GPIOE_Handler\
    处理器
    导出 GPIOE_Handler [弱]
    B 。
    ENDP

    UART0_Handler\
    处理器
    导出 UART0_Handler [弱]
    B 。
    ENDP

    UART1_Handler\
    处理器
    导出 UART1_Handler [弱]
    B 。
    ENDP

    SSI0_Handler\
    处理器
    导出 SSI0_Handler [弱]
    B 。
    ENDP

    I2C0_Handler\
    处理器
    导出 I2C0_Handler [弱]
    B 。
    ENDP

    PMW0_FAULT_Handler\
    处理器
    导出 PMW0_FAULT_Handler [弱]
    B 。
    ENDP

    PWM0_0_Handler\
    处理器
    导出 PWM0_0_Handler [弱]
    B 。
    ENDP

    PWM0_1_Handler\
    处理器
    导出 PWM0_1_Handler [弱]
    B 。
    ENDP

    PWM0_2_Handler\
    处理器
    导出 PWM0_2_Handler [弱]
    B 。
    ENDP

    QEI0_Handler\
    处理器
    导出 QEI0_Handler [弱]
    B 。
    ENDP

    ADC0SS0_Handler\
    处理器
    导出 ADC0SS0_Handler [弱]
    B 。
    ENDP

    ADC0SS1_Handler\
    处理器
    导出 ADC0SS1_Handler [弱]
    B 。
    ENDP

    ADC0SS2_Handler\
    处理器
    导出 ADC0SS2_Handler [弱]
    B 。
    ENDP

    ADC0SS3_Handler\
    处理器
    导出 ADC0SS3_Handler [弱]
    B 。
    ENDP

    WDT0_Handler\
    处理器
    导出 WDT0_Handler [弱]
    B 。
    ENDP

    TIMER0A_Handler\
    处理器
    导出 TIMER0A_Handler [weak
    B 。
    ENDP

    TIMER0B_Handler\
    处理器
    导出 TIMER0B_Handler [弱]
    B 。
    ENDP

    TIMER1A_Handler\
    处理器
    导出 TIMER1A_Handler [弱]
    B 。
    ENDP

    TIMER1B_Handler\
    处理器
    导出 TIMER1B_Handler [弱]
    B 。
    ENDP

    TIMER2A_Handler\
    处理器
    导出 TIMER2A_Handler [弱]
    B 。
    ENDP

    TIMER2B_Handler\
    处理器
    导出 TIMER2B_Handler [弱]
    B 。
    ENDP

    COMP0_Handler\
    处理器
    导出 COMP0_Handler [弱]
    B 。
    ENDP

    COMP1_Handler\
    处理器
    导出 COMP1_Handler [弱]
    B 。
    ENDP

    COMP2_Handler\
    处理器
    导出 COMP2_Handler [弱]
    B 。
    ENDP

    SYSCTL_Handler\
    处理器
    导出 SYSCTL_Handler [weak
    B 。
    ENDP

    Flash_Handler\
    处理器
    导出 FLASH_Handler [弱]
    B 。
    ENDP

    GPIOF_Handler\
    处理器
    导出 GPIOF_Handler [弱]
    B 。
    ENDP

    GPIOG_Handler\
    处理器
    导出 GPIOG_Handler [弱]
    B 。
    ENDP

    GPIOH_Handler\
    处理器
    导出 GPIOH_Handler [弱]
    B 。
    ENDP

    UART2_Handler\
    处理器
    导出 UART2_Handler [弱]
    B 。
    ENDP

    SSI1_Handler\
    处理器
    导出 SSI1_Handler [弱]
    B 。
    ENDP

    TIMER3A_Handler\
    处理器
    导出 TIMER3A_Handler [弱]
    B 。
    ENDP

    TIMER3B_Handler\
    处理器
    导出 TIMER3B_Handler [弱]
    B 。
    ENDP

    I2C1_Handler\
    处理器
    导出 I2C1_Handler [弱]
    B 。
    ENDP

    QEI1_Handler\
    处理器
    导出 QEI1_Handler [弱]
    B 。
    ENDP

    CAN0_Handler\
    处理器
    导出 CAN0_Handler [弱]
    B 。
    ENDP

    CAN1_Handler\
    处理器
    导出 CAN1_Handler [弱]
    B 。
    ENDP

    CAN2_Handler\
    处理器
    导出 CAN2_Handler [弱]
    B 。
    ENDP

    HIB 处理程序\
    处理器
    导出 HIB_Handler [弱]
    B 。
    ENDP

    USB0_Handler\
    处理器
    导出 USB0_Handler [弱]
    B 。
    ENDP

    PWM0_3_Handler\
    处理器
    导出 PWM0_3_Handler [弱]
    B 。
    ENDP

    UDMA_Handler\
    处理器
    导出 UDMA_Handler [弱]
    B 。
    ENDP

    UDMAERR_Handler\
    处理器
    导出 UDMAERR_Handler [弱]
    B 。
    ENDP

    ADC1SS0_Handler\
    处理器
    导出 ADC1SS0_Handler [弱]
    B 。
    ENDP

    ADC1SS1_Handler\
    处理器
    导出 ADC1SS1_Handler [弱]
    B 。
    ENDP

    ADC1SS2_Handler\
    处理器
    导出 ADC1SS2_Handler [弱]
    B 。
    ENDP

    ADC1SS3_Handler\
    处理器
    导出 ADC1SS3_Handler [弱]
    B 。
    ENDP

    GPIOJ_Handler\
    处理器
    导出 GPIOJ_Handler [弱]
    B 。
    ENDP

    GPIOK_Handler\
    处理器
    导出 GPIOK_Handler [弱]
    B 。
    ENDP

    GPIOL_Handler\
    处理器
    导出 GPIOL_Handler [弱]
    B 。
    ENDP

    SSI2_Handler\
    处理器
    导出 SSI2_Handler [弱]
    B 。
    ENDP

    SSI3_Handler\
    处理器
    导出 SSI3_Handler [弱]
    B 。
    ENDP

    UART3_Handler\
    处理器
    导出 UART3_Handler [弱]
    B 。
    ENDP

    UART4_Handler\
    处理器
    导出 UART4_Handler [弱]
    B 。
    ENDP

    UART5_Handler\
    处理器
    导出 UART5_Handler [weak
    B 。
    ENDP

    UART6_Handler\
    处理器
    导出 UART6_Handler [弱]
    B 。
    ENDP

    UART7_Handler\
    处理器
    导出 UART7_Handler [弱]
    B 。
    ENDP

    I2C2_Handler\
    处理器
    导出 I2C2_Handler [弱]
    B 。
    ENDP

    I2C3_Handler\
    处理器
    导出 I2C3_Handler [弱]
    B 。
    ENDP

    TIMER4A_Handler\
    处理器
    导出 TIMER4A_Handler [弱]
    B 。
    ENDP

    TIMER4B_Handler\
    处理器
    导出 TIMER4B_Handler [弱]
    B 。
    ENDP

    TIMER5A_Handler\
    处理器
    导出 TIMER5A_Handler [弱]
    B 。
    ENDP

    TIMER5B_Handler\
    处理器
    导出 TIMER5B_Handler [弱]
    B 。
    ENDP

    WTIMER0A_Handler\
    处理器
    导出 WTIMER0A_Handler [弱]
    B 。
    ENDP

    WTIMER 0B_Handler\
    处理器
    导出 WTIMER 0B_Handler [弱]
    B 。
    ENDP

    WTIMER1A_Handler\
    处理器
    导出 WTIMER1A_Handler [弱]
    B 。
    ENDP

    WTIMER1B_Handler\
    处理器
    导出 WTIMER1B_Handler [弱]
    B 。
    ENDP

    WTIMER2A_Handler\
    处理器
    导出 WTIMER2A_Handler [弱]
    B 。
    ENDP

    WTIMER2B_Handler\
    处理器
    导出 WTIMER2B_Handler [弱]
    B 。
    ENDP

    WTIMER 3A_Handler\
    处理器
    导出 WTIMER 3A_Handler [弱]
    B 。
    ENDP

    WTIMER3B_Handler\
    处理器
    导出 WTIMER3B_Handler [弱]
    B 。
    ENDP

    WTIMER4A_Handler\
    处理器
    导出 WTIMER4A_Handler [弱]
    B 。
    ENDP

    WTIMER4B_Handler\
    处理器
    导出 WTIMER4B_Handler [弱]
    B 。
    ENDP

    WTIMER5A_Handler\
    处理器
    导出 WTIMER5A_Handler [弱]
    B 。
    ENDP

    WTIME5B_Handler\
    处理器
    导出 WTIME5B 处理程序[弱]
    B 。
    ENDP

    FPU_Handler\
    处理器
    导出 FPU_Handler [弱]
    B 。
    ENDP

    I2C4_Handler\
    处理器
    导出 I2C4_Handler [弱]
    B 。
    ENDP

    I2C5_Handler\
    处理器
    导出 I2C5_Handler [弱]
    B 。
    ENDP

    GPIOM_Handler\
    处理器
    导出 GPIOM_Handler [弱]
    B 。
    ENDP

    GPION_Handler\
    处理器
    导出 GPION_Handler [弱]
    B 。
    ENDP

    QEI2_Handler\
    处理器
    导出 QEI2_Handler [弱]
    B 。
    ENDP

    GPIOP0_Handler\
    处理器
    导出 GPIOP0_Handler [弱]
    B 。
    ENDP

    GPIOP1_Handler\
    处理器
    导出 GPIOP1_Handler [弱]
    B 。
    ENDP

    GPIOP2_Handler\
    处理器
    导出 GPIOP2_Handler [弱]
    B 。
    ENDP

    GPIOP3_Handler\
    处理器
    导出 GPIOP3_Handler [弱]
    B 。
    ENDP

    GPIOP4_Handler\
    处理器
    导出 GPIOP4_Handler [弱]
    B 。
    ENDP

    GPIOP5_Handler\
    处理器
    导出 GPIOP5_Handler [弱]
    B 。
    ENDP

    GPIOP6_Handler\
    处理器
    导出 GPIOP6_Handler [弱]
    B 。
    ENDP

    GPIOP7_Handler\
    处理器
    导出 GPIOP7_Handler [弱]
    B 。
    ENDP

    GPIOQ0_Handler\
    处理器
    导出 GPIOQ0_Handler [弱]
    B 。
    ENDP

    GPIOQ1_Handler\
    处理器
    导出 GPIOQ1_Handler [弱]
    B 。
    ENDP

    GPIOQ2_Handler\
    处理器
    导出 GPIOQ2_Handler [弱]
    B 。
    ENDP

    GPIOQ3_Handler\
    处理器
    导出 GPIOQ3_Handler [弱]
    B 。
    ENDP

    GPIOQ4_Handler\
    处理器
    导出 GPIOQ4_Handler [弱]
    B 。
    ENDP

    GPIOQ5_Handler\
    处理器
    导出 GPIOQ5_Handler [弱]
    B 。
    ENDP

    GPIOQ6_Handler\
    处理器
    导出 GPIOQ6_Handler [弱]
    B 。
    ENDP

    GPIOQ7_Handler\
    处理器
    导出 GPIOQ7_Handler [弱]
    B 。
    ENDP

    GPIOR_Handler\
    处理器
    导出 GPIOR_Handler [弱]
    B 。
    ENDP

    GPIO_Handler\
    处理器
    导出 GPIO_Handler [弱]
    B 。
    ENDP

    PMW1_0_Handler\
    处理器
    导出 PMW1_0_Handler [弱]
    B 。
    ENDP

    PWM1_1_Handler\
    处理器
    导出 PWM1_1_Handler [弱]
    B 。
    ENDP

    PWM1_2_Handler\
    处理器
    导出 PWM1_2_Handler [弱]
    B 。
    ENDP

    PWM1_3_Handler\
    处理器
    导出 PWM1_3_Handler [弱]
    B 。
    ENDP

    PWM1_FAULT_Handler\
    处理器
    导出 PWM1_FAULT_Handler [弱]
    B 。
    ENDP

    对齐


    ;用户初始堆栈

    如果 :DEF:_MICROLIB

    导出_initial sp
    导出_heap_base
    导出_heap_limit

    其他

    导入__use_two_region_memory
    导出_user_initial_stackheap
    _user_initial_stackheap

    LDR R0、= Heap_Mem
    LDR R1、=(Stack_Mem + Stack_size)
    LDR R2、=(Heap_Mem + Heap_size)
    LDR R3、= Stack_Mem
    BX LR

    对齐

    字节序


    结束


    谢谢、
    Alphy
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您从何处获得了此基于汇编的启动文件? 如果这来自您创建的学校、我们无法支持它。 为什么不使用 TivaWare SysTick 示例? 它在中 /examples/peripherals/systick. 首先尝试 TivaWare SysTick 示例、了解其工作原理、然后可以与自己的代码进行比较。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、先生、

    感谢您的支持、此问题通过更正我的矢量表得以解决。我从您的回复邮件中了解了更多内容。非常感谢您的支持。

    谢谢、

    铝 phy ouseph