Bootloader Code Listing (V3.0)
;; TI File $Revision: /main/6 $
;; Checkin $Date: April 21, 2005 16:00:01 $
;;###########################################################################
;;
;; FILE: Init_Boot.asm
;;
;; TITLE: 280x Boot Rom Initialization and Exit routines.
;;
;; Functions:
;;
;; _InitBoot
;; _ExitBoot
;;
;; Notes:
;;
;;###########################################################################
;; $TI Release:$
;; $Release Date:$
;;###########################################################################
.def _InitBoot
.ref _SelectBootMode
.sect ".Flash" ; Flash API checks this for
.word 0xFFFE ; silicon compatibility
.sect ".Version"
.word 0x0003 ; 280x Boot ROM Version 3
.word 0x0405 ; Month/Year: (4/05 = April 2005)
.sect ".Checksum"; 64-bit Checksum
.long 0x6A78A069 ; least significant 32-bits
.long 0x000003B5 ; most significant 32-bits
.sect ".InitBoot"
;-----------------------------------------------
; _InitBoot
;-----------------------------------------------
;-----------------------------------------------
; This function performs the initial boot routine
; for the boot ROM.
;
; This module performs the following actions:
;
; 1) Initializes the stack pointer
; 2) Sets the device for C28x operating mode
; 3) Calls the main boot functions
; 4) Calls an exit routine
;-----------------------------------------------
_InitBoot:
; Initialize the stack pointer.
__stack: .usect ".stack",0
MOV SP, #__stack ; Initialize the stack pointer
; Initialize the device for running in C28x mode.
C28OBJ ; Select C28x object mode
C28ADDR ; Select C27x/C28x addressing
C28MAP ; Set blocks M0/M1 for C28x mode
CLRC PAGE0 ; Always use stack addressing mode
MOVW DP,#0 ; Initialize DP to point to the low 64 K
SPRU722C – November 2004 – Revised October 2006 Bootloader Code Overview 59
Submit Documentation Feedback