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.

TM4C1294NCPDT: TM4C1294NCPDT - ethernet bootloader

Part Number: TM4C1294NCPDT

Tool/software:

AEDHi Team,

I am using boot_emac_flash  for firmware upgrade , my current requirement is to decrypt the binary before downloading into external RAM Via EPI module,

I integrated the code but how and where to add the interrupt for  AES 128 bit decryption and EPI0 module pins in bl_startup_ccs.s file to enable it 

can you please suggest how add these interrupts in bl_startup_ccs.s file

;;*****************************************************************************
;;
;; This portion of the file goes into interrupt vectors section
;;
;;*****************************************************************************
    .sect ".intvecs"

;;*****************************************************************************
;;
;; The minimal vector table for a Cortex-M3 processor.
;;
;;*****************************************************************************
Vectors:
    .ref    __STACK_TOP
    .word   __STACK_TOP                     ;; Offset 00: Initial stack pointer
    .word   ResetISR - 0x20000000           ;; Offset 04: Reset handler
    .word   NmiSR - 0x20000000              ;; Offset 08: NMI handler
    .word   FaultISR - 0x20000000           ;; Offset 0C: Hard fault handler
    .word   IntDefaultHandler               ;; Offset 10: MPU fault handler
    .word   IntDefaultHandler               ;; Offset 14: Bus fault handler
    .word   IntDefaultHandler               ;; Offset 18: Usage fault handler
    .word   0                               ;; Offset 1C: Reserved
    .word   0                               ;; Offset 20: Reserved
    .word   0                               ;; Offset 24: Reserved
    .word   0                               ;; Offset 28: Reserved
    .word   UpdateHandler - 0x20000000      ;; Offset 2C: SVCall handler
    .word   IntDefaultHandler               ;; Offset 30: Debug monitor handler
    .word   0                               ;; Offset 34: Reserved
    .word   IntDefaultHandler               ;; Offset 38: PendSV handler
 .if $$defined(ENET_ENABLE_UPDATE)
    .ref    SysTickIntHandler
    .word   SysTickIntHandler               ;; Offset 3C: SysTick handler
 .else
    .word   IntDefaultHandler               ;; Offset 3C: SysTick handler
 .endif
 .if $$defined(UART_ENABLE_UPDATE) & $$defined(UART_AUTOBAUD)
    .ref    GPIOIntHandler
    .word   GPIOIntHandler                  ;; Offset 40: GPIO port A handler
 .else
    .word   IntDefaultHandler               ;; Offset 40: GPIO port A handler
 .endif
 .if ($$defined(USB_ENABLE_UPDATE) | (APP_START_ADDRESS != VTABLE_START_ADDRESS))
    .word   IntDefaultHandler               ;; Offset 44: GPIO Port B
    .word   IntDefaultHandler               ;; Offset 48: GPIO Port C
    .word   IntDefaultHandler               ;; Offset 4C: GPIO Port D
    .word   IntDefaultHandler               ;; Offset 50: GPIO Port E
    .word   IntDefaultHandler               ;; Offset 54: UART0 Rx and Tx
    .word   IntDefaultHandler               ;; Offset 58: UART1 Rx and Tx
    .word   IntDefaultHandler               ;; Offset 5C: SSI0 Rx and Tx
    .word   IntDefaultHandler               ;; Offset 60: I2C0 Master and Slave
    .word   IntDefaultHandler               ;; Offset 64: PWM Fault
    .word   IntDefaultHandler               ;; Offset 68: PWM Generator 0
    .word   IntDefaultHandler               ;; Offset 6C: PWM Generator 1
    .word   IntDefaultHandler               ;; Offset 70: PWM Generator 2
    .word   IntDefaultHandler               ;; Offset 74: Quadrature Encoder 0
    .word   IntDefaultHandler               ;; Offset 78: ADC Sequence 0
    .word   IntDefaultHandler               ;; Offset 7C: ADC Sequence 1
    .word   IntDefaultHandler               ;; Offset 80: ADC Sequence 2
    .word   IntDefaultHandler               ;; Offset 84: ADC Sequence 3
    .word   IntDefaultHandler               ;; Offset 88: Watchdog timer
    .word   IntDefaultHandler               ;; Offset 8C: Timer 0 subtimer A
    .word   IntDefaultHandler               ;; Offset 90: Timer 0 subtimer B
    .word   IntDefaultHandler               ;; Offset 94: Timer 1 subtimer A
    .word   IntDefaultHandler               ;; Offset 98: Timer 1 subtimer B
    .word   IntDefaultHandler               ;; Offset 9C: Timer 2 subtimer A
    .word   IntDefaultHandler               ;; Offset A0: Timer 2 subtimer B
    .word   IntDefaultHandler               ;; Offset A4: Analog Comparator 0
    .word   IntDefaultHandler               ;; Offset A8: Analog Comparator 1
    .word   IntDefaultHandler               ;; Offset AC: Analog Comparator 2
    .word   IntDefaultHandler               ;; Offset B0: System Control
    .word   IntDefaultHandler               ;; Offset B4: FLASH Control
 .endif
 .if ($$defined(USB_ENABLE_UPDATE) | (APP_START_ADDRESS != VTABLE_START_ADDRESS))
    .word   IntDefaultHandler               ;; Offset B8: GPIO Port F
    .word   IntDefaultHandler               ;; Offset BC: GPIO Port G
    .word   IntDefaultHandler               ;; Offset C0: GPIO Port H
    .word   IntDefaultHandler               ;; Offset C4: UART2 Rx and Tx
    .word   IntDefaultHandler               ;; Offset C8: SSI1 Rx and Tx
    .word   IntDefaultHandler               ;; Offset CC: Timer 3 subtimer A
    .word   IntDefaultHandler               ;; Offset D0: Timer 3 subtimer B
    .word   IntDefaultHandler               ;; Offset D4: I2C1 Master and Slave
 .if ($$defined(TARGET_IS_TM4C129_RA0) | $$defined(TARGET_IS_TM4C129_RA1) | $$defined(TARGET_IS_TM4C129_RA2))
    .word   IntDefaultHandler               ;; Offset D8: CAN0
    .word   IntDefaultHandler               ;; Offset DC: CAN1
    .word   IntDefaultHandler               ;; Offset E0: Ethernet
    .word   IntDefaultHandler               ;; Offset E4: Hibernation module
 .if $$defined(USB_ENABLE_UPDATE)
    .ref    USB0DeviceIntHandler
    .word   USB0DeviceIntHandler            ;; Offset E8: USB 0 Controller
 .else
    .word   IntDefaultHandler               ;; Offset E8: USB 0 Controller
 .endif
    .word   IntDefaultHandler               ;; Offset EC: PWM Generator 3
    .word   IntDefaultHandler               ;; Offset F0: uDMA 0 Software
 .else
    .word   IntDefaultHandler               ;; Offset D8: Quadrature Encoder 1
    .word   IntDefaultHandler               ;; Offset DC: CAN0
    .word   IntDefaultHandler               ;; Offset E0: CAN1
    .word   IntDefaultHandler               ;; Offset E4: CAN2
    .word   IntDefaultHandler               ;; Offset E8: Ethernet
    .word   IntDefaultHandler               ;; Offset EC: Hibernation module
 .if $$defined(USB_ENABLE_UPDATE)
    .ref    USB0DeviceIntHandler
    .word   USB0DeviceIntHandler            ;; Offset F0: USB 0 Controller
 .else
    .word   IntDefaultHandler               ;; Offset F0: USB 0 Controller
 .endif
 .endif
 .endif

;;*****************************************************************************

Please help me to add this interrupts


Also I have a doubt how to configure this EPI0 module and it working documets

  • Hi,

      I'm currently on vacation for the entire week. I will reply your question when I have time later today. Please expect delayed response.

  • I integrated the code but how and where to add the interrupt for  AES 128 bit decryption and EPI0 module pins in bl_startup_ccs.s file to enable it 

    can you please suggest how add these interrupts in bl_startup_ccs.s file

    Hi,

      Please bear in mind that TM4C1294NCPDT does NOT have AES feature. Refer to the TM4C Product Selection Guide for the part numbers that support AES. See below. 

    Let's suppose you are using a part number that supports AES. In this case, the AES interrupt will be mapped to vector number 111. See below.