47 lines
1.7 KiB
ArmAsm
47 lines
1.7 KiB
ArmAsm
/* ----------------------------------------------------------------------------
|
|
* Copyright (c) 2017 Semiconductor Components Industries, LLC (d/b/a
|
|
* ON Semiconductor), All Rights Reserved
|
|
*
|
|
* This code is the property of ON Semiconductor and may not be redistributed
|
|
* in any form without prior written permission from ON Semiconductor.
|
|
* The terms of use and warranty for this code are covered by contractual
|
|
* agreements between ON Semiconductor and the licensee.
|
|
*
|
|
* This is Reusable Code.
|
|
*
|
|
* -----------------------------------------------------------------------------
|
|
*/
|
|
|
|
// initialisation before entering the main function.
|
|
.text global 0 _main_init
|
|
r = 1 // enable rounding
|
|
s = 1 // enable saturation
|
|
sp = _sp_start_value_DMA // init SP (adjusted to stack in lpdsp.bcf)
|
|
ie = 1 ; nop // enable interrupts
|
|
|
|
// area to load main() arguments
|
|
.bss global 0 _main_argv_area DMA 256
|
|
|
|
.undef global text isr0
|
|
|
|
// the interrupt vector table with 15 interrupts
|
|
.text global 0 _ivt
|
|
jp _main_init // 0 - reset
|
|
reti ; nop // 2 - interrupt 1 - dma 0 iterrupt
|
|
reti ; nop // 4 - interrupt 2
|
|
reti ; nop // 6 - interrupt 3
|
|
reti ; nop // 8 - interrupt 4
|
|
jp isr0 // 10 - interrupt 5 - dma 4 iterrupt -pcm rx
|
|
reti ; nop // 12 - interrupt 6 - dma 5 iterrupt -pcm tx
|
|
reti ; nop // 14 - interrupt 7
|
|
reti ; nop // 16 - interrupt 8
|
|
reti ; nop // 18 - interrupt 9 cm3 interrupt 0
|
|
reti ; nop // 20 - interupt 10 cm3 interrupt 1
|
|
reti ; nop // 22 - interrupt 11
|
|
reti ; nop // 24 - interrupt 12
|
|
reti ; nop // 26 - interrupt 13
|
|
reti ; nop // 28 - interrupt 14
|
|
reti ; nop // 30 - interrupt 15
|
|
|
|
|