mirror of https://github.com/ARMmbed/mbed-os.git
Merge remote-tracking branch 'refs/remotes/mbedmicro/master' into dev_F446_rtc
commit
81f3abc770
|
@ -334,8 +334,8 @@ void usb1_function_Vendor4(uint16_t type, uint16_t req, uint16_t value, uint
|
||||||
void usb1_function_Vendor5(uint16_t type, uint16_t req, uint16_t value, uint16_t index, uint16_t length);
|
void usb1_function_Vendor5(uint16_t type, uint16_t req, uint16_t value, uint16_t index, uint16_t length);
|
||||||
void usb1_function_ResetDescriptor(uint16_t mode);
|
void usb1_function_ResetDescriptor(uint16_t mode);
|
||||||
|
|
||||||
uint16_t Userdef_USB_usb1_function_d0fifo_dmaintid(void);
|
IRQn_Type Userdef_USB_usb1_function_d0fifo_dmaintid(void);
|
||||||
uint16_t Userdef_USB_usb1_function_d1fifo_dmaintid(void);
|
IRQn_Type Userdef_USB_usb1_function_d1fifo_dmaintid(void);
|
||||||
void Userdef_USB_usb1_function_attach(void);
|
void Userdef_USB_usb1_function_attach(void);
|
||||||
void Userdef_USB_usb1_function_detach(void);
|
void Userdef_USB_usb1_function_detach(void);
|
||||||
void Userdef_USB_usb1_function_delay_1ms(void);
|
void Userdef_USB_usb1_function_delay_1ms(void);
|
||||||
|
|
|
@ -140,7 +140,7 @@ void USBEndpoint::queueTransfer()
|
||||||
|
|
||||||
//Now add this free TD at this end of the queue
|
//Now add this free TD at this end of the queue
|
||||||
state = USB_TYPE_PROCESSING;
|
state = USB_TYPE_PROCESSING;
|
||||||
td_current->nextTD = td_next;
|
td_current->nextTD = (hcTd*)td_next;
|
||||||
hced->tailTD = td_next;
|
hced->tailTD = td_next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -158,5 +158,5 @@ void USBEndpoint::unqueueTransfer(volatile HCTD * td)
|
||||||
void USBEndpoint::queueEndpoint(USBEndpoint * ed)
|
void USBEndpoint::queueEndpoint(USBEndpoint * ed)
|
||||||
{
|
{
|
||||||
nextEp = ed;
|
nextEp = ed;
|
||||||
hced->nextED = (ed == NULL) ? 0 : ed->getHCED();
|
hced->nextED = (ed == NULL) ? 0 : (hcEd*)(ed->getHCED());
|
||||||
}
|
}
|
||||||
|
|
|
@ -304,7 +304,7 @@ void USBHost::transferCompleted(volatile uint32_t addr)
|
||||||
do {
|
do {
|
||||||
volatile HCTD* td = (volatile HCTD*)addr;
|
volatile HCTD* td = (volatile HCTD*)addr;
|
||||||
addr = (uint32_t)td->nextTD; //Dequeue from physical list
|
addr = (uint32_t)td->nextTD; //Dequeue from physical list
|
||||||
td->nextTD = tdList; //Enqueue into reversed list
|
td->nextTD = (hcTd*)tdList; //Enqueue into reversed list
|
||||||
tdList = td;
|
tdList = td;
|
||||||
} while(addr);
|
} while(addr);
|
||||||
|
|
||||||
|
|
|
@ -136,10 +136,10 @@ enum ENDPOINT_TYPE {
|
||||||
#define CONFIGURATION_DESCRIPTOR_LENGTH 0x09
|
#define CONFIGURATION_DESCRIPTOR_LENGTH 0x09
|
||||||
|
|
||||||
// ------------ HostController Transfer Descriptor ------------
|
// ------------ HostController Transfer Descriptor ------------
|
||||||
typedef struct HCTD {
|
typedef struct hcTd {
|
||||||
__IO uint32_t control; // Transfer descriptor control
|
__IO uint32_t control; // Transfer descriptor control
|
||||||
__IO uint8_t * currBufPtr; // Physical address of current buffer pointer
|
__IO uint8_t * currBufPtr; // Physical address of current buffer pointer
|
||||||
__IO HCTD * nextTD; // Physical pointer to next Transfer Descriptor
|
__IO hcTd * nextTD; // Physical pointer to next Transfer Descriptor
|
||||||
__IO uint8_t * bufEnd; // Physical address of end of buffer
|
__IO uint8_t * bufEnd; // Physical address of end of buffer
|
||||||
void * ep; // ep address where a td is linked in
|
void * ep; // ep address where a td is linked in
|
||||||
uint32_t dummy[3]; // padding
|
uint32_t dummy[3]; // padding
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#ifndef MBED_H
|
#ifndef MBED_H
|
||||||
#define MBED_H
|
#define MBED_H
|
||||||
|
|
||||||
#define MBED_LIBRARY_VERSION 113
|
#define MBED_LIBRARY_VERSION 115
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* mbed Microcontroller Library
|
/* mbed Microcontroller Library
|
||||||
* Copyright (c) 2006-2013 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
@ -1,39 +1,39 @@
|
||||||
/**************************************************************************//**
|
/* MPS2 CMSIS Library
|
||||||
* @file CMSDK_BEID.h
|
*
|
||||||
* @brief CMSIS Core Peripheral Access Layer Header File for
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* CMSDK_BEID Device
|
* All rights reserved.
|
||||||
* @version V3.02
|
*
|
||||||
* @date 15. November 2013
|
* Redistribution and use in source and binary forms, with or without
|
||||||
*
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* @note
|
*
|
||||||
*
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
******************************************************************************/
|
* this list of conditions and the following disclaimer.
|
||||||
/* Copyright (c) 2011 - 2013 ARM LIMITED
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
All rights reserved.
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
Redistribution and use in source and binary forms, with or without
|
* and/or other materials provided with the distribution.
|
||||||
modification, are permitted provided that the following conditions are met:
|
*
|
||||||
- Redistributions of source code must retain the above copyright
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
notice, this list of conditions and the following disclaimer.
|
* may be used to endorse or promote products derived from this software without
|
||||||
- Redistributions in binary form must reproduce the above copyright
|
* specific prior written permission.
|
||||||
notice, this list of conditions and the following disclaimer in the
|
*
|
||||||
documentation and/or other materials provided with the distribution.
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
- Neither the name of ARM nor the names of its contributors may be used
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
to endorse or promote products derived from this software without
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
specific prior written permission.
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
*
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
*******************************************************************************
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* @file CMSDK_BEID.h
|
||||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* @brief CMSIS Core Peripheral Access Layer Header File for
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* CMSDK_BEID Device
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
*
|
||||||
---------------------------------------------------------------------------*/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#ifndef CMSDK_BEID_H
|
#ifndef CMSDK_BEID_H
|
||||||
|
@ -59,40 +59,61 @@ typedef enum IRQn
|
||||||
PendSV_IRQn = -2, /* 14 Pend SV Interrupt */
|
PendSV_IRQn = -2, /* 14 Pend SV Interrupt */
|
||||||
SysTick_IRQn = -1, /* 15 System Tick Interrupt */
|
SysTick_IRQn = -1, /* 15 System Tick Interrupt */
|
||||||
|
|
||||||
/* ---------------------- CMSDK_BEID Specific Interrupt Numbers ------------------ */
|
/* ---------------------- CMSDK_CM3 Specific Interrupt Numbers ------------------ */
|
||||||
UARTRX0_IRQn = 0, /* UART 0 RX Interrupt */
|
UART0_IRQn = 0, /* UART 0 RX and TX Combined Interrupt */
|
||||||
UARTTX0_IRQn = 1, /* UART 0 TX Interrupt */
|
Spare_IRQn = 1, /* Undefined */
|
||||||
UARTRX1_IRQn = 2, /* UART 1 RX Interrupt */
|
UART1_IRQn = 2, /* UART 1 RX and TX Combined Interrupt */
|
||||||
UARTTX1_IRQn = 3, /* UART 1 TX Interrupt */
|
I2C0_IRQn = 3, /* I2C 0 Interrupt */
|
||||||
UARTRX2_IRQn = 4, /* UART 2 RX Interrupt */
|
I2C1_IRQn = 4, /* I2C 1 Interrupt */
|
||||||
UARTTX2_IRQn = 5, /* UART 2 TX Interrupt */
|
RTC_IRQn = 5, /* RTC Interrupt */
|
||||||
UARTRX3_IRQn = 6, /* Was PORT0_ALL_IRQn Port 1 combined Interrupt */
|
PORT0_ALL_IRQn = 6, /* GPIO Port 0 combined Interrupt */
|
||||||
UARTTX3_IRQn = 7, /* Was PORT1_ALL_IRQn Port 1 combined Interrupt */
|
PORT1_ALL_IRQn = 7, /* GPIO Port 1 combined Interrupt */
|
||||||
TIMER0_IRQn = 8, /* TIMER 0 Interrupt */
|
TIMER0_IRQn = 8, /* TIMER 0 Interrupt */
|
||||||
TIMER1_IRQn = 9, /* TIMER 1 Interrupt */
|
TIMER1_IRQn = 9, /* TIMER 1 Interrupt */
|
||||||
DUALTIMER_IRQn = 10, /* Dual Timer Interrupt */
|
DUALTIMER_IRQn = 10, /* Dual Timer Interrupt */
|
||||||
SPI_IRQn = 11, /* SPI Interrupt */
|
SPI0_IRQn = 11, /* SPI 0 Interrupt */
|
||||||
UARTOVF_IRQn = 12, /* UART 0,1,2 Overflow Interrupt */
|
UARTOVF_IRQn = 12, /* UART 0,1,2 Overflow Interrupt */
|
||||||
ETHERNET_IRQn = 13, /* Ethernet Interrupt */
|
SPI1_IRQn = 13, /* SPI 1 Interrupt */
|
||||||
I2S_IRQn = 14, /* I2S Interrupt */
|
RESERVED0_IRQn = 14, /* Reserved */
|
||||||
TSC_IRQn = 15, /* Touch Screen Interrupt */
|
TSC_IRQn = 15, /* Touch Screen Interrupt */
|
||||||
// DMA_IRQn = 15, /* PL230 DMA Done + Error Interrupt */
|
PORT01_0_IRQn = 16, /* GPIO Port 0 pin 0 Handler */
|
||||||
PORT0_0_IRQn = 16, /* All P0 I/O pins used as irq source */
|
PORT01_1_IRQn = 17, /* GPIO Port 0 pin 1 Handler */
|
||||||
PORT0_1_IRQn = 17, /* There are 16 pins in total */
|
PORT01_2_IRQn = 18, /* GPIO Port 0 pin 2 Handler */
|
||||||
PORT0_2_IRQn = 18,
|
PORT01_3_IRQn = 19, /* GPIO Port 0 pin 3 Handler */
|
||||||
PORT0_3_IRQn = 19,
|
PORT01_4_IRQn = 20, /* GPIO Port 0 pin 4 Handler */
|
||||||
PORT0_4_IRQn = 20,
|
PORT01_5_IRQn = 21, /* GPIO Port 0 pin 5 Handler */
|
||||||
PORT0_5_IRQn = 21,
|
PORT01_6_IRQn = 22, /* GPIO Port 0 pin 6 Handler */
|
||||||
PORT0_6_IRQn = 22,
|
PORT01_7_IRQn = 23, /* GPIO Port 0 pin 7 Handler */
|
||||||
PORT0_7_IRQn = 23,
|
PORT01_8_IRQn = 24, /* GPIO Port 0 pin 8 Handler */
|
||||||
PORT0_8_IRQn = 24,
|
PORT01_9_IRQn = 25, /* GPIO Port 0 pin 9 Handler */
|
||||||
PORT0_9_IRQn = 25,
|
PORT01_10_IRQn = 26, /* GPIO Port 0 pin 10 Handler */
|
||||||
PORT0_10_IRQn = 26,
|
PORT01_11_IRQn = 27, /* GPIO Port 0 pin 11 Handler */
|
||||||
PORT0_11_IRQn = 27,
|
PORT01_12_IRQn = 28, /* GPIO Port 0 pin 12 Handler */
|
||||||
PORT0_12_IRQn = 28,
|
PORT01_13_IRQn = 29, /* GPIO Port 0 pin 13 Handler */
|
||||||
PORT0_13_IRQn = 29,
|
PORT01_14_IRQn = 30, /* GPIO Port 0 pin 14 Handler */
|
||||||
PORT0_14_IRQn = 30,
|
PORT01_15_IRQn = 31, /* GPIO Port 0 pin 15 Handler */
|
||||||
PORT0_15_IRQn = 31,
|
SYSERROR_IRQn = 32, /* System Error Interrupt */
|
||||||
|
EFLASH_IRQn = 33, /* Embedded Flash Interrupt */
|
||||||
|
RESERVED1_IRQn = 34, /* Reserved */
|
||||||
|
RESERVED2_IRQn = 35, /* Reserved */
|
||||||
|
RESERVED3_IRQn = 36, /* Reserved */
|
||||||
|
RESERVED4_IRQn = 37, /* Reserved */
|
||||||
|
RESERVED5_IRQn = 38, /* Reserved */
|
||||||
|
RESERVED6_IRQn = 39, /* Reserved */
|
||||||
|
RESERVED7_IRQn = 40, /* Reserved */
|
||||||
|
RESERVED8_IRQn = 41, /* Reserved */
|
||||||
|
PORT2_ALL_IRQn = 42, /* GPIO Port 2 combined Interrupt */
|
||||||
|
PORT3_ALL_IRQn = 43, /* GPIO Port 3 combined Interrupt */
|
||||||
|
TRNG_IRQn = 44, /* Random number generator Interrupt */
|
||||||
|
UART2_IRQn = 45, /* UART 2 RX and TX Combined Interrupt */
|
||||||
|
UART3_IRQn = 46, /* UART 3 RX and TX Combined Interrupt */
|
||||||
|
ETHERNET_IRQn = 47, /* Ethernet interrupt t.b.a. */
|
||||||
|
I2S_IRQn = 48, /* I2S Interrupt */
|
||||||
|
MPS2_SPI0_IRQn = 49, /* SPI Interrupt (spi header) */
|
||||||
|
MPS2_SPI1_IRQn = 50, /* SPI Interrupt (clcd) */
|
||||||
|
MPS2_SPI2_IRQn = 51, /* SPI Interrupt (spi 1 ADC replacement) */
|
||||||
|
MPS2_SPI3_IRQn = 52, /* SPI Interrupt (spi 0 shield 0 replacement) */
|
||||||
|
MPS2_SPI4_IRQn = 53 /* SPI Interrupt (shield 1) */
|
||||||
} IRQn_Type;
|
} IRQn_Type;
|
||||||
|
|
||||||
|
|
||||||
|
@ -101,7 +122,7 @@ typedef enum IRQn
|
||||||
/* ================================================================================ */
|
/* ================================================================================ */
|
||||||
|
|
||||||
/* -------- Configuration of the Cortex-M3 Processor and Core Peripherals ------- */
|
/* -------- Configuration of the Cortex-M3 Processor and Core Peripherals ------- */
|
||||||
#define __CM3_REV 0x0201 /* Core revision r2p1 */
|
#define __BEID_REV 0x0201 /* Core revision r2p1 */
|
||||||
#define __MPU_PRESENT 1 /* MPU present or not */
|
#define __MPU_PRESENT 1 /* MPU present or not */
|
||||||
#define __NVIC_PRIO_BITS 3 /* Number of Bits used for Priority Levels */
|
#define __NVIC_PRIO_BITS 3 /* Number of Bits used for Priority Levels */
|
||||||
#define __Vendor_SysTickConfig 0 /* Set to 1 if different SysTick Config is used */
|
#define __Vendor_SysTickConfig 0 /* Set to 1 if different SysTick Config is used */
|
||||||
|
@ -725,18 +746,19 @@ typedef struct
|
||||||
#define CMSDK_DUALTIMER_BASE (CMSDK_APB_BASE + 0x2000UL)
|
#define CMSDK_DUALTIMER_BASE (CMSDK_APB_BASE + 0x2000UL)
|
||||||
#define CMSDK_DUALTIMER_1_BASE (CMSDK_DUALTIMER_BASE)
|
#define CMSDK_DUALTIMER_1_BASE (CMSDK_DUALTIMER_BASE)
|
||||||
#define CMSDK_DUALTIMER_2_BASE (CMSDK_DUALTIMER_BASE + 0x20UL)
|
#define CMSDK_DUALTIMER_2_BASE (CMSDK_DUALTIMER_BASE + 0x20UL)
|
||||||
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x5000UL)
|
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
|
||||||
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x4000UL)
|
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
|
||||||
#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
|
#define CMSDK_UART2_BASE (0x4002C000UL)
|
||||||
#define CMSDK_UART3_BASE (CMSDK_APB_BASE + 0x7000UL)
|
#define CMSDK_UART3_BASE (0x4002D000UL)
|
||||||
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
||||||
#define CMSDK_PL230_BASE (CMSDK_APB_BASE + 0xF000UL)
|
|
||||||
|
|
||||||
/* AHB peripherals */
|
/* AHB peripherals */
|
||||||
#define CMSDK_GPIO0_BASE (CMSDK_AHB_BASE + 0x0000UL)
|
#define CMSDK_GPIO0_BASE (CMSDK_AHB_BASE + 0x0000UL)
|
||||||
#define CMSDK_GPIO1_BASE (CMSDK_AHB_BASE + 0x1000UL)
|
#define CMSDK_GPIO1_BASE (CMSDK_AHB_BASE + 0x1000UL)
|
||||||
#define CMSDK_GPIO2_BASE (CMSDK_AHB_BASE + 0x2000UL)
|
#define CMSDK_GPIO2_BASE (CMSDK_AHB_BASE + 0x2000UL)
|
||||||
#define CMSDK_GPIO3_BASE (CMSDK_AHB_BASE + 0x3000UL)
|
#define CMSDK_GPIO3_BASE (CMSDK_AHB_BASE + 0x3000UL)
|
||||||
|
#define CMSDK_GPIO4_BASE (0x40030000UL)
|
||||||
|
#define CMSDK_GPIO5_BASE (0x40031000UL)
|
||||||
#define CMSDK_SYSCTRL_BASE (CMSDK_AHB_BASE + 0xF000UL)
|
#define CMSDK_SYSCTRL_BASE (CMSDK_AHB_BASE + 0xF000UL)
|
||||||
|
|
||||||
|
|
||||||
|
@ -745,7 +767,7 @@ typedef struct
|
||||||
/* ================================================================================ */
|
/* ================================================================================ */
|
||||||
|
|
||||||
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
||||||
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
||||||
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
||||||
#define CMSDK_UART3 ((CMSDK_UART_TypeDef *) CMSDK_UART3_BASE )
|
#define CMSDK_UART3 ((CMSDK_UART_TypeDef *) CMSDK_UART3_BASE )
|
||||||
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
||||||
|
@ -754,11 +776,13 @@ typedef struct
|
||||||
#define CMSDK_DUALTIMER1 ((CMSDK_DUALTIMER_SINGLE_TypeDef *) CMSDK_DUALTIMER_1_BASE )
|
#define CMSDK_DUALTIMER1 ((CMSDK_DUALTIMER_SINGLE_TypeDef *) CMSDK_DUALTIMER_1_BASE )
|
||||||
#define CMSDK_DUALTIMER2 ((CMSDK_DUALTIMER_SINGLE_TypeDef *) CMSDK_DUALTIMER_2_BASE )
|
#define CMSDK_DUALTIMER2 ((CMSDK_DUALTIMER_SINGLE_TypeDef *) CMSDK_DUALTIMER_2_BASE )
|
||||||
#define CMSDK_WATCHDOG ((CMSDK_WATCHDOG_TypeDef *) CMSDK_WATCHDOG_BASE )
|
#define CMSDK_WATCHDOG ((CMSDK_WATCHDOG_TypeDef *) CMSDK_WATCHDOG_BASE )
|
||||||
#define CMSDK_DMA ((CMSDK_PL230_TypeDef *) CMSDK_PL230_BASE )
|
//#define CMSDK_DMA ((CMSDK_PL230_TypeDef *) CMSDK_PL230_BASE )
|
||||||
#define CMSDK_GPIO0 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO0_BASE )
|
#define CMSDK_GPIO0 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO0_BASE )
|
||||||
#define CMSDK_GPIO1 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO1_BASE )
|
#define CMSDK_GPIO1 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO1_BASE )
|
||||||
#define CMSDK_GPIO2 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO2_BASE )
|
#define CMSDK_GPIO2 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO2_BASE )
|
||||||
#define CMSDK_GPIO3 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO3_BASE )
|
#define CMSDK_GPIO3 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO3_BASE )
|
||||||
|
#define CMSDK_GPIO4 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO4_BASE )
|
||||||
|
#define CMSDK_GPIO5 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO5_BASE )
|
||||||
#define CMSDK_SYSCON ((CMSDK_SYSCON_TypeDef *) CMSDK_SYSCTRL_BASE )
|
#define CMSDK_SYSCON ((CMSDK_SYSCON_TypeDef *) CMSDK_SYSCTRL_BASE )
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,37 @@
|
||||||
/*
|
/* MPS2 CMSIS Library
|
||||||
* Copyright:
|
*
|
||||||
* ----------------------------------------------------------------
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* This confidential and proprietary software may be used only as
|
* All rights reserved.
|
||||||
* authorised by a licensing agreement from ARM Limited
|
*
|
||||||
* (C) COPYRIGHT 2014 ARM Limited
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* ALL RIGHTS RESERVED
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* The entire notice above must be reproduced on all authorised
|
*
|
||||||
* copies and copies may only be made to the extent permitted
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* by a licensing agreement from ARM Limited.
|
* this list of conditions and the following disclaimer.
|
||||||
* ----------------------------------------------------------------
|
*
|
||||||
* File: smm_mps2.h
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* Release: Version 1.0
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* ----------------------------------------------------------------
|
* and/or other materials provided with the distribution.
|
||||||
*/
|
*
|
||||||
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*******************************************************************************
|
||||||
|
* File: smm_mps2.h
|
||||||
|
* Release: Version 1.1
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
#ifndef __SMM_MPS2_H
|
#ifndef __SMM_MPS2_H
|
||||||
#define __SMM_MPS2_H
|
#define __SMM_MPS2_H
|
||||||
|
@ -27,7 +46,7 @@
|
||||||
/* FPGA System Register declaration */
|
/* FPGA System Register declaration */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
__IO uint32_t LED; // Offset: 0x000 (R/W) LED connections
|
__IO uint32_t LED; // Offset: 0x000 (R/W) LED connections
|
||||||
// [31:2] : Reserved
|
// [31:2] : Reserved
|
||||||
|
@ -41,14 +60,13 @@ typedef struct
|
||||||
__IO uint32_t CLK100HZ; // Offset: 0x014 (R/W) 100Hz up counter
|
__IO uint32_t CLK100HZ; // Offset: 0x014 (R/W) 100Hz up counter
|
||||||
__IO uint32_t COUNTER; // Offset: 0x018 (R/W) Cycle Up Counter
|
__IO uint32_t COUNTER; // Offset: 0x018 (R/W) Cycle Up Counter
|
||||||
// Increments when 32-bit prescale counter reach zero
|
// Increments when 32-bit prescale counter reach zero
|
||||||
uint32_t RESERVED3[1];
|
__IO uint32_t PRESCALE; // Offset: 0x1C (R/W) Prescaler
|
||||||
__IO uint32_t PRESCALE; // Offset: 0x020 (R/W) Prescaler
|
|
||||||
// Bit[31:0] : reload value for prescale counter
|
// Bit[31:0] : reload value for prescale counter
|
||||||
__IO uint32_t PSCNTR; // Offset: 0x024 (R/W) 32-bit Prescale counter
|
__IO uint32_t PSCNTR; // Offset: 0x020 (R/W) 32-bit Prescale counter
|
||||||
// current value of the pre-scaler counter
|
// current value of the pre-scaler counter
|
||||||
// The Cycle Up Counter increment when the prescale down counter reach 0
|
// The Cycle Up Counter increment when the prescale down counter reach 0
|
||||||
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
||||||
uint32_t RESERVED4[9];
|
uint32_t RESERVED4[10];
|
||||||
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
||||||
// [31:10] : Reserved
|
// [31:10] : Reserved
|
||||||
// [9] : SHIELD_1_SPI_nCS
|
// [9] : SHIELD_1_SPI_nCS
|
||||||
|
@ -88,7 +106,7 @@ typedef struct
|
||||||
/* SCC Register declaration */
|
/* SCC Register declaration */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
typedef struct //
|
typedef struct //
|
||||||
{
|
{
|
||||||
__IO uint32_t CFG_REG0; // Offset: 0x000 (R/W) Remaps block RAM to ZBT
|
__IO uint32_t CFG_REG0; // Offset: 0x000 (R/W) Remaps block RAM to ZBT
|
||||||
// [31:1] : Reserved
|
// [31:1] : Reserved
|
||||||
|
@ -298,10 +316,10 @@ typedef struct // Document DDI0194G_ssp_pl022_r1p3_trm.pdf
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
__O uint32_t CONTROLS; // Offset: 0x000 CONTROL Set Register ( /W)
|
__O uint32_t CONTROLS; // Offset: 0x000 CONTROL Set Register ( /W)
|
||||||
__I uint32_t CONTROL; // Offset: 0x000 CONTROL Status Register (R/ )
|
__I uint32_t CONTROL; // Offset: 0x000 CONTROL Status Register (R/ )
|
||||||
};
|
};
|
||||||
__O uint32_t CONTROLC; // Offset: 0x004 CONTROL Clear Register ( /W)
|
__O uint32_t CONTROLC; // Offset: 0x004 CONTROL Clear Register ( /W)
|
||||||
} MPS2_I2C_TypeDef;
|
} MPS2_I2C_TypeDef;
|
||||||
|
|
||||||
#define SDA 1 << 1
|
#define SDA 1 << 1
|
||||||
|
@ -336,7 +354,7 @@ typedef struct
|
||||||
// <4=> Undefined!
|
// <4=> Undefined!
|
||||||
// <5=> Undefined!
|
// <5=> Undefined!
|
||||||
// <6=> Undefined!
|
// <6=> Undefined!
|
||||||
// <7=> Undefined!
|
// <7=> Undefined!
|
||||||
// <o.14..12> RX Buffer Water Level
|
// <o.14..12> RX Buffer Water Level
|
||||||
// <0=> Undefined!
|
// <0=> Undefined!
|
||||||
// <1=> / IRQ triggers when less than 1 space available
|
// <1=> / IRQ triggers when less than 1 space available
|
||||||
|
@ -345,7 +363,7 @@ typedef struct
|
||||||
// <4=> / IRQ triggers when less than 4 space available
|
// <4=> / IRQ triggers when less than 4 space available
|
||||||
// <5=> Undefined!
|
// <5=> Undefined!
|
||||||
// <6=> Undefined!
|
// <6=> Undefined!
|
||||||
// <7=> Undefined!
|
// <7=> Undefined!
|
||||||
// <o.16> FIFO reset
|
// <o.16> FIFO reset
|
||||||
// <0=> Normal operation
|
// <0=> Normal operation
|
||||||
// <1=> FIFO reset
|
// <1=> FIFO reset
|
||||||
|
@ -353,12 +371,12 @@ typedef struct
|
||||||
// <0=> Normal operation
|
// <0=> Normal operation
|
||||||
// <1=> Assert audio Codec reset
|
// <1=> Assert audio Codec reset
|
||||||
/*!< Offset: 0x004 STATUS Register (R/ ) */
|
/*!< Offset: 0x004 STATUS Register (R/ ) */
|
||||||
__I uint32_t STATUS; // <h> STATUS </h>
|
__I uint32_t STATUS; // <h> STATUS </h>
|
||||||
// <o.0> TX Buffer alert
|
// <o.0> TX Buffer alert
|
||||||
// <0=> TX buffer don't need service yet
|
// <0=> TX buffer don't need service yet
|
||||||
// <1=> TX buffer need service
|
// <1=> TX buffer need service
|
||||||
// <o.1> RX Buffer alert
|
// <o.1> RX Buffer alert
|
||||||
// <0=> RX buffer don't need service yet
|
// <0=> RX buffer don't need service yet
|
||||||
// <1=> RX buffer need service
|
// <1=> RX buffer need service
|
||||||
// <o.2> TX Buffer Empty
|
// <o.2> TX Buffer Empty
|
||||||
// <0=> TX buffer have data
|
// <0=> TX buffer have data
|
||||||
|
@ -373,33 +391,33 @@ typedef struct
|
||||||
// <0=> RX buffer not full
|
// <0=> RX buffer not full
|
||||||
// <1=> RX buffer full
|
// <1=> RX buffer full
|
||||||
union {
|
union {
|
||||||
/*!< Offset: 0x008 Error Status Register (R/ ) */
|
/*!< Offset: 0x008 Error Status Register (R/ ) */
|
||||||
__I uint32_t ERROR; // <h> ERROR </h>
|
__I uint32_t ERROR; // <h> ERROR </h>
|
||||||
// <o.0> TX error
|
// <o.0> TX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> TX overrun/underrun
|
// <1=> TX overrun/underrun
|
||||||
// <o.1> RX error
|
// <o.1> RX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> RX overrun/underrun
|
// <1=> RX overrun/underrun
|
||||||
/*!< Offset: 0x008 Error Clear Register ( /W) */
|
/*!< Offset: 0x008 Error Clear Register ( /W) */
|
||||||
__O uint32_t ERRORCLR; // <h> ERRORCLR </h>
|
__O uint32_t ERRORCLR; // <h> ERRORCLR </h>
|
||||||
// <o.0> TX error
|
// <o.0> TX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> Clear TX error
|
// <1=> Clear TX error
|
||||||
// <o.1> RX error
|
// <o.1> RX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> Clear RX error
|
// <1=> Clear RX error
|
||||||
};
|
};
|
||||||
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
||||||
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
||||||
// <o.9..0> TX error (default 0x80)
|
// <o.9..0> TX error (default 0x80)
|
||||||
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
||||||
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
||||||
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
uint32_t RESERVED1[186];
|
uint32_t RESERVED1[186];
|
||||||
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
||||||
|
@ -554,14 +572,10 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define MPS2_SHIELD1_I2C_BASE (0x4002A000ul) /* Audio Interface I2C Base Address */
|
#define MPS2_SHIELD1_I2C_BASE (0x4002A000ul) /* Audio Interface I2C Base Address */
|
||||||
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
||||||
|
|
||||||
#ifdef CORTEX_M7
|
|
||||||
#define SMSC9220_BASE (0xA0000000ul) /* Ethernet SMSC9220 Base Address */
|
|
||||||
#else
|
|
||||||
#define SMSC9220_BASE (0x40200000ul) /* Ethernet SMSC9220 Base Address */
|
#define SMSC9220_BASE (0x40200000ul) /* Ethernet SMSC9220 Base Address */
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
|
||||||
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
||||||
|
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* Peripheral declaration */
|
/* Peripheral declaration */
|
||||||
|
@ -577,40 +591,20 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
||||||
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
||||||
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
||||||
#define MPS2_SSP2 ((MPS2_SSP_TypeDef *) MPS2_SSP2_BASE )
|
#define MPS2_SSP2 ((MPS2_SSP_TypeDef *) MPS2_SSP2_BASE )
|
||||||
#define MPS2_SSP3 ((MPS2_SSP_TypeDef *) MPS2_SSP3_BASE )
|
#define MPS2_SSP3 ((MPS2_SSP_TypeDef *) MPS2_SSP3_BASE )
|
||||||
#define MPS2_SSP4 ((MPS2_SSP_TypeDef *) MPS2_SSP4_BASE )
|
#define MPS2_SSP4 ((MPS2_SSP_TypeDef *) MPS2_SSP4_BASE )
|
||||||
|
|
||||||
//******************************************************************************/
|
/******************************************************************************/
|
||||||
|
/* General Function Definitions */
|
||||||
|
/******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
/* General MACRO Definitions */
|
/* General MACRO Definitions */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
//#define DEBUG
|
|
||||||
//#ifdef DEBUG
|
|
||||||
// #define debug(...) printf(__VA_ARGS__)
|
|
||||||
//#else
|
|
||||||
// #define debug(...)
|
|
||||||
//#endif // ifdef DEBUG
|
|
||||||
|
|
||||||
// Bit control macros
|
|
||||||
//#define HW_REG(base,offset) *((volatile unsigned int *)((base) + (offset)))
|
|
||||||
|
|
||||||
#define CREATE_MASK(msb, lsb) (((1U << ((msb) - (lsb) + 1)) - 1) << (lsb))
|
|
||||||
#define MASK_BITS(arg, msb, lsb) ((arg) & CREATE_MASK(msb, lsb))
|
|
||||||
#define EXTRACT_BITS(arg, msb, lsb) (MASK_BITS(arg, msb, lsb) >> (lsb))
|
|
||||||
#define INSERT_BITS(arg, msb, lsb, value) \
|
|
||||||
((arg) = ((arg) & ~CREATE_MASK(msb, lsb)) | (((value) << (lsb)) & CREATE_MASK(msb, lsb)))
|
|
||||||
|
|
||||||
#define MASK_FIELD(arg, field) MASK_BITS(arg, field##_MSB, field##_LSB)
|
|
||||||
#define EXTRACT_FIELD(arg, field) EXTRACT_BITS(arg, field##_MSB, field##_LSB)
|
|
||||||
#define INSERT_FIELD(arg, field, value) INSERT_BITS(arg, field##_MSB, field##_LSB, value)
|
|
||||||
|
|
||||||
#define SET_BIT(arg, bit) ((arg) |= (1 << (bit)))
|
|
||||||
#define CLEAR_BIT(arg, bit) ((arg) &= ~(1 << (bit)))
|
|
||||||
#define TEST_BIT(arg, bit) ((arg) & (1 << (bit)))
|
|
||||||
|
|
||||||
#ifndef NoOfElements
|
|
||||||
#define NoOfElements(array) (sizeof(array) / sizeof(array[0]))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __SMM_MPS2_H */
|
#endif /* __SMM_MPS2_H */
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
;* MPS2 CMSIS Library
|
||||||
|
;*
|
||||||
|
;* Copyright (c) 2006-2016 ARM Limited
|
||||||
|
;* All rights reserved.
|
||||||
|
;*
|
||||||
|
;* Redistribution and use in source and binary forms, with or without
|
||||||
|
;* modification, are permitted provided that the following conditions are met:
|
||||||
|
;*
|
||||||
|
;* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
;* this list of conditions and the following disclaimer.
|
||||||
|
;*
|
||||||
|
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
;* this list of conditions and the following disclaimer in the documentation
|
||||||
|
;* and/or other materials provided with the distribution.
|
||||||
|
;*
|
||||||
|
;* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
;* may be used to endorse or promote products derived from this software without
|
||||||
|
;* specific prior written permission.
|
||||||
|
;*
|
||||||
|
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
;* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
;* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
;* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
;* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
;* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
;* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
;* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
;* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
;*
|
||||||
|
; *************************************************************
|
||||||
|
; *** Scatter-Loading Description File ***
|
||||||
|
; *************************************************************
|
||||||
|
|
||||||
|
LR_IROM1 0x00000000 0x00400000 { ; load region size_region
|
||||||
|
ER_IROM1 0x00000000 0x00400000 { ; load address = execution address
|
||||||
|
*.o (RESET, +First)
|
||||||
|
*(InRoot$$Sections)
|
||||||
|
.ANY (+RO)
|
||||||
|
}
|
||||||
|
; Total: 80 vectors = 320 bytes (0x140) to be reserved in RAM
|
||||||
|
RW_IRAM1 (0x20000000+0x140) (0x400000-0x140) { ; RW data
|
||||||
|
.ANY (+RW +ZI)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,358 @@
|
||||||
|
; MPS2 CMSIS Library
|
||||||
|
;
|
||||||
|
; Copyright (c) 2006-2016 ARM Limited
|
||||||
|
; All rights reserved.
|
||||||
|
;
|
||||||
|
; Redistribution and use in source and binary forms, with or without
|
||||||
|
; modification, are permitted provided that the following conditions are met:
|
||||||
|
;
|
||||||
|
; 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
; this list of conditions and the following disclaimer.
|
||||||
|
;
|
||||||
|
; 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
; this list of conditions and the following disclaimer in the documentation
|
||||||
|
; and/or other materials provided with the distribution.
|
||||||
|
;
|
||||||
|
; 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
; may be used to endorse or promote products derived from this software without
|
||||||
|
; specific prior written permission.
|
||||||
|
;
|
||||||
|
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
; ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
; POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
;******************************************************************************
|
||||||
|
; @file startup_CMSDK_BEID.s
|
||||||
|
; @brief CMSIS Core Device Startup File for
|
||||||
|
; CMSDK_BEID Device
|
||||||
|
;
|
||||||
|
;******************************************************************************
|
||||||
|
;
|
||||||
|
;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
; <h> Stack Configuration
|
||||||
|
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
||||||
|
; </h>
|
||||||
|
|
||||||
|
Stack_Size EQU 0x00004000
|
||||||
|
|
||||||
|
AREA STACK, NOINIT, READWRITE, ALIGN=3
|
||||||
|
Stack_Mem SPACE Stack_Size
|
||||||
|
__initial_sp
|
||||||
|
|
||||||
|
|
||||||
|
; <h> Heap Configuration
|
||||||
|
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
||||||
|
; </h>
|
||||||
|
|
||||||
|
Heap_Size EQU 0x00001000
|
||||||
|
|
||||||
|
AREA HEAP, NOINIT, READWRITE, ALIGN=3
|
||||||
|
__heap_base
|
||||||
|
Heap_Mem SPACE Heap_Size
|
||||||
|
__heap_limit
|
||||||
|
|
||||||
|
|
||||||
|
PRESERVE8
|
||||||
|
THUMB
|
||||||
|
|
||||||
|
|
||||||
|
; Vector Table Mapped to Address 0 at Reset
|
||||||
|
|
||||||
|
AREA RESET, DATA, READONLY
|
||||||
|
EXPORT __Vectors
|
||||||
|
EXPORT __Vectors_End
|
||||||
|
EXPORT __Vectors_Size
|
||||||
|
|
||||||
|
__Vectors DCD __initial_sp ; Top of Stack
|
||||||
|
DCD Reset_Handler ; Reset Handler
|
||||||
|
DCD NMI_Handler ; NMI Handler
|
||||||
|
DCD HardFault_Handler ; Hard Fault Handler
|
||||||
|
DCD MemManage_Handler ; MPU Fault Handler
|
||||||
|
DCD BusFault_Handler ; Bus Fault Handler
|
||||||
|
DCD UsageFault_Handler ; Usage Fault Handler
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD SVC_Handler ; SVCall Handler
|
||||||
|
DCD DebugMon_Handler ; Debug Monitor Handler
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD PendSV_Handler ; PendSV Handler
|
||||||
|
DCD SysTick_Handler ; SysTick Handler
|
||||||
|
|
||||||
|
; External Interrupts
|
||||||
|
DCD UART0_IRQHandler ; 0:UART 0 RX and TX Combined Interrupt
|
||||||
|
DCD Spare_IRQHandler ; 1:Undefined
|
||||||
|
DCD UART1_IRQHandler ; 2:UART 1 RX and TX Combined Interrupt
|
||||||
|
DCD I2C0_IRQHandler ; 3:I2C 0 Interrupt
|
||||||
|
DCD I2C1_IRQHandler ; 4:I2C 1 Interrupt
|
||||||
|
DCD RTC_IRQHandler ; 5:RTC Interrupt
|
||||||
|
DCD PORT0_IRQHandler ; 6:GPIO Port 0 combined Interrupt
|
||||||
|
DCD PORT1_ALL_IRQHandler ; 7:GPIO Port 1 combined Interrupt
|
||||||
|
DCD TIMER0_IRQHandler ; 8:TIMER 0 Interrupt
|
||||||
|
DCD TIMER1_IRQHandler ; 9:TIMER 1 Interrupt
|
||||||
|
DCD DUALTIMER_IRQHandler ; 10:Dual Timer Interrupt
|
||||||
|
DCD SPI0_IRQHandler ; 11:SPI 0 Interrupt
|
||||||
|
DCD UARTOVF_IRQHandler ; 12:UART 0,1,2 Overflow Interrupt
|
||||||
|
DCD SPI1_IRQHandler ; 13:SPI 1 Interrupt
|
||||||
|
DCD RESERVED0_IRQHandler ; 14:Reserved
|
||||||
|
DCD TSC_IRQHandler ; 15:Touch Screen Interrupt
|
||||||
|
DCD PORT01_0_IRQHandler ; 16:GPIO Port 0 pin 0 Handler
|
||||||
|
DCD PORT01_1_IRQHandler ; 17:GPIO Port 0 pin 1 Handler
|
||||||
|
DCD PORT01_2_IRQHandler ; 18:GPIO Port 0 pin 2 Handler
|
||||||
|
DCD PORT01_3_IRQHandler ; 19:GPIO Port 0 pin 3 Handler
|
||||||
|
DCD PORT01_4_IRQHandler ; 20:GPIO Port 0 pin 4 Handler
|
||||||
|
DCD PORT01_5_IRQHandler ; 21:GPIO Port 0 pin 5 Handler
|
||||||
|
DCD PORT01_6_IRQHandler ; 22:GPIO Port 0 pin 6 Handler
|
||||||
|
DCD PORT01_7_IRQHandler ; 23:GPIO Port 0 pin 7 Handler
|
||||||
|
DCD PORT01_8_IRQHandler ; 24:GPIO Port 0 pin 8 Handler
|
||||||
|
DCD PORT01_9_IRQHandler ; 25:GPIO Port 0 pin 9 Handler
|
||||||
|
DCD PORT01_10_IRQHandler ; 26:GPIO Port 0 pin 10 Handler
|
||||||
|
DCD PORT01_11_IRQHandler ; 27:GPIO Port 0 pin 11 Handler
|
||||||
|
DCD PORT01_12_IRQHandler ; 28:GPIO Port 0 pin 12 Handler
|
||||||
|
DCD PORT01_13_IRQHandler ; 29:GPIO Port 0 pin 13 Handler
|
||||||
|
DCD PORT01_14_IRQHandler ; 30:GPIO Port 0 pin 14 Handler
|
||||||
|
DCD PORT01_15_IRQHandler ; 31:GPIO Port 0 pin 15 Handler
|
||||||
|
DCD SYSERROR_IRQHandler ; 32:System Error Interrupt
|
||||||
|
DCD EFLASH_IRQHandler ; 33:Embedded Flash Interrupt
|
||||||
|
DCD RESERVED1_IRQHandler ; 34:Reserved
|
||||||
|
DCD RESERVED2_IRQHandler ; 35:Reserved
|
||||||
|
DCD RESERVED3_IRQHandler ; 36:Reserved
|
||||||
|
DCD RESERVED4_IRQHandler ; 37:Reserved
|
||||||
|
DCD RESERVED5_IRQHandler ; 38:Reserved
|
||||||
|
DCD RESERVED6_IRQHandler ; 39:Reserved
|
||||||
|
DCD RESERVED7_IRQHandler ; 40:Reserved
|
||||||
|
DCD RESERVED8_IRQHandler ; 41:Reserved
|
||||||
|
DCD PORT2_ALL_IRQHandler ; 42:GPIO Port 2 combined Interrupt
|
||||||
|
DCD PORT3_ALL_IRQHandler ; 43:GPIO Port 3 combined Interrupt
|
||||||
|
DCD TRNG_IRQHandler ; 44:Random number generator Interrupt
|
||||||
|
DCD UART2_IRQHandler ; 45:UART 2 RX and TX Combined Interrupt
|
||||||
|
DCD UART3_IRQHandler ; 46:UART 3 RX and TX Combined Interrupt
|
||||||
|
DCD ETHERNET_IRQHandler ; 47:Ethernet interrupt t.b.a.
|
||||||
|
DCD I2S_IRQHandler ; 48:I2S Interrupt
|
||||||
|
DCD MPS2_SPI0_IRQHandler ; 49:SPI Interrupt (spi header)
|
||||||
|
DCD MPS2_SPI1_IRQHandler ; 50:SPI Interrupt (clcd)
|
||||||
|
DCD MPS2_SPI2_IRQHandler ; 51:SPI Interrupt (spi 1 ADC replacement)
|
||||||
|
DCD MPS2_SPI3_IRQHandler ; 52:SPI Interrupt (spi 0 shield 0 replacement)
|
||||||
|
DCD MPS2_SPI4_IRQHandler ; 53:SPI Interrupt (shield 1)
|
||||||
|
|
||||||
|
__Vectors_End
|
||||||
|
|
||||||
|
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||||
|
|
||||||
|
AREA |.text|, CODE, READONLY
|
||||||
|
|
||||||
|
|
||||||
|
; Reset Handler
|
||||||
|
|
||||||
|
Reset_Handler PROC
|
||||||
|
EXPORT Reset_Handler [WEAK]
|
||||||
|
IMPORT SystemInit
|
||||||
|
IMPORT __main
|
||||||
|
LDR R0, =SystemInit
|
||||||
|
BLX R0
|
||||||
|
LDR R0, =__main
|
||||||
|
BX R0
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
|
||||||
|
; Dummy Exception Handlers (infinite loops which can be modified)
|
||||||
|
|
||||||
|
NMI_Handler PROC
|
||||||
|
EXPORT NMI_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
HardFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT HardFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
MemManage_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT MemManage_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
BusFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT BusFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
UsageFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT UsageFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
SVC_Handler PROC
|
||||||
|
EXPORT SVC_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
DebugMon_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT DebugMon_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
PendSV_Handler PROC
|
||||||
|
EXPORT PendSV_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
SysTick_Handler PROC
|
||||||
|
EXPORT SysTick_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
Default_Handler PROC
|
||||||
|
|
||||||
|
EXPORT UART0_IRQHandler [WEAK] ; 0:UART 0 RX and TX Combined Interrupt
|
||||||
|
EXPORT Spare_IRQHandler [WEAK] ; 1:Undefined
|
||||||
|
EXPORT UART1_IRQHandler [WEAK] ; 2:UART 1 RX and TX Combined Interrupt
|
||||||
|
EXPORT I2C0_IRQHandler [WEAK] ; 3:I2C 0 Interrupt
|
||||||
|
EXPORT I2C1_IRQHandler [WEAK] ; 4:I2C 1 Interrupt
|
||||||
|
EXPORT RTC_IRQHandler [WEAK] ; 5:RTC Interrupt
|
||||||
|
EXPORT PORT0_IRQHandler [WEAK] ; 6:GPIO Port 0 combined Interrupt
|
||||||
|
EXPORT PORT1_ALL_IRQHandler [WEAK] ; 7:GPIO Port 1 combined Interrupt
|
||||||
|
EXPORT TIMER0_IRQHandler [WEAK] ; 8:TIMER 0 Interrupt
|
||||||
|
EXPORT TIMER1_IRQHandler [WEAK] ; 9:TIMER 1 Interrupt
|
||||||
|
EXPORT DUALTIMER_IRQHandler [WEAK] ; 10:Dual Timer Interrupt
|
||||||
|
EXPORT SPI0_IRQHandler [WEAK] ; 11:SPI 0 Interrupt
|
||||||
|
EXPORT UARTOVF_IRQHandler [WEAK] ; 12:UART 0,1,2 Overflow Interrupt
|
||||||
|
EXPORT SPI1_IRQHandler [WEAK] ; 13:SPI 1 Interrupt
|
||||||
|
EXPORT RESERVED0_IRQHandler [WEAK] ; 14:Reserved
|
||||||
|
EXPORT TSC_IRQHandler [WEAK] ; 15:Touch Screen Interrupt
|
||||||
|
EXPORT PORT01_0_IRQHandler [WEAK] ; 16:GPIO Port 0 pin 0 Handler
|
||||||
|
EXPORT PORT01_1_IRQHandler [WEAK] ; 17:GPIO Port 0 pin 1 Handler
|
||||||
|
EXPORT PORT01_2_IRQHandler [WEAK] ; 18:GPIO Port 0 pin 2 Handler
|
||||||
|
EXPORT PORT01_3_IRQHandler [WEAK] ; 19:GPIO Port 0 pin 3 Handler
|
||||||
|
EXPORT PORT01_4_IRQHandler [WEAK] ; 20:GPIO Port 0 pin 4 Handler
|
||||||
|
EXPORT PORT01_5_IRQHandler [WEAK] ; 21:GPIO Port 0 pin 5 Handler
|
||||||
|
EXPORT PORT01_6_IRQHandler [WEAK] ; 22:GPIO Port 0 pin 6 Handler
|
||||||
|
EXPORT PORT01_7_IRQHandler [WEAK] ; 23:GPIO Port 0 pin 7 Handler
|
||||||
|
EXPORT PORT01_8_IRQHandler [WEAK] ; 24:GPIO Port 0 pin 8 Handler
|
||||||
|
EXPORT PORT01_9_IRQHandler [WEAK] ; 25:GPIO Port 0 pin 9 Handler
|
||||||
|
EXPORT PORT01_10_IRQHandler [WEAK] ; 26:GPIO Port 0 pin 10 Handler
|
||||||
|
EXPORT PORT01_11_IRQHandler [WEAK] ; 27:GPIO Port 0 pin 11 Handler
|
||||||
|
EXPORT PORT01_12_IRQHandler [WEAK] ; 28:GPIO Port 0 pin 12 Handler
|
||||||
|
EXPORT PORT01_13_IRQHandler [WEAK] ; 29:GPIO Port 0 pin 13 Handler
|
||||||
|
EXPORT PORT01_14_IRQHandler [WEAK] ; 30:GPIO Port 0 pin 14 Handler
|
||||||
|
EXPORT PORT01_15_IRQHandler [WEAK] ; 31:GPIO Port 0 pin 15 Handler
|
||||||
|
EXPORT SYSERROR_IRQHandler [WEAK] ; 32:System Error Interrupt
|
||||||
|
EXPORT EFLASH_IRQHandler [WEAK] ; 33:Embedded Flash Interrupt
|
||||||
|
EXPORT RESERVED1_IRQHandler [WEAK] ; 34:Reserved
|
||||||
|
EXPORT RESERVED2_IRQHandler [WEAK] ; 35:Reserved
|
||||||
|
EXPORT RESERVED3_IRQHandler [WEAK] ; 36:Reserved
|
||||||
|
EXPORT RESERVED4_IRQHandler [WEAK] ; 37:Reserved
|
||||||
|
EXPORT RESERVED5_IRQHandler [WEAK] ; 38:Reserved
|
||||||
|
EXPORT RESERVED6_IRQHandler [WEAK] ; 39:Reserved
|
||||||
|
EXPORT RESERVED7_IRQHandler [WEAK] ; 40:Reserved
|
||||||
|
EXPORT RESERVED8_IRQHandler [WEAK] ; 41:Reserved
|
||||||
|
EXPORT PORT2_ALL_IRQHandler [WEAK] ; 42:GPIO Port 2 combined Interrupt
|
||||||
|
EXPORT PORT3_ALL_IRQHandler [WEAK] ; 43:GPIO Port 3 combined Interrupt
|
||||||
|
EXPORT TRNG_IRQHandler [WEAK] ; 44:Random number generator Interrupt
|
||||||
|
EXPORT UART2_IRQHandler [WEAK] ; 45:UART 2 RX and TX Combined Interrupt
|
||||||
|
EXPORT UART3_IRQHandler [WEAK] ; 46:UART 3 RX and TX Combined Interrupt
|
||||||
|
EXPORT ETHERNET_IRQHandler [WEAK] ; 47:Ethernet interrupt t.b.a.
|
||||||
|
EXPORT I2S_IRQHandler [WEAK] ; 48:I2S Interrupt
|
||||||
|
EXPORT MPS2_SPI0_IRQHandler [WEAK] ; 49:SPI Interrupt (spi header)
|
||||||
|
EXPORT MPS2_SPI1_IRQHandler [WEAK] ; 50:SPI Interrupt (clcd)
|
||||||
|
EXPORT MPS2_SPI2_IRQHandler [WEAK] ; 51:SPI Interrupt (spi 1 ADC replacement)
|
||||||
|
EXPORT MPS2_SPI3_IRQHandler [WEAK] ; 52:SPI Interrupt (spi 0 shield 0 replacement)
|
||||||
|
EXPORT MPS2_SPI4_IRQHandler [WEAK] ; 53:SPI Interrupt (shield 1)
|
||||||
|
|
||||||
|
UART0_IRQHandler
|
||||||
|
Spare_IRQHandler
|
||||||
|
UART1_IRQHandler
|
||||||
|
I2C0_IRQHandler
|
||||||
|
I2C1_IRQHandler
|
||||||
|
RTC_IRQHandler
|
||||||
|
PORT0_IRQHandler
|
||||||
|
PORT1_ALL_IRQHandler
|
||||||
|
TIMER0_IRQHandler
|
||||||
|
TIMER1_IRQHandler
|
||||||
|
DUALTIMER_IRQHandler
|
||||||
|
SPI0_IRQHandler
|
||||||
|
UARTOVF_IRQHandler
|
||||||
|
SPI1_IRQHandler
|
||||||
|
RESERVED0_IRQHandler
|
||||||
|
TSC_IRQHandler
|
||||||
|
PORT01_0_IRQHandler
|
||||||
|
PORT01_1_IRQHandler
|
||||||
|
PORT01_2_IRQHandler
|
||||||
|
PORT01_3_IRQHandler
|
||||||
|
PORT01_4_IRQHandler
|
||||||
|
PORT01_5_IRQHandler
|
||||||
|
PORT01_6_IRQHandler
|
||||||
|
PORT01_7_IRQHandler
|
||||||
|
PORT01_8_IRQHandler
|
||||||
|
PORT01_9_IRQHandler
|
||||||
|
PORT01_10_IRQHandler
|
||||||
|
PORT01_11_IRQHandler
|
||||||
|
PORT01_12_IRQHandler
|
||||||
|
PORT01_13_IRQHandler
|
||||||
|
PORT01_14_IRQHandler
|
||||||
|
PORT01_15_IRQHandler
|
||||||
|
SYSERROR_IRQHandler
|
||||||
|
EFLASH_IRQHandler
|
||||||
|
RESERVED1_IRQHandler
|
||||||
|
RESERVED2_IRQHandler
|
||||||
|
RESERVED3_IRQHandler
|
||||||
|
RESERVED4_IRQHandler
|
||||||
|
RESERVED5_IRQHandler
|
||||||
|
RESERVED6_IRQHandler
|
||||||
|
RESERVED7_IRQHandler
|
||||||
|
RESERVED8_IRQHandler
|
||||||
|
PORT2_ALL_IRQHandler
|
||||||
|
PORT3_ALL_IRQHandler
|
||||||
|
TRNG_IRQHandler
|
||||||
|
UART2_IRQHandler
|
||||||
|
UART3_IRQHandler
|
||||||
|
ETHERNET_IRQHandler
|
||||||
|
I2S_IRQHandler
|
||||||
|
MPS2_SPI0_IRQHandler
|
||||||
|
MPS2_SPI1_IRQHandler
|
||||||
|
MPS2_SPI2_IRQHandler
|
||||||
|
MPS2_SPI3_IRQHandler
|
||||||
|
MPS2_SPI4_IRQHandler
|
||||||
|
B .
|
||||||
|
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
|
||||||
|
ALIGN
|
||||||
|
|
||||||
|
|
||||||
|
; User Initial Stack & Heap
|
||||||
|
|
||||||
|
IF :DEF:__MICROLIB
|
||||||
|
|
||||||
|
EXPORT __initial_sp
|
||||||
|
EXPORT __heap_base
|
||||||
|
EXPORT __heap_limit
|
||||||
|
|
||||||
|
ELSE
|
||||||
|
|
||||||
|
IMPORT __use_two_region_memory
|
||||||
|
EXPORT __user_initial_stackheap
|
||||||
|
|
||||||
|
__user_initial_stackheap PROC
|
||||||
|
LDR R0, = Heap_Mem
|
||||||
|
LDR R1, =(Stack_Mem + Stack_Size)
|
||||||
|
LDR R2, = (Heap_Mem + Heap_Size)
|
||||||
|
LDR R3, = Stack_Mem
|
||||||
|
BX LR
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
ALIGN
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
END
|
|
@ -0,0 +1,42 @@
|
||||||
|
/* MPS2 CMSIS Library
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*******************************************************************************
|
||||||
|
* A generic CMSIS include header, pulling in MPS2 specifics
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef MBED_CMSIS_H
|
||||||
|
#define MBED_CMSIS_H
|
||||||
|
|
||||||
|
#include "CMSDK_BEID.h"
|
||||||
|
#include "SMM_MPS2.h"
|
||||||
|
#include "cmsis_nvic.h"
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,58 @@
|
||||||
|
/* MPS2 CMSIS Library
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*******************************************************************************
|
||||||
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
|
*******************************************************************************/
|
||||||
|
#include "cmsis_nvic.h"
|
||||||
|
|
||||||
|
#define NVIC_RAM_VECTOR_ADDRESS (0x20000000) // Location of vectors in RAM
|
||||||
|
#define NVIC_FLASH_VECTOR_ADDRESS (0x00000000) // Initial vector position in flash
|
||||||
|
|
||||||
|
void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {
|
||||||
|
uint32_t *vectors = (uint32_t*)SCB->VTOR;
|
||||||
|
uint32_t i;
|
||||||
|
|
||||||
|
// Copy and switch to dynamic vectors if the first time called
|
||||||
|
if (SCB->VTOR == NVIC_FLASH_VECTOR_ADDRESS) {
|
||||||
|
uint32_t *old_vectors = vectors;
|
||||||
|
vectors = (uint32_t*)NVIC_RAM_VECTOR_ADDRESS;
|
||||||
|
for (i=0; i<NVIC_NUM_VECTORS; i++) {
|
||||||
|
vectors[i] = old_vectors[i];
|
||||||
|
}
|
||||||
|
SCB->VTOR = (uint32_t)NVIC_RAM_VECTOR_ADDRESS;
|
||||||
|
}
|
||||||
|
vectors[IRQn + NVIC_USER_IRQ_OFFSET] = vector;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t NVIC_GetVector(IRQn_Type IRQn) {
|
||||||
|
uint32_t *vectors = (uint32_t*)SCB->VTOR;
|
||||||
|
return vectors[IRQn + NVIC_USER_IRQ_OFFSET];
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
/* MPS2 CMSIS Library
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*******************************************************************************
|
||||||
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef MBED_CMSIS_NVIC_H
|
||||||
|
#define MBED_CMSIS_NVIC_H
|
||||||
|
|
||||||
|
#include "cmsis.h"
|
||||||
|
|
||||||
|
#define NVIC_NUM_VECTORS (16 + 64)
|
||||||
|
#define NVIC_USER_IRQ_OFFSET 16
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector);
|
||||||
|
uint32_t NVIC_GetVector(IRQn_Type IRQn);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,45 @@
|
||||||
|
/* MPS2 CMSIS Library
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*******************************************************************************
|
||||||
|
* Name: Device.h
|
||||||
|
* Purpose: Include the correct device header file
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __DEVICE_H
|
||||||
|
#define __DEVICE_H
|
||||||
|
|
||||||
|
#if defined CMSDK_BEID
|
||||||
|
#include "CMSDK_BEID.h" /* device specific header file */
|
||||||
|
#else
|
||||||
|
#warning "no appropriate header file found!"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __DEVICE_H */
|
|
@ -0,0 +1,95 @@
|
||||||
|
/* MPS2 CMSIS Library
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*******************************************************************************
|
||||||
|
* @file system_CMSDK_BEID.c
|
||||||
|
* @brief CMSIS Device System Source File for
|
||||||
|
* CMSDK_BEID Device
|
||||||
|
*
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#include "CMSDK_BEID.h"
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------------
|
||||||
|
Define clocks
|
||||||
|
*----------------------------------------------------------------------------*/
|
||||||
|
#define __XTAL (48000000UL) /* Oscillator frequency */
|
||||||
|
|
||||||
|
#define __SYSTEM_CLOCK (__XTAL / 2)
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------------
|
||||||
|
Clock Variable definitions
|
||||||
|
*----------------------------------------------------------------------------*/
|
||||||
|
uint32_t SystemCoreClock = __SYSTEM_CLOCK;/*!< System Clock Frequency (Core Clock)*/
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------------
|
||||||
|
Clock functions
|
||||||
|
*----------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* Update SystemCoreClock variable
|
||||||
|
*
|
||||||
|
* @param none
|
||||||
|
* @return none
|
||||||
|
*
|
||||||
|
* @brief Updates the SystemCoreClock with current core Clock
|
||||||
|
* retrieved from cpu registers.
|
||||||
|
*/
|
||||||
|
void SystemCoreClockUpdate (void)
|
||||||
|
{
|
||||||
|
|
||||||
|
SystemCoreClock = __SYSTEM_CLOCK;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize the system
|
||||||
|
*
|
||||||
|
* @param none
|
||||||
|
* @return none
|
||||||
|
*
|
||||||
|
* @brief Setup the microcontroller system.
|
||||||
|
* Initialize the System.
|
||||||
|
*/
|
||||||
|
void SystemInit (void)
|
||||||
|
{
|
||||||
|
|
||||||
|
#ifdef UNALIGNED_SUPPORT_DISABLE
|
||||||
|
SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
SystemCoreClock = __SYSTEM_CLOCK;
|
||||||
|
|
||||||
|
// Enable AHB and APB clock
|
||||||
|
CMSDK_SYSCON->AHBCLKCFG0SET = 0xF; // GPIO
|
||||||
|
CMSDK_SYSCON->APBCLKCFG0SET = 0xF9B7; // UART0, UART1, TIMER0, TIMER1, DUAL TIMER
|
||||||
|
}
|
|
@ -0,0 +1,76 @@
|
||||||
|
/* MPS2 CMSIS Library
|
||||||
|
*
|
||||||
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
*******************************************************************************
|
||||||
|
* @file system_CMSDK_BEID.h
|
||||||
|
* @brief CMSIS Device Peripheral Access Layer Header File for
|
||||||
|
* CMSDK_BEID Device
|
||||||
|
*
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef SYSTEM_CMSDK_BEID_H
|
||||||
|
#define SYSTEM_CMSDK_BEID_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize the system
|
||||||
|
*
|
||||||
|
* @param none
|
||||||
|
* @return none
|
||||||
|
*
|
||||||
|
* @brief Setup the microcontroller system.
|
||||||
|
* Initialize the System and update the SystemCoreClock variable.
|
||||||
|
*/
|
||||||
|
extern void SystemInit (void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update SystemCoreClock variable
|
||||||
|
*
|
||||||
|
* @param none
|
||||||
|
* @return none
|
||||||
|
*
|
||||||
|
* @brief Updates the SystemCoreClock with current core Clock
|
||||||
|
* retrieved from cpu registers.
|
||||||
|
*/
|
||||||
|
extern void SystemCoreClockUpdate (void);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* SYSTEM_CMSDK_BEID_H */
|
|
@ -1,15 +0,0 @@
|
||||||
; *************************************************************
|
|
||||||
; *** Scatter-Loading Description File ***
|
|
||||||
; *************************************************************
|
|
||||||
|
|
||||||
LR_IROM1 0x00000000 0x00400000 { ; load region size_region
|
|
||||||
ER_IROM1 +0 { ; load address = execution address
|
|
||||||
*.o (RESET, +FIRST)
|
|
||||||
*(InRoot$$Sections)
|
|
||||||
.ANY (+RO)
|
|
||||||
}
|
|
||||||
RW_IRAM1 +0 { ; RW data
|
|
||||||
.ANY (+RW +ZI)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,291 +0,0 @@
|
||||||
;/**************************************************************************//**
|
|
||||||
; * @file startup_CMSDK_CM3.s
|
|
||||||
; * @brief CMSIS Core Device Startup File for
|
|
||||||
; * CMSDK_CM3 Device
|
|
||||||
; * @version V3.02
|
|
||||||
; * @date 15. November 2013
|
|
||||||
; *
|
|
||||||
; * @note
|
|
||||||
; * Copyright (C) 2014 ARM Limited. All rights reserved.
|
|
||||||
; *
|
|
||||||
; ******************************************************************************/
|
|
||||||
;/* Copyright (c) 2011 - 2013 ARM LIMITED
|
|
||||||
;
|
|
||||||
; All rights reserved.
|
|
||||||
; Redistribution and use in source and binary forms, with or without
|
|
||||||
; modification, are permitted provided that the following conditions are met:
|
|
||||||
; - Redistributions of source code must retain the above copyright
|
|
||||||
; notice, this list of conditions and the following disclaimer.
|
|
||||||
; - Redistributions in binary form must reproduce the above copyright
|
|
||||||
; notice, this list of conditions and the following disclaimer in the
|
|
||||||
; documentation and/or other materials provided with the distribution.
|
|
||||||
; - Neither the name of ARM nor the names of its contributors may be used
|
|
||||||
; to endorse or promote products derived from this software without
|
|
||||||
; specific prior written permission.
|
|
||||||
; *
|
|
||||||
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
; ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
|
|
||||||
; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
; POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
; ---------------------------------------------------------------------------*/
|
|
||||||
;/*
|
|
||||||
;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
|
||||||
;*/
|
|
||||||
|
|
||||||
|
|
||||||
; <h> Stack Configuration
|
|
||||||
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
|
||||||
; </h>
|
|
||||||
|
|
||||||
Stack_Size EQU 0x00004000
|
|
||||||
|
|
||||||
AREA STACK, NOINIT, READWRITE, ALIGN=3
|
|
||||||
Stack_Mem SPACE Stack_Size
|
|
||||||
__initial_sp
|
|
||||||
|
|
||||||
|
|
||||||
; <h> Heap Configuration
|
|
||||||
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
|
||||||
; </h>
|
|
||||||
|
|
||||||
Heap_Size EQU 0x00001000
|
|
||||||
|
|
||||||
AREA HEAP, NOINIT, READWRITE, ALIGN=3
|
|
||||||
__heap_base
|
|
||||||
Heap_Mem SPACE Heap_Size
|
|
||||||
__heap_limit
|
|
||||||
|
|
||||||
|
|
||||||
PRESERVE8
|
|
||||||
THUMB
|
|
||||||
|
|
||||||
|
|
||||||
; Vector Table Mapped to Address 0 at Reset
|
|
||||||
|
|
||||||
AREA RESET, DATA, READONLY
|
|
||||||
EXPORT __Vectors
|
|
||||||
EXPORT __Vectors_End
|
|
||||||
EXPORT __Vectors_Size
|
|
||||||
|
|
||||||
__Vectors DCD __initial_sp ; Top of Stack
|
|
||||||
DCD Reset_Handler ; Reset Handler
|
|
||||||
DCD NMI_Handler ; NMI Handler
|
|
||||||
DCD HardFault_Handler ; Hard Fault Handler
|
|
||||||
DCD MemManage_Handler ; MPU Fault Handler
|
|
||||||
DCD BusFault_Handler ; Bus Fault Handler
|
|
||||||
DCD UsageFault_Handler ; Usage Fault Handler
|
|
||||||
DCD 0 ; Reserved
|
|
||||||
DCD 0 ; Reserved
|
|
||||||
DCD 0 ; Reserved
|
|
||||||
DCD 0 ; Reserved
|
|
||||||
DCD SVC_Handler ; SVCall Handler
|
|
||||||
DCD DebugMon_Handler ; Debug Monitor Handler
|
|
||||||
DCD 0 ; Reserved
|
|
||||||
DCD PendSV_Handler ; PendSV Handler
|
|
||||||
DCD SysTick_Handler ; SysTick Handler
|
|
||||||
|
|
||||||
; External Interrupts
|
|
||||||
DCD UARTRX0_Handler ; UART 0 RX Handler
|
|
||||||
DCD UARTTX0_Handler ; UART 0 TX Handler
|
|
||||||
DCD UARTRX1_Handler ; UART 1 RX Handler
|
|
||||||
DCD UARTTX1_Handler ; UART 1 TX Handler
|
|
||||||
DCD UARTRX2_Handler ; UART 2 RX Handler
|
|
||||||
DCD UARTTX2_Handler ; UART 2 TX Handler
|
|
||||||
DCD PORT0_COMB_Handler ; GPIO Port 0 Combined Handler
|
|
||||||
DCD PORT1_COMB_Handler ; GPIO Port 1 Combined Handler
|
|
||||||
DCD TIMER0_Handler ; TIMER 0 handler
|
|
||||||
DCD TIMER1_Handler ; TIMER 1 handler
|
|
||||||
DCD DUALTIMER_HANDLER ; Dual timer handler
|
|
||||||
DCD SPI_Handler ; SPI exceptions Handler
|
|
||||||
DCD UARTOVF_Handler ; UART 0,1,2 Overflow Handler
|
|
||||||
DCD ETHERNET_Handler ; Ethernet Overflow Handler
|
|
||||||
DCD I2S_Handler ; I2S Handler
|
|
||||||
DCD TSC_Handler ; Touch Screen handler
|
|
||||||
DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
|
|
||||||
DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
|
|
||||||
DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
|
|
||||||
DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
|
|
||||||
DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
|
|
||||||
DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
|
|
||||||
DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
|
|
||||||
DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
|
|
||||||
DCD PORT0_8_Handler ; GPIO Port 0 pin 8 Handler
|
|
||||||
DCD PORT0_9_Handler ; GPIO Port 0 pin 9 Handler
|
|
||||||
DCD PORT0_10_Handler ; GPIO Port 0 pin 10 Handler
|
|
||||||
DCD PORT0_11_Handler ; GPIO Port 0 pin 11 Handler
|
|
||||||
DCD PORT0_12_Handler ; GPIO Port 0 pin 12 Handler
|
|
||||||
DCD PORT0_13_Handler ; GPIO Port 0 pin 13 Handler
|
|
||||||
DCD PORT0_14_Handler ; GPIO Port 0 pin 14 Handler
|
|
||||||
DCD PORT0_15_Handler ; GPIO Port 0 pin 15 Handler
|
|
||||||
__Vectors_End
|
|
||||||
|
|
||||||
__Vectors_Size EQU __Vectors_End - __Vectors
|
|
||||||
|
|
||||||
AREA |.text|, CODE, READONLY
|
|
||||||
|
|
||||||
|
|
||||||
; Reset Handler
|
|
||||||
|
|
||||||
Reset_Handler PROC
|
|
||||||
EXPORT Reset_Handler [WEAK]
|
|
||||||
IMPORT SystemInit
|
|
||||||
IMPORT __main
|
|
||||||
LDR R0, =SystemInit
|
|
||||||
BLX R0
|
|
||||||
LDR R0, =__main
|
|
||||||
BX R0
|
|
||||||
ENDP
|
|
||||||
|
|
||||||
|
|
||||||
; Dummy Exception Handlers (infinite loops which can be modified)
|
|
||||||
|
|
||||||
NMI_Handler PROC
|
|
||||||
EXPORT NMI_Handler [WEAK]
|
|
||||||
B .
|
|
||||||
ENDP
|
|
||||||
HardFault_Handler\
|
|
||||||
PROC
|
|
||||||
EXPORT HardFault_Handler [WEAK]
|
|
||||||
B .
|
|
||||||
ENDP
|
|
||||||
MemManage_Handler\
|
|
||||||
PROC
|
|
||||||
EXPORT MemManage_Handler [WEAK]
|
|
||||||
B .
|
|
||||||
ENDP
|
|
||||||
BusFault_Handler\
|
|
||||||
PROC
|
|
||||||
EXPORT BusFault_Handler [WEAK]
|
|
||||||
B .
|
|
||||||
ENDP
|
|
||||||
UsageFault_Handler\
|
|
||||||
PROC
|
|
||||||
EXPORT UsageFault_Handler [WEAK]
|
|
||||||
B .
|
|
||||||
ENDP
|
|
||||||
SVC_Handler PROC
|
|
||||||
EXPORT SVC_Handler [WEAK]
|
|
||||||
B .
|
|
||||||
ENDP
|
|
||||||
DebugMon_Handler\
|
|
||||||
PROC
|
|
||||||
EXPORT DebugMon_Handler [WEAK]
|
|
||||||
B .
|
|
||||||
ENDP
|
|
||||||
PendSV_Handler PROC
|
|
||||||
EXPORT PendSV_Handler [WEAK]
|
|
||||||
B .
|
|
||||||
ENDP
|
|
||||||
SysTick_Handler PROC
|
|
||||||
EXPORT SysTick_Handler [WEAK]
|
|
||||||
B .
|
|
||||||
ENDP
|
|
||||||
|
|
||||||
Default_Handler PROC
|
|
||||||
EXPORT UARTRX0_Handler [WEAK]
|
|
||||||
EXPORT UARTTX0_Handler [WEAK]
|
|
||||||
EXPORT UARTRX1_Handler [WEAK]
|
|
||||||
EXPORT UARTTX1_Handler [WEAK]
|
|
||||||
EXPORT UARTRX2_Handler [WEAK]
|
|
||||||
EXPORT UARTTX2_Handler [WEAK]
|
|
||||||
EXPORT PORT0_COMB_Handler [WEAK]
|
|
||||||
EXPORT PORT1_COMB_Handler [WEAK]
|
|
||||||
EXPORT TIMER0_Handler [WEAK]
|
|
||||||
EXPORT TIMER1_Handler [WEAK]
|
|
||||||
EXPORT DUALTIMER_HANDLER [WEAK]
|
|
||||||
EXPORT SPI_Handler [WEAK]
|
|
||||||
EXPORT UARTOVF_Handler [WEAK]
|
|
||||||
EXPORT ETHERNET_Handler [WEAK]
|
|
||||||
EXPORT I2S_Handler [WEAK]
|
|
||||||
EXPORT TSC_Handler [WEAK]
|
|
||||||
EXPORT PORT0_0_Handler [WEAK]
|
|
||||||
EXPORT PORT0_1_Handler [WEAK]
|
|
||||||
EXPORT PORT0_2_Handler [WEAK]
|
|
||||||
EXPORT PORT0_3_Handler [WEAK]
|
|
||||||
EXPORT PORT0_4_Handler [WEAK]
|
|
||||||
EXPORT PORT0_5_Handler [WEAK]
|
|
||||||
EXPORT PORT0_6_Handler [WEAK]
|
|
||||||
EXPORT PORT0_7_Handler [WEAK]
|
|
||||||
EXPORT PORT0_8_Handler [WEAK]
|
|
||||||
EXPORT PORT0_9_Handler [WEAK]
|
|
||||||
EXPORT PORT0_10_Handler [WEAK]
|
|
||||||
EXPORT PORT0_11_Handler [WEAK]
|
|
||||||
EXPORT PORT0_12_Handler [WEAK]
|
|
||||||
EXPORT PORT0_13_Handler [WEAK]
|
|
||||||
EXPORT PORT0_14_Handler [WEAK]
|
|
||||||
EXPORT PORT0_15_Handler [WEAK]
|
|
||||||
|
|
||||||
UARTRX0_Handler
|
|
||||||
UARTTX0_Handler
|
|
||||||
UARTRX1_Handler
|
|
||||||
UARTTX1_Handler
|
|
||||||
UARTRX2_Handler
|
|
||||||
UARTTX2_Handler
|
|
||||||
PORT0_COMB_Handler
|
|
||||||
PORT1_COMB_Handler
|
|
||||||
TIMER0_Handler
|
|
||||||
TIMER1_Handler
|
|
||||||
DUALTIMER_HANDLER
|
|
||||||
SPI_Handler
|
|
||||||
UARTOVF_Handler
|
|
||||||
ETHERNET_Handler
|
|
||||||
I2S_Handler
|
|
||||||
TSC_Handler
|
|
||||||
PORT0_0_Handler
|
|
||||||
PORT0_1_Handler
|
|
||||||
PORT0_2_Handler
|
|
||||||
PORT0_3_Handler
|
|
||||||
PORT0_4_Handler
|
|
||||||
PORT0_5_Handler
|
|
||||||
PORT0_6_Handler
|
|
||||||
PORT0_7_Handler
|
|
||||||
PORT0_8_Handler
|
|
||||||
PORT0_9_Handler
|
|
||||||
PORT0_10_Handler
|
|
||||||
PORT0_11_Handler
|
|
||||||
PORT0_12_Handler
|
|
||||||
PORT0_13_Handler
|
|
||||||
PORT0_14_Handler
|
|
||||||
PORT0_15_Handler
|
|
||||||
B .
|
|
||||||
|
|
||||||
ENDP
|
|
||||||
|
|
||||||
|
|
||||||
ALIGN
|
|
||||||
|
|
||||||
|
|
||||||
; User Initial Stack & Heap
|
|
||||||
|
|
||||||
IF :DEF:__MICROLIB
|
|
||||||
|
|
||||||
EXPORT __initial_sp
|
|
||||||
EXPORT __heap_base
|
|
||||||
EXPORT __heap_limit
|
|
||||||
|
|
||||||
ELSE
|
|
||||||
|
|
||||||
IMPORT __use_two_region_memory
|
|
||||||
EXPORT __user_initial_stackheap
|
|
||||||
|
|
||||||
__user_initial_stackheap PROC
|
|
||||||
LDR R0, = Heap_Mem
|
|
||||||
LDR R1, =(Stack_Mem + Stack_Size)
|
|
||||||
LDR R2, = (Heap_Mem + Heap_Size)
|
|
||||||
LDR R3, = Stack_Mem
|
|
||||||
BX LR
|
|
||||||
ENDP
|
|
||||||
|
|
||||||
ALIGN
|
|
||||||
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
END
|
|
|
@ -1,14 +0,0 @@
|
||||||
/* mbed Microcontroller Library - CMSIS
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* A generic CMSIS include header, pulling in LPC1768 specifics
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef MBED_CMSIS_H
|
|
||||||
#define MBED_CMSIS_H
|
|
||||||
|
|
||||||
#include "CMSDK_BEID.h"
|
|
||||||
#include "SMM_MPS2.h"
|
|
||||||
#include "cmsis_nvic.h"
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,30 +0,0 @@
|
||||||
/* mbed Microcontroller Library - cmsis_nvic for LCP1768
|
|
||||||
* Copyright (c) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
|
||||||
*/
|
|
||||||
#include "cmsis_nvic.h"
|
|
||||||
|
|
||||||
#define NVIC_RAM_VECTOR_ADDRESS (0x20000000) // Location of vectors in RAM
|
|
||||||
#define NVIC_FLASH_VECTOR_ADDRESS (0x00000000) // Initial vector position in flash
|
|
||||||
|
|
||||||
void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {
|
|
||||||
uint32_t *vectors = (uint32_t*)SCB->VTOR;
|
|
||||||
uint32_t i;
|
|
||||||
|
|
||||||
// Copy and switch to dynamic vectors if the first time called
|
|
||||||
if (SCB->VTOR == NVIC_FLASH_VECTOR_ADDRESS) {
|
|
||||||
uint32_t *old_vectors = vectors;
|
|
||||||
vectors = (uint32_t*)NVIC_RAM_VECTOR_ADDRESS;
|
|
||||||
for (i=0; i<NVIC_NUM_VECTORS; i++) {
|
|
||||||
vectors[i] = old_vectors[i];
|
|
||||||
}
|
|
||||||
SCB->VTOR = (uint32_t)NVIC_RAM_VECTOR_ADDRESS;
|
|
||||||
}
|
|
||||||
vectors[IRQn + NVIC_USER_IRQ_OFFSET] = vector;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t NVIC_GetVector(IRQn_Type IRQn) {
|
|
||||||
uint32_t *vectors = (uint32_t*)SCB->VTOR;
|
|
||||||
return vectors[IRQn + NVIC_USER_IRQ_OFFSET];
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
/* mbed Microcontroller Library - cmsis_nvic
|
|
||||||
* Copyright (c) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef MBED_CMSIS_NVIC_H
|
|
||||||
#define MBED_CMSIS_NVIC_H
|
|
||||||
|
|
||||||
#include "cmsis.h"
|
|
||||||
|
|
||||||
#define NVIC_NUM_VECTORS (16 + 32)
|
|
||||||
#define NVIC_USER_IRQ_OFFSET 16
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector);
|
|
||||||
uint32_t NVIC_GetVector(IRQn_Type IRQn);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,34 +0,0 @@
|
||||||
/*-----------------------------------------------------------------------------
|
|
||||||
* Name: Device.h
|
|
||||||
* Purpose: Include the correct device header file
|
|
||||||
*-----------------------------------------------------------------------------
|
|
||||||
* This file is part of the uVision/ARM development tools.
|
|
||||||
* This software may only be used under the terms of a valid, current,
|
|
||||||
* end user licence from KEIL for a compatible version of KEIL software
|
|
||||||
* development tools. Nothing else gives you the right to use this software.
|
|
||||||
*
|
|
||||||
* This software is supplied "AS IS" without warranties of any kind.
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 KEIL - An ARM Company. All rights reserved.
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef __DEVICE_H
|
|
||||||
#define __DEVICE_H
|
|
||||||
|
|
||||||
#if defined CMSDK_CM0
|
|
||||||
#include "CMSDK_CM0.h" /* device specific header file */
|
|
||||||
#elif defined CMSDK_CM0plus
|
|
||||||
#include "CMSDK_CM0plus.h" /* device specific header file */
|
|
||||||
#elif defined CMSDK_CM3
|
|
||||||
#include "CMSDK_CM3.h" /* device specific header file */
|
|
||||||
#elif defined CMSDK_CM4
|
|
||||||
#include "CMSDK_CM4.h" /* device specific header file */
|
|
||||||
#elif defined CMSDK_CM7
|
|
||||||
#include "CMSDK_CM7.h" /* device specific header file */
|
|
||||||
#elif defined CMSDK_BEID
|
|
||||||
#include "CMSDK_BEID.h" /* device specific header file */
|
|
||||||
#else
|
|
||||||
#warning "no appropriate header file found!"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __DEVICE_H */
|
|
|
@ -1,95 +0,0 @@
|
||||||
/**************************************************************************//**
|
|
||||||
* @file system_CMSDK_BEID.c
|
|
||||||
* @brief CMSIS Device System Source File for
|
|
||||||
* CMSDK_M3 Device
|
|
||||||
* @version V3.02
|
|
||||||
* @date 15. November 2013
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
|
||||||
******************************************************************************/
|
|
||||||
/* Copyright (c) 2011 - 2013 ARM LIMITED
|
|
||||||
|
|
||||||
All rights reserved.
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
- Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
- Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
- Neither the name of ARM nor the names of its contributors may be used
|
|
||||||
to endorse or promote products derived from this software without
|
|
||||||
specific prior written permission.
|
|
||||||
*
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
|
|
||||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
|
|
||||||
#include "CMSDK_BEID.h"
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
|
||||||
Define clocks
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
#define __XTAL (50000000UL) /* Oscillator frequency */
|
|
||||||
|
|
||||||
#define __SYSTEM_CLOCK (__XTAL / 2)
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
|
||||||
Clock Variable definitions
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
uint32_t SystemCoreClock = __SYSTEM_CLOCK;/*!< System Clock Frequency (Core Clock)*/
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
|
||||||
Clock functions
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
/**
|
|
||||||
* Update SystemCoreClock variable
|
|
||||||
*
|
|
||||||
* @param none
|
|
||||||
* @return none
|
|
||||||
*
|
|
||||||
* @brief Updates the SystemCoreClock with current core Clock
|
|
||||||
* retrieved from cpu registers.
|
|
||||||
*/
|
|
||||||
void SystemCoreClockUpdate (void)
|
|
||||||
{
|
|
||||||
|
|
||||||
SystemCoreClock = __SYSTEM_CLOCK;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize the system
|
|
||||||
*
|
|
||||||
* @param none
|
|
||||||
* @return none
|
|
||||||
*
|
|
||||||
* @brief Setup the microcontroller system.
|
|
||||||
* Initialize the System.
|
|
||||||
*/
|
|
||||||
void SystemInit (void)
|
|
||||||
{
|
|
||||||
|
|
||||||
#ifdef UNALIGNED_SUPPORT_DISABLE
|
|
||||||
SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
SystemCoreClock = __SYSTEM_CLOCK;
|
|
||||||
|
|
||||||
// Enable AHB and APB clock
|
|
||||||
CMSDK_SYSCON->AHBCLKCFG0SET = 0xF; // GPIO
|
|
||||||
CMSDK_SYSCON->APBCLKCFG0SET = 0x37; // UART0, UART1, TIMER0, TIMER1, DUAL TIMER
|
|
||||||
}
|
|
|
@ -1,75 +0,0 @@
|
||||||
/**************************************************************************//**
|
|
||||||
* @file system_CMSDK_BEID.h
|
|
||||||
* @brief CMSIS Device Peripheral Access Layer Header File for
|
|
||||||
* CMSDK_BEID Device
|
|
||||||
* @version V3.02
|
|
||||||
* @date 15. March 2013
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
|
||||||
******************************************************************************/
|
|
||||||
/* Copyright (c) 2011 - 2013 ARM LIMITED
|
|
||||||
|
|
||||||
All rights reserved.
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
- Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
- Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
- Neither the name of ARM nor the names of its contributors may be used
|
|
||||||
to endorse or promote products derived from this software without
|
|
||||||
specific prior written permission.
|
|
||||||
*
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
|
|
||||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef SYSTEM_CMSDK_BEID_H
|
|
||||||
#define SYSTEM_CMSDK_BEID_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize the system
|
|
||||||
*
|
|
||||||
* @param none
|
|
||||||
* @return none
|
|
||||||
*
|
|
||||||
* @brief Setup the microcontroller system.
|
|
||||||
* Initialize the System and update the SystemCoreClock variable.
|
|
||||||
*/
|
|
||||||
extern void SystemInit (void);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update SystemCoreClock variable
|
|
||||||
*
|
|
||||||
* @param none
|
|
||||||
* @return none
|
|
||||||
*
|
|
||||||
* @brief Updates the SystemCoreClock with current core Clock
|
|
||||||
* retrieved from cpu registers.
|
|
||||||
*/
|
|
||||||
extern void SystemCoreClockUpdate (void);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* SYSTEM_CMSDK_BEID_H */
|
|
|
@ -1,41 +1,37 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file CMSDK_CM0.h
|
* @file CMSDK_CM0.h
|
||||||
* @brief CMSIS Core Peripheral Access Layer Header File for
|
* @brief CMSIS Core Peripheral Access Layer Header File for
|
||||||
* CMSDK_CM0 Device
|
* CMSDK_CM0 Device
|
||||||
* @version V3.02
|
|
||||||
* @date 15. November 2013
|
|
||||||
*
|
|
||||||
* @note configured for CM7 without FPU
|
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
@ -52,51 +48,48 @@
|
||||||
|
|
||||||
typedef enum IRQn
|
typedef enum IRQn
|
||||||
{
|
{
|
||||||
/* ------------------- Cortex-M0 Processor Exceptions Numbers ------------------- */
|
/****** Cortex-M0 Processor Exceptions Numbers ***************************************************/
|
||||||
NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */
|
|
||||||
HardFault_IRQn = -13, /* 3 HardFault Interrupt */
|
|
||||||
|
|
||||||
|
/* ToDo: use this Cortex interrupt numbers if your device is a CORTEX-M0 device */
|
||||||
|
NonMaskableInt_IRQn = -14, /*!< 2 Cortex-M0 Non Maskable Interrupt */
|
||||||
SVCall_IRQn = -5, /* 11 SV Call Interrupt */
|
HardFault_IRQn = -13, /*!< 3 Cortex-M0 Hard Fault Interrupt */
|
||||||
|
SVCall_IRQn = -5, /*!< 11 Cortex-M0 SV Call Interrupt */
|
||||||
PendSV_IRQn = -2, /* 14 Pend SV Interrupt */
|
PendSV_IRQn = -2, /*!< 14 Cortex-M0 Pend SV Interrupt */
|
||||||
SysTick_IRQn = -1, /* 15 System Tick Interrupt */
|
SysTick_IRQn = -1, /*!< 15 Cortex-M0 System Tick Interrupt */
|
||||||
|
|
||||||
/* ---------------------- CMSDK_CM0 Specific Interrupt Numbers ------------------ */
|
/* ---------------------- CMSDK_CM0 Specific Interrupt Numbers ------------------ */
|
||||||
UARTRX0_IRQn = 0, /* UART 0 RX Interrupt */
|
UARTRX0_IRQn = 0, /*!< UART 0 RX Interrupt */
|
||||||
UARTTX0_IRQn = 1, /* UART 0 TX Interrupt */
|
UARTTX0_IRQn = 1, /*!< UART 0 TX Interrupt */
|
||||||
UARTRX1_IRQn = 2, /* UART 1 RX Interrupt */
|
UARTRX1_IRQn = 2, /*!< UART 1 RX Interrupt */
|
||||||
UARTTX1_IRQn = 3, /* UART 1 TX Interrupt */
|
UARTTX1_IRQn = 3, /*!< UART 1 TX Interrupt */
|
||||||
UARTRX2_IRQn = 4, /* UART 2 RX Interrupt */
|
UARTRX2_IRQn = 4, /*!< UART 2 RX Interrupt */
|
||||||
UARTTX2_IRQn = 5, /* UART 2 TX Interrupt */
|
UARTTX2_IRQn = 5, /*!< UART 2 TX Interrupt */
|
||||||
PORT0_ALL_IRQn = 6, /* Port 1 combined Interrupt */
|
PORT0_ALL_IRQn = 6, /*!< Port 0 combined Interrupt */
|
||||||
PORT1_ALL_IRQn = 7, /* Port 1 combined Interrupt */
|
PORT1_ALL_IRQn = 7, /*!< Port 1 combined Interrupt */
|
||||||
TIMER0_IRQn = 8, /* TIMER 0 Interrupt */
|
TIMER0_IRQn = 8, /*!< TIMER 0 Interrupt */
|
||||||
TIMER1_IRQn = 9, /* TIMER 1 Interrupt */
|
TIMER1_IRQn = 9, /*!< TIMER 1 Interrupt */
|
||||||
DUALTIMER_IRQn = 10, /* Dual Timer Interrupt */
|
DUALTIMER_IRQn = 10, /*!< Dual Timer Interrupt */
|
||||||
SPI_IRQn = 11, /* SPI Interrupt */
|
SPI_IRQn = 11, /*!< SPI Interrupt */
|
||||||
UARTOVF_IRQn = 12, /* UART 0,1,2 Overflow Interrupt */
|
UARTOVF_IRQn = 12, /*!< UART 0,1,2 Overflow Interrupt */
|
||||||
ETHERNET_IRQn = 13, /* Ethernet Interrupt */
|
ETHERNET_IRQn = 13, /*!< Ethernet Interrupt */
|
||||||
I2S_IRQn = 14, /* I2S Interrupt */
|
I2S_IRQn = 14, /*!< I2S Interrupt */
|
||||||
TSC_IRQn = 15, /* Touch Screen Interrupt */
|
TSC_IRQn = 15, /*!< Touch Screen Interrupt */
|
||||||
// DMA_IRQn = 15, /* PL230 DMA Done + Error Interrupt */
|
PORT2_ALL_IRQn = 16, /*!< Port 2 combined Interrupt */
|
||||||
PORT0_0_IRQn = 16, /* All P0 I/O pins used as irq source */
|
PORT3_ALL_IRQn = 17, /*!< Port 3 combined Interrupt */
|
||||||
PORT0_1_IRQn = 17, /* There are 16 pins in total */
|
UARTRX3_IRQn = 18, /*!< UART 3 RX Interrupt */
|
||||||
PORT0_2_IRQn = 18,
|
UARTTX3_IRQn = 19, /*!< UART 3 TX Interrupt */
|
||||||
PORT0_3_IRQn = 19,
|
UARTRX4_IRQn = 20, /*!< UART 4 RX Interrupt */
|
||||||
PORT0_4_IRQn = 20,
|
UARTTX4_IRQn = 21, /*!< UART 4 TX Interrupt */
|
||||||
PORT0_5_IRQn = 21,
|
ADCSPI_IRQn = 22, /*!< SHIELD ADC SPI Interrupt */
|
||||||
PORT0_6_IRQn = 22,
|
SHIELDSPI_IRQn = 23, /*!< SHIELD SPI Combined Interrupt */
|
||||||
PORT0_7_IRQn = 23,
|
PORT0_0_IRQn = 24, /*!< GPIO Port 0 pin 0 Interrupt */
|
||||||
PORT0_8_IRQn = 24,
|
PORT0_1_IRQn = 25, /*!< GPIO Port 0 pin 1 Interrupt */
|
||||||
PORT0_9_IRQn = 25,
|
PORT0_2_IRQn = 26, /*!< GPIO Port 0 pin 2 Interrupt */
|
||||||
PORT0_10_IRQn = 26,
|
PORT0_3_IRQn = 27, /*!< GPIO Port 0 pin 3 Interrupt */
|
||||||
PORT0_11_IRQn = 27,
|
PORT0_4_IRQn = 28, /*!< GPIO Port 0 pin 4 Interrupt */
|
||||||
PORT0_12_IRQn = 28,
|
PORT0_5_IRQn = 29, /*!< GPIO Port 0 pin 5 Interrupt */
|
||||||
PORT0_13_IRQn = 29,
|
PORT0_6_IRQn = 30, /*!< GPIO Port 0 pin 6 Interrupt */
|
||||||
PORT0_14_IRQn = 30,
|
PORT0_7_IRQn = 31, /*!< GPIO Port 0 pin 7 Interrupt */
|
||||||
PORT0_15_IRQn = 31,
|
|
||||||
} IRQn_Type;
|
} IRQn_Type;
|
||||||
|
|
||||||
|
|
||||||
|
@ -686,7 +679,9 @@ typedef struct
|
||||||
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
|
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
|
||||||
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
|
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
|
||||||
#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
|
#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
|
||||||
|
#define CMSDK_UART3_BASE (CMSDK_APB_BASE + 0x7000UL)
|
||||||
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
||||||
|
#define CMSDK_UART4_BASE (CMSDK_APB_BASE + 0x9000UL)
|
||||||
#define CMSDK_PL230_BASE (CMSDK_APB_BASE + 0xF000UL)
|
#define CMSDK_PL230_BASE (CMSDK_APB_BASE + 0xF000UL)
|
||||||
|
|
||||||
/* AHB peripherals */
|
/* AHB peripherals */
|
||||||
|
@ -704,6 +699,8 @@ typedef struct
|
||||||
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
||||||
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
||||||
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
||||||
|
#define CMSDK_UART3 ((CMSDK_UART_TypeDef *) CMSDK_UART3_BASE )
|
||||||
|
#define CMSDK_UART4 ((CMSDK_UART_TypeDef *) CMSDK_UART4_BASE )
|
||||||
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
||||||
#define CMSDK_TIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER1_BASE )
|
#define CMSDK_TIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER1_BASE )
|
||||||
#define CMSDK_DUALTIMER ((CMSDK_DUALTIMER_BOTH_TypeDef *) CMSDK_DUALTIMER_BASE )
|
#define CMSDK_DUALTIMER ((CMSDK_DUALTIMER_BOTH_TypeDef *) CMSDK_DUALTIMER_BASE )
|
||||||
|
|
|
@ -1,36 +1,36 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* File: smm_mps2.h
|
* File: smm_mps2.h
|
||||||
* Release: Version 1.0
|
* Release: Version 1.1
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#ifndef __SMM_MPS2_H
|
#ifndef __SMM_MPS2_H
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
/* FPGA System Register declaration */
|
/* FPGA System Register declaration */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
__IO uint32_t LED; // Offset: 0x000 (R/W) LED connections
|
__IO uint32_t LED; // Offset: 0x000 (R/W) LED connections
|
||||||
// [31:2] : Reserved
|
// [31:2] : Reserved
|
||||||
|
@ -65,11 +65,14 @@ typedef struct
|
||||||
// Bit[31:0] : reload value for prescale counter
|
// Bit[31:0] : reload value for prescale counter
|
||||||
__IO uint32_t PSCNTR; // Offset: 0x024 (R/W) 32-bit Prescale counter
|
__IO uint32_t PSCNTR; // Offset: 0x024 (R/W) 32-bit Prescale counter
|
||||||
// current value of the pre-scaler counter
|
// current value of the pre-scaler counter
|
||||||
// The Cycle Up Counter increment when the prescale down counter reach 0
|
// The Cycle Up Counter increment when the prescale down counter reach 0
|
||||||
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
||||||
uint32_t RESERVED4[9];
|
uint32_t RESERVED4[9];
|
||||||
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
||||||
// [31:7] : Reserved
|
// [31:10] : Reserved
|
||||||
|
// [9] : SHIELD_1_SPI_nCS
|
||||||
|
// [8] : SHIELD_0_SPI_nCS
|
||||||
|
// [7] : ADC_SPI_nCS
|
||||||
// [6] : CLCD_BL_CTRL
|
// [6] : CLCD_BL_CTRL
|
||||||
// [5] : CLCD_RD
|
// [5] : CLCD_RD
|
||||||
// [4] : CLCD_RS
|
// [4] : CLCD_RS
|
||||||
|
@ -93,12 +96,18 @@ typedef struct
|
||||||
#define CLCD_RD_Msk (1UL<<CLCD_RD_Pos)
|
#define CLCD_RD_Msk (1UL<<CLCD_RD_Pos)
|
||||||
#define CLCD_BL_Pos 6
|
#define CLCD_BL_Pos 6
|
||||||
#define CLCD_BL_Msk (1UL<<CLCD_BL_Pos)
|
#define CLCD_BL_Msk (1UL<<CLCD_BL_Pos)
|
||||||
|
#define ADC_nCS_Pos 7
|
||||||
|
#define ADC_nCS_Msk (1UL<<ADC_nCS_Pos)
|
||||||
|
#define SHIELD_0_nCS_Pos 8
|
||||||
|
#define SHIELD_0_nCS_Msk (1UL<<SHIELD_0_nCS_Pos)
|
||||||
|
#define SHIELD_1_nCS_Pos 9
|
||||||
|
#define SHIELD_1_nCS_Msk (1UL<<SHIELD_1_nCS_Pos)
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* SCC Register declaration */
|
/* SCC Register declaration */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
typedef struct //
|
typedef struct //
|
||||||
{
|
{
|
||||||
__IO uint32_t CFG_REG0; // Offset: 0x000 (R/W) Remaps block RAM to ZBT
|
__IO uint32_t CFG_REG0; // Offset: 0x000 (R/W) Remaps block RAM to ZBT
|
||||||
// [31:1] : Reserved
|
// [31:1] : Reserved
|
||||||
|
@ -308,10 +317,10 @@ typedef struct // Document DDI0194G_ssp_pl022_r1p3_trm.pdf
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
__O uint32_t CONTROLS; // Offset: 0x000 CONTROL Set Register ( /W)
|
__O uint32_t CONTROLS; // Offset: 0x000 CONTROL Set Register ( /W)
|
||||||
__I uint32_t CONTROL; // Offset: 0x000 CONTROL Status Register (R/ )
|
__I uint32_t CONTROL; // Offset: 0x000 CONTROL Status Register (R/ )
|
||||||
};
|
};
|
||||||
__O uint32_t CONTROLC; // Offset: 0x004 CONTROL Clear Register ( /W)
|
__O uint32_t CONTROLC; // Offset: 0x004 CONTROL Clear Register ( /W)
|
||||||
} MPS2_I2C_TypeDef;
|
} MPS2_I2C_TypeDef;
|
||||||
|
|
||||||
#define SDA 1 << 1
|
#define SDA 1 << 1
|
||||||
|
@ -346,7 +355,7 @@ typedef struct
|
||||||
// <4=> Undefined!
|
// <4=> Undefined!
|
||||||
// <5=> Undefined!
|
// <5=> Undefined!
|
||||||
// <6=> Undefined!
|
// <6=> Undefined!
|
||||||
// <7=> Undefined!
|
// <7=> Undefined!
|
||||||
// <o.14..12> RX Buffer Water Level
|
// <o.14..12> RX Buffer Water Level
|
||||||
// <0=> Undefined!
|
// <0=> Undefined!
|
||||||
// <1=> / IRQ triggers when less than 1 space available
|
// <1=> / IRQ triggers when less than 1 space available
|
||||||
|
@ -355,7 +364,7 @@ typedef struct
|
||||||
// <4=> / IRQ triggers when less than 4 space available
|
// <4=> / IRQ triggers when less than 4 space available
|
||||||
// <5=> Undefined!
|
// <5=> Undefined!
|
||||||
// <6=> Undefined!
|
// <6=> Undefined!
|
||||||
// <7=> Undefined!
|
// <7=> Undefined!
|
||||||
// <o.16> FIFO reset
|
// <o.16> FIFO reset
|
||||||
// <0=> Normal operation
|
// <0=> Normal operation
|
||||||
// <1=> FIFO reset
|
// <1=> FIFO reset
|
||||||
|
@ -363,12 +372,12 @@ typedef struct
|
||||||
// <0=> Normal operation
|
// <0=> Normal operation
|
||||||
// <1=> Assert audio Codec reset
|
// <1=> Assert audio Codec reset
|
||||||
/*!< Offset: 0x004 STATUS Register (R/ ) */
|
/*!< Offset: 0x004 STATUS Register (R/ ) */
|
||||||
__I uint32_t STATUS; // <h> STATUS </h>
|
__I uint32_t STATUS; // <h> STATUS </h>
|
||||||
// <o.0> TX Buffer alert
|
// <o.0> TX Buffer alert
|
||||||
// <0=> TX buffer don't need service yet
|
// <0=> TX buffer don't need service yet
|
||||||
// <1=> TX buffer need service
|
// <1=> TX buffer need service
|
||||||
// <o.1> RX Buffer alert
|
// <o.1> RX Buffer alert
|
||||||
// <0=> RX buffer don't need service yet
|
// <0=> RX buffer don't need service yet
|
||||||
// <1=> RX buffer need service
|
// <1=> RX buffer need service
|
||||||
// <o.2> TX Buffer Empty
|
// <o.2> TX Buffer Empty
|
||||||
// <0=> TX buffer have data
|
// <0=> TX buffer have data
|
||||||
|
@ -383,33 +392,33 @@ typedef struct
|
||||||
// <0=> RX buffer not full
|
// <0=> RX buffer not full
|
||||||
// <1=> RX buffer full
|
// <1=> RX buffer full
|
||||||
union {
|
union {
|
||||||
/*!< Offset: 0x008 Error Status Register (R/ ) */
|
/*!< Offset: 0x008 Error Status Register (R/ ) */
|
||||||
__I uint32_t ERROR; // <h> ERROR </h>
|
__I uint32_t ERROR; // <h> ERROR </h>
|
||||||
// <o.0> TX error
|
// <o.0> TX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> TX overrun/underrun
|
// <1=> TX overrun/underrun
|
||||||
// <o.1> RX error
|
// <o.1> RX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> RX overrun/underrun
|
// <1=> RX overrun/underrun
|
||||||
/*!< Offset: 0x008 Error Clear Register ( /W) */
|
/*!< Offset: 0x008 Error Clear Register ( /W) */
|
||||||
__O uint32_t ERRORCLR; // <h> ERRORCLR </h>
|
__O uint32_t ERRORCLR; // <h> ERRORCLR </h>
|
||||||
// <o.0> TX error
|
// <o.0> TX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> Clear TX error
|
// <1=> Clear TX error
|
||||||
// <o.1> RX error
|
// <o.1> RX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> Clear RX error
|
// <1=> Clear RX error
|
||||||
};
|
};
|
||||||
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
||||||
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
||||||
// <o.9..0> TX error (default 0x80)
|
// <o.9..0> TX error (default 0x80)
|
||||||
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
||||||
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
||||||
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
uint32_t RESERVED1[186];
|
uint32_t RESERVED1[186];
|
||||||
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
||||||
|
@ -556,7 +565,12 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define MPS2_TSC_I2C_BASE (0x40022000ul) /* Touch Screen I2C Base Address */
|
#define MPS2_TSC_I2C_BASE (0x40022000ul) /* Touch Screen I2C Base Address */
|
||||||
#define MPS2_AAIC_I2C_BASE (0x40023000ul) /* Audio Interface I2C Base Address */
|
#define MPS2_AAIC_I2C_BASE (0x40023000ul) /* Audio Interface I2C Base Address */
|
||||||
#define MPS2_AAIC_I2S_BASE (0x40024000ul) /* Audio Interface I2S Base Address */
|
#define MPS2_AAIC_I2S_BASE (0x40024000ul) /* Audio Interface I2S Base Address */
|
||||||
|
#define MPS2_SSP2_BASE (0x40025000ul) /* adc SSP Base Address */
|
||||||
|
#define MPS2_SSP3_BASE (0x40026000ul) /* Shield 0 SSP Base Address */
|
||||||
|
#define MPS2_SSP4_BASE (0x40027000ul) /* Shield 1 SSP Base Address */
|
||||||
#define MPS2_FPGAIO_BASE (0x40028000ul) /* FPGAIO Base Address */
|
#define MPS2_FPGAIO_BASE (0x40028000ul) /* FPGAIO Base Address */
|
||||||
|
#define MPS2_SHIELD0_I2C_BASE (0x40029000ul) /* Shield 0 I2C Base Address */
|
||||||
|
#define MPS2_SHIELD1_I2C_BASE (0x4002A000ul) /* Shield 1 I2C Base Address */
|
||||||
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
||||||
|
|
||||||
#ifdef CORTEX_M7
|
#ifdef CORTEX_M7
|
||||||
|
@ -565,8 +579,8 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define SMSC9220_BASE (0x40200000ul) /* Ethernet SMSC9220 Base Address */
|
#define SMSC9220_BASE (0x40200000ul) /* Ethernet SMSC9220 Base Address */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
|
||||||
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
||||||
|
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* Peripheral declaration */
|
/* Peripheral declaration */
|
||||||
|
@ -575,11 +589,16 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define SMSC9220 ((SMSC9220_TypeDef *) SMSC9220_BASE )
|
#define SMSC9220 ((SMSC9220_TypeDef *) SMSC9220_BASE )
|
||||||
#define MPS2_TS_I2C ((MPS2_I2C_TypeDef *) MPS2_TSC_I2C_BASE )
|
#define MPS2_TS_I2C ((MPS2_I2C_TypeDef *) MPS2_TSC_I2C_BASE )
|
||||||
#define MPS2_AAIC_I2C ((MPS2_I2C_TypeDef *) MPS2_AAIC_I2C_BASE )
|
#define MPS2_AAIC_I2C ((MPS2_I2C_TypeDef *) MPS2_AAIC_I2C_BASE )
|
||||||
|
#define MPS2_SHIELD0_I2C ((MPS2_I2C_TypeDef *) MPS2_SHIELD0_I2C_BASE )
|
||||||
|
#define MPS2_SHIELD1_I2C ((MPS2_I2C_TypeDef *) MPS2_SHIELD1_I2C_BASE )
|
||||||
#define MPS2_AAIC_I2S ((MPS2_I2S_TypeDef *) MPS2_AAIC_I2S_BASE )
|
#define MPS2_AAIC_I2S ((MPS2_I2S_TypeDef *) MPS2_AAIC_I2S_BASE )
|
||||||
#define MPS2_FPGAIO ((MPS2_FPGAIO_TypeDef *) MPS2_FPGAIO_BASE )
|
#define MPS2_FPGAIO ((MPS2_FPGAIO_TypeDef *) MPS2_FPGAIO_BASE )
|
||||||
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
||||||
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
||||||
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
||||||
|
#define MPS2_SSP2 ((MPS2_SSP_TypeDef *) MPS2_SSP2_BASE )
|
||||||
|
#define MPS2_SSP3 ((MPS2_SSP_TypeDef *) MPS2_SSP3_BASE )
|
||||||
|
#define MPS2_SSP4 ((MPS2_SSP_TypeDef *) MPS2_SSP4_BASE )
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* General Function Definitions */
|
/* General Function Definitions */
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
;* MPS2 CMSIS Library
|
;* MPS2 CMSIS Library
|
||||||
;*
|
;*
|
||||||
;* Copyright (c) 2006-2015 ARM Limited
|
;* Copyright (c) 2006-2016 ARM Limited
|
||||||
;* All rights reserved.
|
;* All rights reserved.
|
||||||
;*
|
;*
|
||||||
;* Redistribution and use in source and binary forms, with or without
|
;* Redistribution and use in source and binary forms, with or without
|
||||||
;* modification, are permitted provided that the following conditions are met:
|
;* modification, are permitted provided that the following conditions are met:
|
||||||
;*
|
;*
|
||||||
;* 1. Redistributions of source code must retain the above copyright notice,
|
;* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
;* this list of conditions and the following disclaimer.
|
;* this list of conditions and the following disclaimer.
|
||||||
;*
|
;*
|
||||||
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
;* this list of conditions and the following disclaimer in the documentation
|
;* this list of conditions and the following disclaimer in the documentation
|
||||||
;* and/or other materials provided with the distribution.
|
;* and/or other materials provided with the distribution.
|
||||||
;*
|
;*
|
||||||
;* 3. Neither the name of the copyright holder nor the names of its contributors
|
;* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
;* may be used to endorse or promote products derived from this software without
|
;* may be used to endorse or promote products derived from this software without
|
||||||
;* specific prior written permission.
|
;* specific prior written permission.
|
||||||
;*
|
;*
|
||||||
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
;* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
;* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
;* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
;* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
;* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
;* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
;* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
;* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
;* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
;* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
;* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
;* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
;* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
;* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
;* POSSIBILITY OF SUCH DAMAGE.
|
;* POSSIBILITY OF SUCH DAMAGE.
|
||||||
;*
|
;*
|
||||||
; *************************************************************
|
; *************************************************************
|
||||||
; *** Scatter-Loading Description File ***
|
; *** Scatter-Loading Description File ***
|
||||||
|
@ -39,8 +39,8 @@ LR_IROM1 0x00000000 0x00400000 { ; load region size_region
|
||||||
*(InRoot$$Sections)
|
*(InRoot$$Sections)
|
||||||
.ANY (+RO)
|
.ANY (+RO)
|
||||||
}
|
}
|
||||||
; Total: 48 vectors = 192 bytes (0x0C0) to be reserved in RAM
|
; Total: 64 vectors = 256 bytes (0x100) to be reserved in RAM
|
||||||
RW_IRAM1 (0x20000000+0xC0) (0x400000-0xC0) { ; RW data
|
RW_IRAM1 (0x20000000+0x100) (0x400000-0x100) { ; RW data
|
||||||
.ANY (+RW +ZI)
|
.ANY (+RW +ZI)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,43 +1,42 @@
|
||||||
;/**************************************************************************//**
|
; MPS2 CMSIS Library
|
||||||
; * @file startup_CMSDK_CM0.s
|
;
|
||||||
; * @brief CMSIS Core Device Startup File for
|
; Copyright (c) 2006-2016 ARM Limited
|
||||||
; * CMSDK_CM0 Device
|
; All rights reserved.
|
||||||
; * @version V3.02
|
;
|
||||||
; * @date 04. February 2015
|
; Redistribution and use in source and binary forms, with or without
|
||||||
; *
|
; modification, are permitted provided that the following conditions are met:
|
||||||
; * @note
|
;
|
||||||
; * Copyright (C) 2015 ARM Limited. All rights reserved.
|
; 1. Redistributions of source code must retain the above copyright notice,
|
||||||
; *
|
; this list of conditions and the following disclaimer.
|
||||||
; ******************************************************************************/
|
;
|
||||||
;/* Copyright (c) 2011 - 2015 ARM LIMITED
|
; 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
; this list of conditions and the following disclaimer in the documentation
|
||||||
|
; and/or other materials provided with the distribution.
|
||||||
|
;
|
||||||
|
; 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
; may be used to endorse or promote products derived from this software without
|
||||||
|
; specific prior written permission.
|
||||||
|
;
|
||||||
|
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
; ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
; POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
;******************************************************************************
|
||||||
|
; @file startup_CMSDK_CM0.s
|
||||||
|
; @brief CMSIS Core Device Startup File for
|
||||||
|
; CMSDK_CM0 Device
|
||||||
|
;
|
||||||
|
;******************************************************************************
|
||||||
|
;
|
||||||
|
;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
||||||
;
|
;
|
||||||
; All rights reserved.
|
|
||||||
; Redistribution and use in source and binary forms, with or without
|
|
||||||
; modification, are permitted provided that the following conditions are met:
|
|
||||||
; - Redistributions of source code must retain the above copyright
|
|
||||||
; notice, this list of conditions and the following disclaimer.
|
|
||||||
; - Redistributions in binary form must reproduce the above copyright
|
|
||||||
; notice, this list of conditions and the following disclaimer in the
|
|
||||||
; documentation and/or other materials provided with the distribution.
|
|
||||||
; - Neither the name of ARM nor the names of its contributors may be used
|
|
||||||
; to endorse or promote products derived from this software without
|
|
||||||
; specific prior written permission.
|
|
||||||
; *
|
|
||||||
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
; ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
|
|
||||||
; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
; POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
; ---------------------------------------------------------------------------*/
|
|
||||||
;/*
|
|
||||||
;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
|
||||||
;*/
|
|
||||||
|
|
||||||
|
|
||||||
; <h> Stack Configuration
|
; <h> Stack Configuration
|
||||||
|
@ -108,22 +107,22 @@ __Vectors DCD __initial_sp ; Top of Stack
|
||||||
DCD ETHERNET_Handler ; Ethernet Overflow Handler
|
DCD ETHERNET_Handler ; Ethernet Overflow Handler
|
||||||
DCD I2S_Handler ; I2S Handler
|
DCD I2S_Handler ; I2S Handler
|
||||||
DCD TSC_Handler ; Touch Screen handler
|
DCD TSC_Handler ; Touch Screen handler
|
||||||
DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
|
DCD PORT2_COMB_Handler ; GPIO Port 2 Combined Handler
|
||||||
DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
|
DCD PORT3_COMB_Handler ; GPIO Port 3 Combined Handler
|
||||||
DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
|
DCD UARTRX3_Handler ; UART 3 RX Handler
|
||||||
DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
|
DCD UARTTX3_Handler ; UART 3 TX Handler
|
||||||
DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
|
DCD UARTRX4_Handler ; UART 4 RX Handler
|
||||||
DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
|
DCD UARTTX4_Handler ; UART 4 TX Handler
|
||||||
DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
|
DCD ADCSPI_Handler ; SHIELD ADC SPI exceptions Handler
|
||||||
DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
|
DCD SHIELDSPI_Handler ; SHIELD SPI exceptions Handler
|
||||||
DCD PORT0_8_Handler ; GPIO Port 0 pin 8 Handler
|
DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
|
||||||
DCD PORT0_9_Handler ; GPIO Port 0 pin 9 Handler
|
DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
|
||||||
DCD PORT0_10_Handler ; GPIO Port 0 pin 10 Handler
|
DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
|
||||||
DCD PORT0_11_Handler ; GPIO Port 0 pin 11 Handler
|
DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
|
||||||
DCD PORT0_12_Handler ; GPIO Port 0 pin 12 Handler
|
DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
|
||||||
DCD PORT0_13_Handler ; GPIO Port 0 pin 13 Handler
|
DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
|
||||||
DCD PORT0_14_Handler ; GPIO Port 0 pin 14 Handler
|
DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
|
||||||
DCD PORT0_15_Handler ; GPIO Port 0 pin 15 Handler
|
DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
|
||||||
__Vectors_End
|
__Vectors_End
|
||||||
|
|
||||||
__Vectors_Size EQU __Vectors_End - __Vectors
|
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||||
|
@ -185,6 +184,14 @@ Default_Handler PROC
|
||||||
EXPORT ETHERNET_Handler [WEAK]
|
EXPORT ETHERNET_Handler [WEAK]
|
||||||
EXPORT I2S_Handler [WEAK]
|
EXPORT I2S_Handler [WEAK]
|
||||||
EXPORT TSC_Handler [WEAK]
|
EXPORT TSC_Handler [WEAK]
|
||||||
|
EXPORT PORT2_COMB_Handler [WEAK]
|
||||||
|
EXPORT PORT3_COMB_Handler [WEAK]
|
||||||
|
EXPORT UARTRX3_Handler [WEAK]
|
||||||
|
EXPORT UARTTX3_Handler [WEAK]
|
||||||
|
EXPORT UARTRX4_Handler [WEAK]
|
||||||
|
EXPORT UARTTX4_Handler [WEAK]
|
||||||
|
EXPORT ADCSPI_Handler [WEAK]
|
||||||
|
EXPORT SHIELDSPI_Handler [WEAK]
|
||||||
EXPORT PORT0_0_Handler [WEAK]
|
EXPORT PORT0_0_Handler [WEAK]
|
||||||
EXPORT PORT0_1_Handler [WEAK]
|
EXPORT PORT0_1_Handler [WEAK]
|
||||||
EXPORT PORT0_2_Handler [WEAK]
|
EXPORT PORT0_2_Handler [WEAK]
|
||||||
|
@ -193,14 +200,6 @@ Default_Handler PROC
|
||||||
EXPORT PORT0_5_Handler [WEAK]
|
EXPORT PORT0_5_Handler [WEAK]
|
||||||
EXPORT PORT0_6_Handler [WEAK]
|
EXPORT PORT0_6_Handler [WEAK]
|
||||||
EXPORT PORT0_7_Handler [WEAK]
|
EXPORT PORT0_7_Handler [WEAK]
|
||||||
EXPORT PORT0_8_Handler [WEAK]
|
|
||||||
EXPORT PORT0_9_Handler [WEAK]
|
|
||||||
EXPORT PORT0_10_Handler [WEAK]
|
|
||||||
EXPORT PORT0_11_Handler [WEAK]
|
|
||||||
EXPORT PORT0_12_Handler [WEAK]
|
|
||||||
EXPORT PORT0_13_Handler [WEAK]
|
|
||||||
EXPORT PORT0_14_Handler [WEAK]
|
|
||||||
EXPORT PORT0_15_Handler [WEAK]
|
|
||||||
|
|
||||||
UARTRX0_Handler
|
UARTRX0_Handler
|
||||||
UARTTX0_Handler
|
UARTTX0_Handler
|
||||||
|
@ -218,22 +217,22 @@ UARTOVF_Handler
|
||||||
ETHERNET_Handler
|
ETHERNET_Handler
|
||||||
I2S_Handler
|
I2S_Handler
|
||||||
TSC_Handler
|
TSC_Handler
|
||||||
PORT0_0_Handler
|
PORT2_COMB_Handler
|
||||||
PORT0_1_Handler
|
PORT3_COMB_Handler
|
||||||
PORT0_2_Handler
|
UARTRX3_Handler
|
||||||
PORT0_3_Handler
|
UARTTX3_Handler
|
||||||
PORT0_4_Handler
|
UARTRX4_Handler
|
||||||
PORT0_5_Handler
|
UARTTX4_Handler
|
||||||
PORT0_6_Handler
|
ADCSPI_Handler
|
||||||
PORT0_7_Handler
|
SHIELDSPI_Handler
|
||||||
PORT0_8_Handler
|
PORT0_0_Handler
|
||||||
PORT0_9_Handler
|
PORT0_1_Handler
|
||||||
PORT0_10_Handler
|
PORT0_2_Handler
|
||||||
PORT0_11_Handler
|
PORT0_3_Handler
|
||||||
PORT0_12_Handler
|
PORT0_4_Handler
|
||||||
PORT0_13_Handler
|
PORT0_5_Handler
|
||||||
PORT0_14_Handler
|
PORT0_6_Handler
|
||||||
PORT0_15_Handler
|
PORT0_7_Handler
|
||||||
B .
|
B .
|
||||||
|
|
||||||
ENDP
|
ENDP
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* A generic CMSIS include header, pulling in MPS2 specifics
|
* A generic CMSIS include header, pulling in MPS2 specifics
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
@ -41,13 +41,13 @@ void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {
|
||||||
// Space for dynamic vectors, initialised to allocate in R/W
|
// Space for dynamic vectors, initialised to allocate in R/W
|
||||||
static volatile uint32_t* vectors = (uint32_t*)NVIC_FLASH_VECTOR_ADDRESS;
|
static volatile uint32_t* vectors = (uint32_t*)NVIC_FLASH_VECTOR_ADDRESS;
|
||||||
|
|
||||||
// Set the vector
|
// Set the vector
|
||||||
vectors[IRQn + 16] = vector;
|
vectors[IRQn + 16] = vector;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t NVIC_GetVector(IRQn_Type IRQn) {
|
uint32_t NVIC_GetVector(IRQn_Type IRQn) {
|
||||||
// We can always read vectors at 0x0, as the addresses are remapped
|
// We can always read vectors at 0x0, as the addresses are remapped
|
||||||
uint32_t *vectors = (uint32_t*)NVIC_FLASH_VECTOR_ADDRESS;
|
uint32_t *vectors = (uint32_t*)NVIC_FLASH_VECTOR_ADDRESS;
|
||||||
|
|
||||||
// Return the vector
|
// Return the vector
|
||||||
return vectors[IRQn + 16];
|
return vectors[IRQn + 16];
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
#include "cmsis.h"
|
#include "cmsis.h"
|
||||||
|
|
||||||
#define NVIC_NUM_VECTORS (16 + 32)
|
#define NVIC_NUM_VECTORS (16 + 48)
|
||||||
#define NVIC_USER_IRQ_OFFSET 16
|
#define NVIC_USER_IRQ_OFFSET 16
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* Name: Device.h
|
* Name: Device.h
|
||||||
* Purpose: Include the correct device header file
|
* Purpose: Include the correct device header file
|
||||||
|
|
|
@ -1,41 +1,37 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file system_CMSDK_CM0.c
|
* @file system_CMSDK_CM0.c
|
||||||
* @brief CMSIS Device System Source File for
|
* @brief CMSIS Device System Source File for
|
||||||
* CMSDK_M0 Device
|
* CMSDK_M0 Device
|
||||||
* @version V3.02
|
|
||||||
* @date 15. November 2013
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -1,42 +1,38 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file system_CMSDK_CM0.h
|
* @file system_CMSDK_CM0.h
|
||||||
* @brief CMSIS Device Peripheral Access Layer Header File for
|
* @brief CMSIS Device Peripheral Access Layer Header File for
|
||||||
* CMSDK_CM0 Device
|
* CMSDK_CM0 Device
|
||||||
* @version V3.02
|
|
||||||
* @date 15. March 2013
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -1,41 +1,37 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file CMSDK_CM0plus.h
|
* @file CMSDK_CM0plus.h
|
||||||
* @brief CMSIS Core Peripheral Access Layer Header File for
|
* @brief CMSIS Core Peripheral Access Layer Header File for
|
||||||
* CMSDK_CM0plus Device
|
* CMSDK_CM0plus Device
|
||||||
* @version V3.02
|
|
||||||
* @date 15. November 2013
|
|
||||||
*
|
|
||||||
* @note configured for CM7 without FPU
|
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
@ -52,51 +48,48 @@
|
||||||
|
|
||||||
typedef enum IRQn
|
typedef enum IRQn
|
||||||
{
|
{
|
||||||
/* ------------------- Cortex-M0+ Processor Exceptions Numbers ------------------ */
|
/****** Cortex-M0 Processor Exceptions Numbers ***************************************************/
|
||||||
NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */
|
|
||||||
HardFault_IRQn = -13, /* 3 HardFault Interrupt */
|
|
||||||
|
|
||||||
|
/* ToDo: use this Cortex interrupt numbers if your device is a CORTEX-M0 device */
|
||||||
|
NonMaskableInt_IRQn = -14, /*!< 2 Cortex-M0 Non Maskable Interrupt */
|
||||||
|
HardFault_IRQn = -13, /*!< 3 Cortex-M0 Hard Fault Interrupt */
|
||||||
|
SVCall_IRQn = -5, /*!< 11 Cortex-M0 SV Call Interrupt */
|
||||||
|
PendSV_IRQn = -2, /*!< 14 Cortex-M0 Pend SV Interrupt */
|
||||||
|
SysTick_IRQn = -1, /*!< 15 Cortex-M0 System Tick Interrupt */
|
||||||
|
|
||||||
|
/* ---------------------- CMSDK_CM0 Specific Interrupt Numbers ------------------ */
|
||||||
SVCall_IRQn = -5, /* 11 SV Call Interrupt */
|
UARTRX0_IRQn = 0, /*!< UART 0 RX Interrupt */
|
||||||
|
UARTTX0_IRQn = 1, /*!< UART 0 TX Interrupt */
|
||||||
PendSV_IRQn = -2, /* 14 Pend SV Interrupt */
|
UARTRX1_IRQn = 2, /*!< UART 1 RX Interrupt */
|
||||||
SysTick_IRQn = -1, /* 15 System Tick Interrupt */
|
UARTTX1_IRQn = 3, /*!< UART 1 TX Interrupt */
|
||||||
|
UARTRX2_IRQn = 4, /*!< UART 2 RX Interrupt */
|
||||||
/* ---------------------- CMSDK_CM0plus Specific Interrupt Numbers -------------- */
|
UARTTX2_IRQn = 5, /*!< UART 2 TX Interrupt */
|
||||||
UARTRX0_IRQn = 0, /* UART 0 RX Interrupt */
|
PORT0_ALL_IRQn = 6, /*!< Port 0 combined Interrupt */
|
||||||
UARTTX0_IRQn = 1, /* UART 0 TX Interrupt */
|
PORT1_ALL_IRQn = 7, /*!< Port 1 combined Interrupt */
|
||||||
UARTRX1_IRQn = 2, /* UART 1 RX Interrupt */
|
TIMER0_IRQn = 8, /*!< TIMER 0 Interrupt */
|
||||||
UARTTX1_IRQn = 3, /* UART 1 TX Interrupt */
|
TIMER1_IRQn = 9, /*!< TIMER 1 Interrupt */
|
||||||
UARTRX2_IRQn = 4, /* UART 2 RX Interrupt */
|
DUALTIMER_IRQn = 10, /*!< Dual Timer Interrupt */
|
||||||
UARTTX2_IRQn = 5, /* UART 2 TX Interrupt */
|
SPI_IRQn = 11, /*!< SPI Interrupt */
|
||||||
PORT0_ALL_IRQn = 6, /* Port 1 combined Interrupt */
|
UARTOVF_IRQn = 12, /*!< UART 0,1,2 Overflow Interrupt */
|
||||||
PORT1_ALL_IRQn = 7, /* Port 1 combined Interrupt */
|
ETHERNET_IRQn = 13, /*!< Ethernet Interrupt */
|
||||||
TIMER0_IRQn = 8, /* TIMER 0 Interrupt */
|
I2S_IRQn = 14, /*!< I2S Interrupt */
|
||||||
TIMER1_IRQn = 9, /* TIMER 1 Interrupt */
|
TSC_IRQn = 15, /*!< Touch Screen Interrupt */
|
||||||
DUALTIMER_IRQn = 10, /* Dual Timer Interrupt */
|
PORT2_ALL_IRQn = 16, /*!< Port 2 combined Interrupt */
|
||||||
SPI_IRQn = 11, /* SPI Interrupt */
|
PORT3_ALL_IRQn = 17, /*!< Port 3 combined Interrupt */
|
||||||
UARTOVF_IRQn = 12, /* UART 0,1,2 Overflow Interrupt */
|
UARTRX3_IRQn = 18, /*!< UART 3 RX Interrupt */
|
||||||
ETHERNET_IRQn = 13, /* Ethernet Interrupt */
|
UARTTX3_IRQn = 19, /*!< UART 3 TX Interrupt */
|
||||||
I2S_IRQn = 14, /* I2S Interrupt */
|
UARTRX4_IRQn = 20, /*!< UART 4 RX Interrupt */
|
||||||
TSC_IRQn = 15, /* Touch Screen Interrupt */
|
UARTTX4_IRQn = 21, /*!< UART 4 TX Interrupt */
|
||||||
// DMA_IRQn = 15, /* PL230 DMA Done + Error Interrupt */
|
ADCSPI_IRQn = 22, /*!< SHIELD ADC SPI Interrupt */
|
||||||
PORT0_0_IRQn = 16, /* All P0 I/O pins used as irq source */
|
SHIELDSPI_IRQn = 23, /*!< SHIELD SPI Combined Interrupt */
|
||||||
PORT0_1_IRQn = 17, /* There are 16 pins in total */
|
PORT0_0_IRQn = 24, /*!< GPIO Port 0 pin 0 Interrupt */
|
||||||
PORT0_2_IRQn = 18,
|
PORT0_1_IRQn = 25, /*!< GPIO Port 0 pin 1 Interrupt */
|
||||||
PORT0_3_IRQn = 19,
|
PORT0_2_IRQn = 26, /*!< GPIO Port 0 pin 2 Interrupt */
|
||||||
PORT0_4_IRQn = 20,
|
PORT0_3_IRQn = 27, /*!< GPIO Port 0 pin 3 Interrupt */
|
||||||
PORT0_5_IRQn = 21,
|
PORT0_4_IRQn = 28, /*!< GPIO Port 0 pin 4 Interrupt */
|
||||||
PORT0_6_IRQn = 22,
|
PORT0_5_IRQn = 29, /*!< GPIO Port 0 pin 5 Interrupt */
|
||||||
PORT0_7_IRQn = 23,
|
PORT0_6_IRQn = 30, /*!< GPIO Port 0 pin 6 Interrupt */
|
||||||
PORT0_8_IRQn = 24,
|
PORT0_7_IRQn = 31, /*!< GPIO Port 0 pin 7 Interrupt */
|
||||||
PORT0_9_IRQn = 25,
|
|
||||||
PORT0_10_IRQn = 26,
|
|
||||||
PORT0_11_IRQn = 27,
|
|
||||||
PORT0_12_IRQn = 28,
|
|
||||||
PORT0_13_IRQn = 29,
|
|
||||||
PORT0_14_IRQn = 30,
|
|
||||||
PORT0_15_IRQn = 31,
|
|
||||||
} IRQn_Type;
|
} IRQn_Type;
|
||||||
|
|
||||||
|
|
||||||
|
@ -687,7 +680,9 @@ typedef struct
|
||||||
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
|
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
|
||||||
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
|
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
|
||||||
#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
|
#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
|
||||||
|
#define CMSDK_UART3_BASE (CMSDK_APB_BASE + 0x7000UL)
|
||||||
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
||||||
|
#define CMSDK_UART4_BASE (CMSDK_APB_BASE + 0x9000UL)
|
||||||
#define CMSDK_PL230_BASE (CMSDK_APB_BASE + 0xF000UL)
|
#define CMSDK_PL230_BASE (CMSDK_APB_BASE + 0xF000UL)
|
||||||
|
|
||||||
/* AHB peripherals */
|
/* AHB peripherals */
|
||||||
|
@ -705,6 +700,8 @@ typedef struct
|
||||||
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
||||||
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
||||||
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
||||||
|
#define CMSDK_UART3 ((CMSDK_UART_TypeDef *) CMSDK_UART3_BASE )
|
||||||
|
#define CMSDK_UART4 ((CMSDK_UART_TypeDef *) CMSDK_UART4_BASE )
|
||||||
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
||||||
#define CMSDK_TIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER1_BASE )
|
#define CMSDK_TIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER1_BASE )
|
||||||
#define CMSDK_DUALTIMER ((CMSDK_DUALTIMER_BOTH_TypeDef *) CMSDK_DUALTIMER_BASE )
|
#define CMSDK_DUALTIMER ((CMSDK_DUALTIMER_BOTH_TypeDef *) CMSDK_DUALTIMER_BASE )
|
||||||
|
|
|
@ -1,36 +1,36 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* File: smm_mps2.h
|
* File: smm_mps2.h
|
||||||
* Release: Version 1.0
|
* Release: Version 1.1
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#ifndef __SMM_MPS2_H
|
#ifndef __SMM_MPS2_H
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
/* FPGA System Register declaration */
|
/* FPGA System Register declaration */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
__IO uint32_t LED; // Offset: 0x000 (R/W) LED connections
|
__IO uint32_t LED; // Offset: 0x000 (R/W) LED connections
|
||||||
// [31:2] : Reserved
|
// [31:2] : Reserved
|
||||||
|
@ -65,11 +65,14 @@ typedef struct
|
||||||
// Bit[31:0] : reload value for prescale counter
|
// Bit[31:0] : reload value for prescale counter
|
||||||
__IO uint32_t PSCNTR; // Offset: 0x024 (R/W) 32-bit Prescale counter
|
__IO uint32_t PSCNTR; // Offset: 0x024 (R/W) 32-bit Prescale counter
|
||||||
// current value of the pre-scaler counter
|
// current value of the pre-scaler counter
|
||||||
// The Cycle Up Counter increment when the prescale down counter reach 0
|
// The Cycle Up Counter increment when the prescale down counter reach 0
|
||||||
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
||||||
uint32_t RESERVED4[9];
|
uint32_t RESERVED4[9];
|
||||||
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
||||||
// [31:7] : Reserved
|
// [31:10] : Reserved
|
||||||
|
// [9] : SHIELD_1_SPI_nCS
|
||||||
|
// [8] : SHIELD_0_SPI_nCS
|
||||||
|
// [7] : ADC_SPI_nCS
|
||||||
// [6] : CLCD_BL_CTRL
|
// [6] : CLCD_BL_CTRL
|
||||||
// [5] : CLCD_RD
|
// [5] : CLCD_RD
|
||||||
// [4] : CLCD_RS
|
// [4] : CLCD_RS
|
||||||
|
@ -93,12 +96,18 @@ typedef struct
|
||||||
#define CLCD_RD_Msk (1UL<<CLCD_RD_Pos)
|
#define CLCD_RD_Msk (1UL<<CLCD_RD_Pos)
|
||||||
#define CLCD_BL_Pos 6
|
#define CLCD_BL_Pos 6
|
||||||
#define CLCD_BL_Msk (1UL<<CLCD_BL_Pos)
|
#define CLCD_BL_Msk (1UL<<CLCD_BL_Pos)
|
||||||
|
#define ADC_nCS_Pos 7
|
||||||
|
#define ADC_nCS_Msk (1UL<<ADC_nCS_Pos)
|
||||||
|
#define SHIELD_0_nCS_Pos 8
|
||||||
|
#define SHIELD_0_nCS_Msk (1UL<<SHIELD_0_nCS_Pos)
|
||||||
|
#define SHIELD_1_nCS_Pos 9
|
||||||
|
#define SHIELD_1_nCS_Msk (1UL<<SHIELD_1_nCS_Pos)
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* SCC Register declaration */
|
/* SCC Register declaration */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
typedef struct //
|
typedef struct //
|
||||||
{
|
{
|
||||||
__IO uint32_t CFG_REG0; // Offset: 0x000 (R/W) Remaps block RAM to ZBT
|
__IO uint32_t CFG_REG0; // Offset: 0x000 (R/W) Remaps block RAM to ZBT
|
||||||
// [31:1] : Reserved
|
// [31:1] : Reserved
|
||||||
|
@ -308,10 +317,10 @@ typedef struct // Document DDI0194G_ssp_pl022_r1p3_trm.pdf
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
__O uint32_t CONTROLS; // Offset: 0x000 CONTROL Set Register ( /W)
|
__O uint32_t CONTROLS; // Offset: 0x000 CONTROL Set Register ( /W)
|
||||||
__I uint32_t CONTROL; // Offset: 0x000 CONTROL Status Register (R/ )
|
__I uint32_t CONTROL; // Offset: 0x000 CONTROL Status Register (R/ )
|
||||||
};
|
};
|
||||||
__O uint32_t CONTROLC; // Offset: 0x004 CONTROL Clear Register ( /W)
|
__O uint32_t CONTROLC; // Offset: 0x004 CONTROL Clear Register ( /W)
|
||||||
} MPS2_I2C_TypeDef;
|
} MPS2_I2C_TypeDef;
|
||||||
|
|
||||||
#define SDA 1 << 1
|
#define SDA 1 << 1
|
||||||
|
@ -346,7 +355,7 @@ typedef struct
|
||||||
// <4=> Undefined!
|
// <4=> Undefined!
|
||||||
// <5=> Undefined!
|
// <5=> Undefined!
|
||||||
// <6=> Undefined!
|
// <6=> Undefined!
|
||||||
// <7=> Undefined!
|
// <7=> Undefined!
|
||||||
// <o.14..12> RX Buffer Water Level
|
// <o.14..12> RX Buffer Water Level
|
||||||
// <0=> Undefined!
|
// <0=> Undefined!
|
||||||
// <1=> / IRQ triggers when less than 1 space available
|
// <1=> / IRQ triggers when less than 1 space available
|
||||||
|
@ -355,7 +364,7 @@ typedef struct
|
||||||
// <4=> / IRQ triggers when less than 4 space available
|
// <4=> / IRQ triggers when less than 4 space available
|
||||||
// <5=> Undefined!
|
// <5=> Undefined!
|
||||||
// <6=> Undefined!
|
// <6=> Undefined!
|
||||||
// <7=> Undefined!
|
// <7=> Undefined!
|
||||||
// <o.16> FIFO reset
|
// <o.16> FIFO reset
|
||||||
// <0=> Normal operation
|
// <0=> Normal operation
|
||||||
// <1=> FIFO reset
|
// <1=> FIFO reset
|
||||||
|
@ -363,12 +372,12 @@ typedef struct
|
||||||
// <0=> Normal operation
|
// <0=> Normal operation
|
||||||
// <1=> Assert audio Codec reset
|
// <1=> Assert audio Codec reset
|
||||||
/*!< Offset: 0x004 STATUS Register (R/ ) */
|
/*!< Offset: 0x004 STATUS Register (R/ ) */
|
||||||
__I uint32_t STATUS; // <h> STATUS </h>
|
__I uint32_t STATUS; // <h> STATUS </h>
|
||||||
// <o.0> TX Buffer alert
|
// <o.0> TX Buffer alert
|
||||||
// <0=> TX buffer don't need service yet
|
// <0=> TX buffer don't need service yet
|
||||||
// <1=> TX buffer need service
|
// <1=> TX buffer need service
|
||||||
// <o.1> RX Buffer alert
|
// <o.1> RX Buffer alert
|
||||||
// <0=> RX buffer don't need service yet
|
// <0=> RX buffer don't need service yet
|
||||||
// <1=> RX buffer need service
|
// <1=> RX buffer need service
|
||||||
// <o.2> TX Buffer Empty
|
// <o.2> TX Buffer Empty
|
||||||
// <0=> TX buffer have data
|
// <0=> TX buffer have data
|
||||||
|
@ -383,33 +392,33 @@ typedef struct
|
||||||
// <0=> RX buffer not full
|
// <0=> RX buffer not full
|
||||||
// <1=> RX buffer full
|
// <1=> RX buffer full
|
||||||
union {
|
union {
|
||||||
/*!< Offset: 0x008 Error Status Register (R/ ) */
|
/*!< Offset: 0x008 Error Status Register (R/ ) */
|
||||||
__I uint32_t ERROR; // <h> ERROR </h>
|
__I uint32_t ERROR; // <h> ERROR </h>
|
||||||
// <o.0> TX error
|
// <o.0> TX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> TX overrun/underrun
|
// <1=> TX overrun/underrun
|
||||||
// <o.1> RX error
|
// <o.1> RX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> RX overrun/underrun
|
// <1=> RX overrun/underrun
|
||||||
/*!< Offset: 0x008 Error Clear Register ( /W) */
|
/*!< Offset: 0x008 Error Clear Register ( /W) */
|
||||||
__O uint32_t ERRORCLR; // <h> ERRORCLR </h>
|
__O uint32_t ERRORCLR; // <h> ERRORCLR </h>
|
||||||
// <o.0> TX error
|
// <o.0> TX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> Clear TX error
|
// <1=> Clear TX error
|
||||||
// <o.1> RX error
|
// <o.1> RX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> Clear RX error
|
// <1=> Clear RX error
|
||||||
};
|
};
|
||||||
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
||||||
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
||||||
// <o.9..0> TX error (default 0x80)
|
// <o.9..0> TX error (default 0x80)
|
||||||
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
||||||
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
||||||
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
uint32_t RESERVED1[186];
|
uint32_t RESERVED1[186];
|
||||||
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
||||||
|
@ -556,7 +565,12 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define MPS2_TSC_I2C_BASE (0x40022000ul) /* Touch Screen I2C Base Address */
|
#define MPS2_TSC_I2C_BASE (0x40022000ul) /* Touch Screen I2C Base Address */
|
||||||
#define MPS2_AAIC_I2C_BASE (0x40023000ul) /* Audio Interface I2C Base Address */
|
#define MPS2_AAIC_I2C_BASE (0x40023000ul) /* Audio Interface I2C Base Address */
|
||||||
#define MPS2_AAIC_I2S_BASE (0x40024000ul) /* Audio Interface I2S Base Address */
|
#define MPS2_AAIC_I2S_BASE (0x40024000ul) /* Audio Interface I2S Base Address */
|
||||||
|
#define MPS2_SSP2_BASE (0x40025000ul) /* adc SSP Base Address */
|
||||||
|
#define MPS2_SSP3_BASE (0x40026000ul) /* Shield 0 SSP Base Address */
|
||||||
|
#define MPS2_SSP4_BASE (0x40027000ul) /* Shield 1 SSP Base Address */
|
||||||
#define MPS2_FPGAIO_BASE (0x40028000ul) /* FPGAIO Base Address */
|
#define MPS2_FPGAIO_BASE (0x40028000ul) /* FPGAIO Base Address */
|
||||||
|
#define MPS2_SHIELD0_I2C_BASE (0x40029000ul) /* Shield 0 I2C Base Address */
|
||||||
|
#define MPS2_SHIELD1_I2C_BASE (0x4002A000ul) /* Shield 1 I2C Base Address */
|
||||||
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
||||||
|
|
||||||
#ifdef CORTEX_M7
|
#ifdef CORTEX_M7
|
||||||
|
@ -565,8 +579,8 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define SMSC9220_BASE (0x40200000ul) /* Ethernet SMSC9220 Base Address */
|
#define SMSC9220_BASE (0x40200000ul) /* Ethernet SMSC9220 Base Address */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
|
||||||
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
||||||
|
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* Peripheral declaration */
|
/* Peripheral declaration */
|
||||||
|
@ -575,11 +589,16 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define SMSC9220 ((SMSC9220_TypeDef *) SMSC9220_BASE )
|
#define SMSC9220 ((SMSC9220_TypeDef *) SMSC9220_BASE )
|
||||||
#define MPS2_TS_I2C ((MPS2_I2C_TypeDef *) MPS2_TSC_I2C_BASE )
|
#define MPS2_TS_I2C ((MPS2_I2C_TypeDef *) MPS2_TSC_I2C_BASE )
|
||||||
#define MPS2_AAIC_I2C ((MPS2_I2C_TypeDef *) MPS2_AAIC_I2C_BASE )
|
#define MPS2_AAIC_I2C ((MPS2_I2C_TypeDef *) MPS2_AAIC_I2C_BASE )
|
||||||
|
#define MPS2_SHIELD0_I2C ((MPS2_I2C_TypeDef *) MPS2_SHIELD0_I2C_BASE )
|
||||||
|
#define MPS2_SHIELD1_I2C ((MPS2_I2C_TypeDef *) MPS2_SHIELD1_I2C_BASE )
|
||||||
#define MPS2_AAIC_I2S ((MPS2_I2S_TypeDef *) MPS2_AAIC_I2S_BASE )
|
#define MPS2_AAIC_I2S ((MPS2_I2S_TypeDef *) MPS2_AAIC_I2S_BASE )
|
||||||
#define MPS2_FPGAIO ((MPS2_FPGAIO_TypeDef *) MPS2_FPGAIO_BASE )
|
#define MPS2_FPGAIO ((MPS2_FPGAIO_TypeDef *) MPS2_FPGAIO_BASE )
|
||||||
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
||||||
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
||||||
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
||||||
|
#define MPS2_SSP2 ((MPS2_SSP_TypeDef *) MPS2_SSP2_BASE )
|
||||||
|
#define MPS2_SSP3 ((MPS2_SSP_TypeDef *) MPS2_SSP3_BASE )
|
||||||
|
#define MPS2_SSP4 ((MPS2_SSP_TypeDef *) MPS2_SSP4_BASE )
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* General Function Definitions */
|
/* General Function Definitions */
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
;* MPS2 CMSIS Library
|
;* MPS2 CMSIS Library
|
||||||
;*
|
;*
|
||||||
;* Copyright (c) 2006-2015 ARM Limited
|
;* Copyright (c) 2006-2016 ARM Limited
|
||||||
;* All rights reserved.
|
;* All rights reserved.
|
||||||
;*
|
;*
|
||||||
;* Redistribution and use in source and binary forms, with or without
|
;* Redistribution and use in source and binary forms, with or without
|
||||||
;* modification, are permitted provided that the following conditions are met:
|
;* modification, are permitted provided that the following conditions are met:
|
||||||
;*
|
;*
|
||||||
;* 1. Redistributions of source code must retain the above copyright notice,
|
;* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
;* this list of conditions and the following disclaimer.
|
;* this list of conditions and the following disclaimer.
|
||||||
;*
|
;*
|
||||||
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
;* this list of conditions and the following disclaimer in the documentation
|
;* this list of conditions and the following disclaimer in the documentation
|
||||||
;* and/or other materials provided with the distribution.
|
;* and/or other materials provided with the distribution.
|
||||||
;*
|
;*
|
||||||
;* 3. Neither the name of the copyright holder nor the names of its contributors
|
;* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
;* may be used to endorse or promote products derived from this software without
|
;* may be used to endorse or promote products derived from this software without
|
||||||
;* specific prior written permission.
|
;* specific prior written permission.
|
||||||
;*
|
;*
|
||||||
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
;* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
;* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
;* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
;* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
;* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
;* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
;* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
;* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
;* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
;* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
;* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
;* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
;* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
;* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
;* POSSIBILITY OF SUCH DAMAGE.
|
;* POSSIBILITY OF SUCH DAMAGE.
|
||||||
;*
|
;*
|
||||||
; *************************************************************
|
; *************************************************************
|
||||||
; *** Scatter-Loading Description File ***
|
; *** Scatter-Loading Description File ***
|
||||||
|
@ -39,8 +39,8 @@ LR_IROM1 0x00000000 0x00400000 { ; load region size_region
|
||||||
*(InRoot$$Sections)
|
*(InRoot$$Sections)
|
||||||
.ANY (+RO)
|
.ANY (+RO)
|
||||||
}
|
}
|
||||||
; Total: 48 vectors = 192 bytes (0x0C0) to be reserved in RAM
|
; Total: 64 vectors = 256 bytes (0x100) to be reserved in RAM
|
||||||
RW_IRAM1 (0x20000000+0xC0) (0x400000-0xC0) { ; RW data
|
RW_IRAM1 (0x20000000+0x100) (0x400000-0x100) { ; RW data
|
||||||
.ANY (+RW +ZI)
|
.ANY (+RW +ZI)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,43 +1,42 @@
|
||||||
;/**************************************************************************//**
|
; MPS2 CMSIS Library
|
||||||
; * @file startup_CMSDK_CM0.s
|
;
|
||||||
; * @brief CMSIS Core Device Startup File for
|
; Copyright (c) 2006-2016 ARM Limited
|
||||||
; * CMSDK_CM0 Device
|
; All rights reserved.
|
||||||
; * @version V3.02
|
;
|
||||||
; * @date 15. November 2013
|
; Redistribution and use in source and binary forms, with or without
|
||||||
; *
|
; modification, are permitted provided that the following conditions are met:
|
||||||
; * @note
|
;
|
||||||
; * Copyright (C) 2014 ARM Limited. All rights reserved.
|
; 1. Redistributions of source code must retain the above copyright notice,
|
||||||
; *
|
; this list of conditions and the following disclaimer.
|
||||||
; ******************************************************************************/
|
;
|
||||||
;/* Copyright (c) 2011 - 2013 ARM LIMITED
|
; 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
; this list of conditions and the following disclaimer in the documentation
|
||||||
|
; and/or other materials provided with the distribution.
|
||||||
|
;
|
||||||
|
; 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
; may be used to endorse or promote products derived from this software without
|
||||||
|
; specific prior written permission.
|
||||||
|
;
|
||||||
|
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
; ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
; POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
;******************************************************************************
|
||||||
|
; @file startup_CMSDK_CM0P.s
|
||||||
|
; @brief CMSIS Core Device Startup File for
|
||||||
|
; CMSDK_CM0P Device
|
||||||
|
;
|
||||||
|
;******************************************************************************
|
||||||
|
;
|
||||||
|
;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
||||||
;
|
;
|
||||||
; All rights reserved.
|
|
||||||
; Redistribution and use in source and binary forms, with or without
|
|
||||||
; modification, are permitted provided that the following conditions are met:
|
|
||||||
; - Redistributions of source code must retain the above copyright
|
|
||||||
; notice, this list of conditions and the following disclaimer.
|
|
||||||
; - Redistributions in binary form must reproduce the above copyright
|
|
||||||
; notice, this list of conditions and the following disclaimer in the
|
|
||||||
; documentation and/or other materials provided with the distribution.
|
|
||||||
; - Neither the name of ARM nor the names of its contributors may be used
|
|
||||||
; to endorse or promote products derived from this software without
|
|
||||||
; specific prior written permission.
|
|
||||||
; *
|
|
||||||
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
; ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
|
|
||||||
; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
; POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
; ---------------------------------------------------------------------------*/
|
|
||||||
;/*
|
|
||||||
;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
|
||||||
;*/
|
|
||||||
|
|
||||||
|
|
||||||
; <h> Stack Configuration
|
; <h> Stack Configuration
|
||||||
|
@ -108,22 +107,22 @@ __Vectors DCD __initial_sp ; Top of Stack
|
||||||
DCD ETHERNET_Handler ; Ethernet Overflow Handler
|
DCD ETHERNET_Handler ; Ethernet Overflow Handler
|
||||||
DCD I2S_Handler ; I2S Handler
|
DCD I2S_Handler ; I2S Handler
|
||||||
DCD TSC_Handler ; Touch Screen handler
|
DCD TSC_Handler ; Touch Screen handler
|
||||||
DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
|
DCD PORT2_COMB_Handler ; GPIO Port 2 Combined Handler
|
||||||
DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
|
DCD PORT3_COMB_Handler ; GPIO Port 3 Combined Handler
|
||||||
DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
|
DCD UARTRX3_Handler ; UART 3 RX Handler
|
||||||
DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
|
DCD UARTTX3_Handler ; UART 3 TX Handler
|
||||||
DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
|
DCD UARTRX4_Handler ; UART 4 RX Handler
|
||||||
DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
|
DCD UARTTX4_Handler ; UART 4 TX Handler
|
||||||
DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
|
DCD ADCSPI_Handler ; SHIELD ADC SPI exceptions Handler
|
||||||
DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
|
DCD SHIELDSPI_Handler ; SHIELD SPI exceptions Handler
|
||||||
DCD PORT0_8_Handler ; GPIO Port 0 pin 8 Handler
|
DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
|
||||||
DCD PORT0_9_Handler ; GPIO Port 0 pin 9 Handler
|
DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
|
||||||
DCD PORT0_10_Handler ; GPIO Port 0 pin 10 Handler
|
DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
|
||||||
DCD PORT0_11_Handler ; GPIO Port 0 pin 11 Handler
|
DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
|
||||||
DCD PORT0_12_Handler ; GPIO Port 0 pin 12 Handler
|
DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
|
||||||
DCD PORT0_13_Handler ; GPIO Port 0 pin 13 Handler
|
DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
|
||||||
DCD PORT0_14_Handler ; GPIO Port 0 pin 14 Handler
|
DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
|
||||||
DCD PORT0_15_Handler ; GPIO Port 0 pin 15 Handler
|
DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
|
||||||
__Vectors_End
|
__Vectors_End
|
||||||
|
|
||||||
__Vectors_Size EQU __Vectors_End - __Vectors
|
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||||
|
@ -164,9 +163,9 @@ PendSV_Handler PROC
|
||||||
B .
|
B .
|
||||||
ENDP
|
ENDP
|
||||||
SysTick_Handler PROC
|
SysTick_Handler PROC
|
||||||
EXPORT SysTick_Handler [WEAK]
|
EXPORT SysTick_Handler [WEAK]
|
||||||
B .
|
B .
|
||||||
ENDP
|
ENDP
|
||||||
|
|
||||||
Default_Handler PROC
|
Default_Handler PROC
|
||||||
EXPORT UARTRX0_Handler [WEAK]
|
EXPORT UARTRX0_Handler [WEAK]
|
||||||
|
@ -185,6 +184,14 @@ Default_Handler PROC
|
||||||
EXPORT ETHERNET_Handler [WEAK]
|
EXPORT ETHERNET_Handler [WEAK]
|
||||||
EXPORT I2S_Handler [WEAK]
|
EXPORT I2S_Handler [WEAK]
|
||||||
EXPORT TSC_Handler [WEAK]
|
EXPORT TSC_Handler [WEAK]
|
||||||
|
EXPORT PORT2_COMB_Handler [WEAK]
|
||||||
|
EXPORT PORT3_COMB_Handler [WEAK]
|
||||||
|
EXPORT UARTRX3_Handler [WEAK]
|
||||||
|
EXPORT UARTTX3_Handler [WEAK]
|
||||||
|
EXPORT UARTRX4_Handler [WEAK]
|
||||||
|
EXPORT UARTTX4_Handler [WEAK]
|
||||||
|
EXPORT ADCSPI_Handler [WEAK]
|
||||||
|
EXPORT SHIELDSPI_Handler [WEAK]
|
||||||
EXPORT PORT0_0_Handler [WEAK]
|
EXPORT PORT0_0_Handler [WEAK]
|
||||||
EXPORT PORT0_1_Handler [WEAK]
|
EXPORT PORT0_1_Handler [WEAK]
|
||||||
EXPORT PORT0_2_Handler [WEAK]
|
EXPORT PORT0_2_Handler [WEAK]
|
||||||
|
@ -193,14 +200,6 @@ Default_Handler PROC
|
||||||
EXPORT PORT0_5_Handler [WEAK]
|
EXPORT PORT0_5_Handler [WEAK]
|
||||||
EXPORT PORT0_6_Handler [WEAK]
|
EXPORT PORT0_6_Handler [WEAK]
|
||||||
EXPORT PORT0_7_Handler [WEAK]
|
EXPORT PORT0_7_Handler [WEAK]
|
||||||
EXPORT PORT0_8_Handler [WEAK]
|
|
||||||
EXPORT PORT0_9_Handler [WEAK]
|
|
||||||
EXPORT PORT0_10_Handler [WEAK]
|
|
||||||
EXPORT PORT0_11_Handler [WEAK]
|
|
||||||
EXPORT PORT0_12_Handler [WEAK]
|
|
||||||
EXPORT PORT0_13_Handler [WEAK]
|
|
||||||
EXPORT PORT0_14_Handler [WEAK]
|
|
||||||
EXPORT PORT0_15_Handler [WEAK]
|
|
||||||
|
|
||||||
UARTRX0_Handler
|
UARTRX0_Handler
|
||||||
UARTTX0_Handler
|
UARTTX0_Handler
|
||||||
|
@ -218,22 +217,22 @@ UARTOVF_Handler
|
||||||
ETHERNET_Handler
|
ETHERNET_Handler
|
||||||
I2S_Handler
|
I2S_Handler
|
||||||
TSC_Handler
|
TSC_Handler
|
||||||
PORT0_0_Handler
|
PORT2_COMB_Handler
|
||||||
PORT0_1_Handler
|
PORT3_COMB_Handler
|
||||||
PORT0_2_Handler
|
UARTRX3_Handler
|
||||||
PORT0_3_Handler
|
UARTTX3_Handler
|
||||||
PORT0_4_Handler
|
UARTRX4_Handler
|
||||||
PORT0_5_Handler
|
UARTTX4_Handler
|
||||||
PORT0_6_Handler
|
ADCSPI_Handler
|
||||||
PORT0_7_Handler
|
SHIELDSPI_Handler
|
||||||
PORT0_8_Handler
|
PORT0_0_Handler
|
||||||
PORT0_9_Handler
|
PORT0_1_Handler
|
||||||
PORT0_10_Handler
|
PORT0_2_Handler
|
||||||
PORT0_11_Handler
|
PORT0_3_Handler
|
||||||
PORT0_12_Handler
|
PORT0_4_Handler
|
||||||
PORT0_13_Handler
|
PORT0_5_Handler
|
||||||
PORT0_14_Handler
|
PORT0_6_Handler
|
||||||
PORT0_15_Handler
|
PORT0_7_Handler
|
||||||
B .
|
B .
|
||||||
|
|
||||||
ENDP
|
ENDP
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* A generic CMSIS include header, pulling in MPS2 specifics
|
* A generic CMSIS include header, pulling in MPS2 specifics
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
@ -41,13 +41,13 @@ void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {
|
||||||
// Space for dynamic vectors, initialised to allocate in R/W
|
// Space for dynamic vectors, initialised to allocate in R/W
|
||||||
static volatile uint32_t* vectors = (uint32_t*)NVIC_FLASH_VECTOR_ADDRESS;
|
static volatile uint32_t* vectors = (uint32_t*)NVIC_FLASH_VECTOR_ADDRESS;
|
||||||
|
|
||||||
// Set the vector
|
// Set the vector
|
||||||
vectors[IRQn + 16] = vector;
|
vectors[IRQn + 16] = vector;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t NVIC_GetVector(IRQn_Type IRQn) {
|
uint32_t NVIC_GetVector(IRQn_Type IRQn) {
|
||||||
// We can always read vectors at 0x0, as the addresses are remapped
|
// We can always read vectors at 0x0, as the addresses are remapped
|
||||||
uint32_t *vectors = (uint32_t*)NVIC_FLASH_VECTOR_ADDRESS;
|
uint32_t *vectors = (uint32_t*)NVIC_FLASH_VECTOR_ADDRESS;
|
||||||
|
|
||||||
// Return the vector
|
// Return the vector
|
||||||
return vectors[IRQn + 16];
|
return vectors[IRQn + 16];
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
#include "cmsis.h"
|
#include "cmsis.h"
|
||||||
|
|
||||||
#define NVIC_NUM_VECTORS (16 + 32)
|
#define NVIC_NUM_VECTORS (16 + 48)
|
||||||
#define NVIC_USER_IRQ_OFFSET 16
|
#define NVIC_USER_IRQ_OFFSET 16
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* Name: Device.h
|
* Name: Device.h
|
||||||
* Purpose: Include the correct device header file
|
* Purpose: Include the correct device header file
|
||||||
|
|
|
@ -1,46 +1,41 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file system_CMSDK_CM0plus.c
|
* @file system_CMSDK_CM0plus.c
|
||||||
* @brief CMSIS Device System Source File for
|
* @brief CMSIS Device System Source File for
|
||||||
* CMSDK_M0 Device
|
* CMSDK_M0 Device
|
||||||
* @version V3.02
|
|
||||||
* @date 15. November 2013
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "CMSDK_CM0plus.h"
|
#include "CMSDK_CM0plus.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
/*----------------------------------------------------------------------------
|
||||||
|
|
|
@ -1,42 +1,38 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file system_CMSDK_CM0plus.h
|
* @file system_CMSDK_CM0plus.h
|
||||||
* @brief CMSIS Device Peripheral Access Layer Header File for
|
* @brief CMSIS Device Peripheral Access Layer Header File for
|
||||||
* CMSDK_CM0plus Device
|
* CMSDK_CM0plus Device
|
||||||
* @version V3.02
|
|
||||||
* @date 15. March 2013
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -1,41 +1,37 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file CMSDK_CM3.h
|
* @file CMSDK_CM3.h
|
||||||
* @brief CMSIS Core Peripheral Access Layer Header File for
|
* @brief CMSIS Core Peripheral Access Layer Header File for
|
||||||
* CMSDK_CM3 Device
|
* CMSDK_CM3 Device
|
||||||
* @version V3.02
|
|
||||||
* @date 15. November 2013
|
|
||||||
*
|
|
||||||
* @note configured for CM7 without FPU
|
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
@ -63,40 +59,39 @@ typedef enum IRQn
|
||||||
PendSV_IRQn = -2, /* 14 Pend SV Interrupt */
|
PendSV_IRQn = -2, /* 14 Pend SV Interrupt */
|
||||||
SysTick_IRQn = -1, /* 15 System Tick Interrupt */
|
SysTick_IRQn = -1, /* 15 System Tick Interrupt */
|
||||||
|
|
||||||
/* ---------------------- CMSDK_CM3 Specific Interrupt Numbers ------------------ */
|
/****** CMSDK Specific Interrupt Numbers *********************************************************/
|
||||||
UARTRX0_IRQn = 0, /* UART 0 RX Interrupt */
|
UARTRX0_IRQn = 0, /*!< UART 0 RX Interrupt */
|
||||||
UARTTX0_IRQn = 1, /* UART 0 TX Interrupt */
|
UARTTX0_IRQn = 1, /*!< UART 0 TX Interrupt */
|
||||||
UARTRX1_IRQn = 2, /* UART 1 RX Interrupt */
|
UARTRX1_IRQn = 2, /*!< UART 1 RX Interrupt */
|
||||||
UARTTX1_IRQn = 3, /* UART 1 TX Interrupt */
|
UARTTX1_IRQn = 3, /*!< UART 1 TX Interrupt */
|
||||||
UARTRX2_IRQn = 4, /* UART 2 RX Interrupt */
|
UARTRX2_IRQn = 4, /*!< UART 2 RX Interrupt */
|
||||||
UARTTX2_IRQn = 5, /* UART 2 TX Interrupt */
|
UARTTX2_IRQn = 5, /*!< UART 2 TX Interrupt */
|
||||||
PORT0_ALL_IRQn = 6, /* Port 1 combined Interrupt */
|
PORT0_ALL_IRQn = 6, /*!< Port 0 combined Interrupt */
|
||||||
PORT1_ALL_IRQn = 7, /* Port 1 combined Interrupt */
|
PORT1_ALL_IRQn = 7, /*!< Port 1 combined Interrupt */
|
||||||
TIMER0_IRQn = 8, /* TIMER 0 Interrupt */
|
TIMER0_IRQn = 8, /*!< TIMER 0 Interrupt */
|
||||||
TIMER1_IRQn = 9, /* TIMER 1 Interrupt */
|
TIMER1_IRQn = 9, /*!< TIMER 1 Interrupt */
|
||||||
DUALTIMER_IRQn = 10, /* Dual Timer Interrupt */
|
DUALTIMER_IRQn = 10, /*!< Dual Timer Interrupt */
|
||||||
SPI_IRQn = 11, /* SPI Interrupt */
|
SPI_IRQn = 11, /*!< SPI Interrupt */
|
||||||
UARTOVF_IRQn = 12, /* UART 0,1,2 Overflow Interrupt */
|
UARTOVF_IRQn = 12, /*!< UART 0,1,2 Overflow Interrupt */
|
||||||
ETHERNET_IRQn = 13, /* Ethernet Interrupt */
|
ETHERNET_IRQn = 13, /*!< Ethernet Interrupt */
|
||||||
I2S_IRQn = 14, /* I2S Interrupt */
|
I2S_IRQn = 14, /*!< I2S Interrupt */
|
||||||
TSC_IRQn = 15, /* Touch Screen Interrupt */
|
TSC_IRQn = 15, /*!< Touch Screen Interrupt */
|
||||||
// DMA_IRQn = 15, /* PL230 DMA Done + Error Interrupt */
|
PORT2_ALL_IRQn = 16, /*!< Port 2 combined Interrupt */
|
||||||
PORT0_0_IRQn = 16, /* All P0 I/O pins used as irq source */
|
PORT3_ALL_IRQn = 17, /*!< Port 3 combined Interrupt */
|
||||||
PORT0_1_IRQn = 17, /* There are 16 pins in total */
|
UARTRX3_IRQn = 18, /*!< UART 3 RX Interrupt */
|
||||||
PORT0_2_IRQn = 18,
|
UARTTX3_IRQn = 19, /*!< UART 3 TX Interrupt */
|
||||||
PORT0_3_IRQn = 19,
|
UARTRX4_IRQn = 20, /*!< UART 4 RX Interrupt */
|
||||||
PORT0_4_IRQn = 20,
|
UARTTX4_IRQn = 21, /*!< UART 4 TX Interrupt */
|
||||||
PORT0_5_IRQn = 21,
|
ADCSPI_IRQn = 22, /*!< SHIELD ADC SPI Interrupt */
|
||||||
PORT0_6_IRQn = 22,
|
SHIELDSPI_IRQn = 23, /*!< SHIELD SPI Combined Interrupt */
|
||||||
PORT0_7_IRQn = 23,
|
PORT0_0_IRQn = 24, /*!< GPIO Port 0 pin 0 Interrupt */
|
||||||
PORT0_8_IRQn = 24,
|
PORT0_1_IRQn = 25, /*!< GPIO Port 0 pin 1 Interrupt */
|
||||||
PORT0_9_IRQn = 25,
|
PORT0_2_IRQn = 26, /*!< GPIO Port 0 pin 2 Interrupt */
|
||||||
PORT0_10_IRQn = 26,
|
PORT0_3_IRQn = 27, /*!< GPIO Port 0 pin 3 Interrupt */
|
||||||
PORT0_11_IRQn = 27,
|
PORT0_4_IRQn = 28, /*!< GPIO Port 0 pin 4 Interrupt */
|
||||||
PORT0_12_IRQn = 28,
|
PORT0_5_IRQn = 29, /*!< GPIO Port 0 pin 5 Interrupt */
|
||||||
PORT0_13_IRQn = 29,
|
PORT0_6_IRQn = 30, /*!< GPIO Port 0 pin 6 Interrupt */
|
||||||
PORT0_14_IRQn = 30,
|
PORT0_7_IRQn = 31, /*!< GPIO Port 0 pin 7 Interrupt */
|
||||||
PORT0_15_IRQn = 31,
|
|
||||||
} IRQn_Type;
|
} IRQn_Type;
|
||||||
|
|
||||||
|
|
||||||
|
@ -686,7 +681,9 @@ typedef struct
|
||||||
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
|
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
|
||||||
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
|
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
|
||||||
#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
|
#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
|
||||||
|
#define CMSDK_UART3_BASE (CMSDK_APB_BASE + 0x7000UL)
|
||||||
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
||||||
|
#define CMSDK_UART4_BASE (CMSDK_APB_BASE + 0x9000UL)
|
||||||
#define CMSDK_PL230_BASE (CMSDK_APB_BASE + 0xF000UL)
|
#define CMSDK_PL230_BASE (CMSDK_APB_BASE + 0xF000UL)
|
||||||
|
|
||||||
/* AHB peripherals */
|
/* AHB peripherals */
|
||||||
|
@ -704,6 +701,8 @@ typedef struct
|
||||||
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
||||||
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
||||||
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
||||||
|
#define CMSDK_UART3 ((CMSDK_UART_TypeDef *) CMSDK_UART3_BASE )
|
||||||
|
#define CMSDK_UART4 ((CMSDK_UART_TypeDef *) CMSDK_UART4_BASE )
|
||||||
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
||||||
#define CMSDK_TIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER1_BASE )
|
#define CMSDK_TIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER1_BASE )
|
||||||
#define CMSDK_DUALTIMER ((CMSDK_DUALTIMER_BOTH_TypeDef *) CMSDK_DUALTIMER_BASE )
|
#define CMSDK_DUALTIMER ((CMSDK_DUALTIMER_BOTH_TypeDef *) CMSDK_DUALTIMER_BASE )
|
||||||
|
|
|
@ -1,36 +1,36 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* File: smm_mps2.h
|
* File: smm_mps2.h
|
||||||
* Release: Version 1.0
|
* Release: Version 1.1
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#ifndef __SMM_MPS2_H
|
#ifndef __SMM_MPS2_H
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
/* FPGA System Register declaration */
|
/* FPGA System Register declaration */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
__IO uint32_t LED; // Offset: 0x000 (R/W) LED connections
|
__IO uint32_t LED; // Offset: 0x000 (R/W) LED connections
|
||||||
// [31:2] : Reserved
|
// [31:2] : Reserved
|
||||||
|
@ -65,11 +65,14 @@ typedef struct
|
||||||
// Bit[31:0] : reload value for prescale counter
|
// Bit[31:0] : reload value for prescale counter
|
||||||
__IO uint32_t PSCNTR; // Offset: 0x024 (R/W) 32-bit Prescale counter
|
__IO uint32_t PSCNTR; // Offset: 0x024 (R/W) 32-bit Prescale counter
|
||||||
// current value of the pre-scaler counter
|
// current value of the pre-scaler counter
|
||||||
// The Cycle Up Counter increment when the prescale down counter reach 0
|
// The Cycle Up Counter increment when the prescale down counter reach 0
|
||||||
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
||||||
uint32_t RESERVED4[9];
|
uint32_t RESERVED4[9];
|
||||||
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
||||||
// [31:7] : Reserved
|
// [31:10] : Reserved
|
||||||
|
// [9] : SHIELD_1_SPI_nCS
|
||||||
|
// [8] : SHIELD_0_SPI_nCS
|
||||||
|
// [7] : ADC_SPI_nCS
|
||||||
// [6] : CLCD_BL_CTRL
|
// [6] : CLCD_BL_CTRL
|
||||||
// [5] : CLCD_RD
|
// [5] : CLCD_RD
|
||||||
// [4] : CLCD_RS
|
// [4] : CLCD_RS
|
||||||
|
@ -93,12 +96,18 @@ typedef struct
|
||||||
#define CLCD_RD_Msk (1UL<<CLCD_RD_Pos)
|
#define CLCD_RD_Msk (1UL<<CLCD_RD_Pos)
|
||||||
#define CLCD_BL_Pos 6
|
#define CLCD_BL_Pos 6
|
||||||
#define CLCD_BL_Msk (1UL<<CLCD_BL_Pos)
|
#define CLCD_BL_Msk (1UL<<CLCD_BL_Pos)
|
||||||
|
#define ADC_nCS_Pos 7
|
||||||
|
#define ADC_nCS_Msk (1UL<<ADC_nCS_Pos)
|
||||||
|
#define SHIELD_0_nCS_Pos 8
|
||||||
|
#define SHIELD_0_nCS_Msk (1UL<<SHIELD_0_nCS_Pos)
|
||||||
|
#define SHIELD_1_nCS_Pos 9
|
||||||
|
#define SHIELD_1_nCS_Msk (1UL<<SHIELD_1_nCS_Pos)
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* SCC Register declaration */
|
/* SCC Register declaration */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
typedef struct //
|
typedef struct //
|
||||||
{
|
{
|
||||||
__IO uint32_t CFG_REG0; // Offset: 0x000 (R/W) Remaps block RAM to ZBT
|
__IO uint32_t CFG_REG0; // Offset: 0x000 (R/W) Remaps block RAM to ZBT
|
||||||
// [31:1] : Reserved
|
// [31:1] : Reserved
|
||||||
|
@ -308,10 +317,10 @@ typedef struct // Document DDI0194G_ssp_pl022_r1p3_trm.pdf
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
__O uint32_t CONTROLS; // Offset: 0x000 CONTROL Set Register ( /W)
|
__O uint32_t CONTROLS; // Offset: 0x000 CONTROL Set Register ( /W)
|
||||||
__I uint32_t CONTROL; // Offset: 0x000 CONTROL Status Register (R/ )
|
__I uint32_t CONTROL; // Offset: 0x000 CONTROL Status Register (R/ )
|
||||||
};
|
};
|
||||||
__O uint32_t CONTROLC; // Offset: 0x004 CONTROL Clear Register ( /W)
|
__O uint32_t CONTROLC; // Offset: 0x004 CONTROL Clear Register ( /W)
|
||||||
} MPS2_I2C_TypeDef;
|
} MPS2_I2C_TypeDef;
|
||||||
|
|
||||||
#define SDA 1 << 1
|
#define SDA 1 << 1
|
||||||
|
@ -346,7 +355,7 @@ typedef struct
|
||||||
// <4=> Undefined!
|
// <4=> Undefined!
|
||||||
// <5=> Undefined!
|
// <5=> Undefined!
|
||||||
// <6=> Undefined!
|
// <6=> Undefined!
|
||||||
// <7=> Undefined!
|
// <7=> Undefined!
|
||||||
// <o.14..12> RX Buffer Water Level
|
// <o.14..12> RX Buffer Water Level
|
||||||
// <0=> Undefined!
|
// <0=> Undefined!
|
||||||
// <1=> / IRQ triggers when less than 1 space available
|
// <1=> / IRQ triggers when less than 1 space available
|
||||||
|
@ -355,7 +364,7 @@ typedef struct
|
||||||
// <4=> / IRQ triggers when less than 4 space available
|
// <4=> / IRQ triggers when less than 4 space available
|
||||||
// <5=> Undefined!
|
// <5=> Undefined!
|
||||||
// <6=> Undefined!
|
// <6=> Undefined!
|
||||||
// <7=> Undefined!
|
// <7=> Undefined!
|
||||||
// <o.16> FIFO reset
|
// <o.16> FIFO reset
|
||||||
// <0=> Normal operation
|
// <0=> Normal operation
|
||||||
// <1=> FIFO reset
|
// <1=> FIFO reset
|
||||||
|
@ -363,12 +372,12 @@ typedef struct
|
||||||
// <0=> Normal operation
|
// <0=> Normal operation
|
||||||
// <1=> Assert audio Codec reset
|
// <1=> Assert audio Codec reset
|
||||||
/*!< Offset: 0x004 STATUS Register (R/ ) */
|
/*!< Offset: 0x004 STATUS Register (R/ ) */
|
||||||
__I uint32_t STATUS; // <h> STATUS </h>
|
__I uint32_t STATUS; // <h> STATUS </h>
|
||||||
// <o.0> TX Buffer alert
|
// <o.0> TX Buffer alert
|
||||||
// <0=> TX buffer don't need service yet
|
// <0=> TX buffer don't need service yet
|
||||||
// <1=> TX buffer need service
|
// <1=> TX buffer need service
|
||||||
// <o.1> RX Buffer alert
|
// <o.1> RX Buffer alert
|
||||||
// <0=> RX buffer don't need service yet
|
// <0=> RX buffer don't need service yet
|
||||||
// <1=> RX buffer need service
|
// <1=> RX buffer need service
|
||||||
// <o.2> TX Buffer Empty
|
// <o.2> TX Buffer Empty
|
||||||
// <0=> TX buffer have data
|
// <0=> TX buffer have data
|
||||||
|
@ -383,33 +392,33 @@ typedef struct
|
||||||
// <0=> RX buffer not full
|
// <0=> RX buffer not full
|
||||||
// <1=> RX buffer full
|
// <1=> RX buffer full
|
||||||
union {
|
union {
|
||||||
/*!< Offset: 0x008 Error Status Register (R/ ) */
|
/*!< Offset: 0x008 Error Status Register (R/ ) */
|
||||||
__I uint32_t ERROR; // <h> ERROR </h>
|
__I uint32_t ERROR; // <h> ERROR </h>
|
||||||
// <o.0> TX error
|
// <o.0> TX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> TX overrun/underrun
|
// <1=> TX overrun/underrun
|
||||||
// <o.1> RX error
|
// <o.1> RX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> RX overrun/underrun
|
// <1=> RX overrun/underrun
|
||||||
/*!< Offset: 0x008 Error Clear Register ( /W) */
|
/*!< Offset: 0x008 Error Clear Register ( /W) */
|
||||||
__O uint32_t ERRORCLR; // <h> ERRORCLR </h>
|
__O uint32_t ERRORCLR; // <h> ERRORCLR </h>
|
||||||
// <o.0> TX error
|
// <o.0> TX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> Clear TX error
|
// <1=> Clear TX error
|
||||||
// <o.1> RX error
|
// <o.1> RX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> Clear RX error
|
// <1=> Clear RX error
|
||||||
};
|
};
|
||||||
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
||||||
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
||||||
// <o.9..0> TX error (default 0x80)
|
// <o.9..0> TX error (default 0x80)
|
||||||
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
||||||
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
||||||
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
uint32_t RESERVED1[186];
|
uint32_t RESERVED1[186];
|
||||||
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
||||||
|
@ -556,7 +565,12 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define MPS2_TSC_I2C_BASE (0x40022000ul) /* Touch Screen I2C Base Address */
|
#define MPS2_TSC_I2C_BASE (0x40022000ul) /* Touch Screen I2C Base Address */
|
||||||
#define MPS2_AAIC_I2C_BASE (0x40023000ul) /* Audio Interface I2C Base Address */
|
#define MPS2_AAIC_I2C_BASE (0x40023000ul) /* Audio Interface I2C Base Address */
|
||||||
#define MPS2_AAIC_I2S_BASE (0x40024000ul) /* Audio Interface I2S Base Address */
|
#define MPS2_AAIC_I2S_BASE (0x40024000ul) /* Audio Interface I2S Base Address */
|
||||||
|
#define MPS2_SSP2_BASE (0x40025000ul) /* adc SSP Base Address */
|
||||||
|
#define MPS2_SSP3_BASE (0x40026000ul) /* Shield 0 SSP Base Address */
|
||||||
|
#define MPS2_SSP4_BASE (0x40027000ul) /* Shield 1 SSP Base Address */
|
||||||
#define MPS2_FPGAIO_BASE (0x40028000ul) /* FPGAIO Base Address */
|
#define MPS2_FPGAIO_BASE (0x40028000ul) /* FPGAIO Base Address */
|
||||||
|
#define MPS2_SHIELD0_I2C_BASE (0x40029000ul) /* Shield 0 I2C Base Address */
|
||||||
|
#define MPS2_SHIELD1_I2C_BASE (0x4002A000ul) /* Shield 1 I2C Base Address */
|
||||||
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
||||||
|
|
||||||
#ifdef CORTEX_M7
|
#ifdef CORTEX_M7
|
||||||
|
@ -565,8 +579,8 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define SMSC9220_BASE (0x40200000ul) /* Ethernet SMSC9220 Base Address */
|
#define SMSC9220_BASE (0x40200000ul) /* Ethernet SMSC9220 Base Address */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
|
||||||
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
||||||
|
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* Peripheral declaration */
|
/* Peripheral declaration */
|
||||||
|
@ -575,11 +589,16 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define SMSC9220 ((SMSC9220_TypeDef *) SMSC9220_BASE )
|
#define SMSC9220 ((SMSC9220_TypeDef *) SMSC9220_BASE )
|
||||||
#define MPS2_TS_I2C ((MPS2_I2C_TypeDef *) MPS2_TSC_I2C_BASE )
|
#define MPS2_TS_I2C ((MPS2_I2C_TypeDef *) MPS2_TSC_I2C_BASE )
|
||||||
#define MPS2_AAIC_I2C ((MPS2_I2C_TypeDef *) MPS2_AAIC_I2C_BASE )
|
#define MPS2_AAIC_I2C ((MPS2_I2C_TypeDef *) MPS2_AAIC_I2C_BASE )
|
||||||
|
#define MPS2_SHIELD0_I2C ((MPS2_I2C_TypeDef *) MPS2_SHIELD0_I2C_BASE )
|
||||||
|
#define MPS2_SHIELD1_I2C ((MPS2_I2C_TypeDef *) MPS2_SHIELD1_I2C_BASE )
|
||||||
#define MPS2_AAIC_I2S ((MPS2_I2S_TypeDef *) MPS2_AAIC_I2S_BASE )
|
#define MPS2_AAIC_I2S ((MPS2_I2S_TypeDef *) MPS2_AAIC_I2S_BASE )
|
||||||
#define MPS2_FPGAIO ((MPS2_FPGAIO_TypeDef *) MPS2_FPGAIO_BASE )
|
#define MPS2_FPGAIO ((MPS2_FPGAIO_TypeDef *) MPS2_FPGAIO_BASE )
|
||||||
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
||||||
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
||||||
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
||||||
|
#define MPS2_SSP2 ((MPS2_SSP_TypeDef *) MPS2_SSP2_BASE )
|
||||||
|
#define MPS2_SSP3 ((MPS2_SSP_TypeDef *) MPS2_SSP3_BASE )
|
||||||
|
#define MPS2_SSP4 ((MPS2_SSP_TypeDef *) MPS2_SSP4_BASE )
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* General Function Definitions */
|
/* General Function Definitions */
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
;* MPS2 CMSIS Library
|
;* MPS2 CMSIS Library
|
||||||
;*
|
;*
|
||||||
;* Copyright (c) 2006-2015 ARM Limited
|
;* Copyright (c) 2006-2016 ARM Limited
|
||||||
;* All rights reserved.
|
;* All rights reserved.
|
||||||
;*
|
;*
|
||||||
;* Redistribution and use in source and binary forms, with or without
|
;* Redistribution and use in source and binary forms, with or without
|
||||||
;* modification, are permitted provided that the following conditions are met:
|
;* modification, are permitted provided that the following conditions are met:
|
||||||
;*
|
;*
|
||||||
;* 1. Redistributions of source code must retain the above copyright notice,
|
;* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
;* this list of conditions and the following disclaimer.
|
;* this list of conditions and the following disclaimer.
|
||||||
;*
|
;*
|
||||||
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
;* this list of conditions and the following disclaimer in the documentation
|
;* this list of conditions and the following disclaimer in the documentation
|
||||||
;* and/or other materials provided with the distribution.
|
;* and/or other materials provided with the distribution.
|
||||||
;*
|
;*
|
||||||
;* 3. Neither the name of the copyright holder nor the names of its contributors
|
;* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
;* may be used to endorse or promote products derived from this software without
|
;* may be used to endorse or promote products derived from this software without
|
||||||
;* specific prior written permission.
|
;* specific prior written permission.
|
||||||
;*
|
;*
|
||||||
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
;* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
;* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
;* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
;* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
;* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
;* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
;* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
;* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
;* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
;* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
;* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
;* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
;* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
;* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
;* POSSIBILITY OF SUCH DAMAGE.
|
;* POSSIBILITY OF SUCH DAMAGE.
|
||||||
;*
|
;*
|
||||||
; *************************************************************
|
; *************************************************************
|
||||||
; *** Scatter-Loading Description File ***
|
; *** Scatter-Loading Description File ***
|
||||||
|
@ -39,8 +39,8 @@ LR_IROM1 0x00000000 0x00400000 { ; load region size_region
|
||||||
*(InRoot$$Sections)
|
*(InRoot$$Sections)
|
||||||
.ANY (+RO)
|
.ANY (+RO)
|
||||||
}
|
}
|
||||||
; Total: 48 vectors = 192 bytes (0x0C0) to be reserved in RAM
|
; Total: 64 vectors = 256 bytes (0x100) to be reserved in RAM
|
||||||
RW_IRAM1 (0x20000000+0xC0) (0x400000-0xC0) { ; RW data
|
RW_IRAM1 (0x20000000+0x100) (0x400000-0x100) { ; RW data
|
||||||
.ANY (+RW +ZI)
|
.ANY (+RW +ZI)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,43 +1,42 @@
|
||||||
;/**************************************************************************//**
|
; MPS2 CMSIS Library
|
||||||
; * @file startup_CMSDK_CM3.s
|
;
|
||||||
; * @brief CMSIS Core Device Startup File for
|
; Copyright (c) 2006-2016 ARM Limited
|
||||||
; * CMSDK_CM3 Device
|
; All rights reserved.
|
||||||
; * @version V3.02
|
;
|
||||||
; * @date 15. November 2013
|
; Redistribution and use in source and binary forms, with or without
|
||||||
; *
|
; modification, are permitted provided that the following conditions are met:
|
||||||
; * @note
|
;
|
||||||
; * Copyright (C) 2014 ARM Limited. All rights reserved.
|
; 1. Redistributions of source code must retain the above copyright notice,
|
||||||
; *
|
; this list of conditions and the following disclaimer.
|
||||||
; ******************************************************************************/
|
;
|
||||||
;/* Copyright (c) 2011 - 2013 ARM LIMITED
|
; 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
; this list of conditions and the following disclaimer in the documentation
|
||||||
|
; and/or other materials provided with the distribution.
|
||||||
|
;
|
||||||
|
; 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
; may be used to endorse or promote products derived from this software without
|
||||||
|
; specific prior written permission.
|
||||||
|
;
|
||||||
|
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
; ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
|
; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
; POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
;******************************************************************************
|
||||||
|
; @file startup_CMSDK_CM3.s
|
||||||
|
; @brief CMSIS Core Device Startup File for
|
||||||
|
; CMSDK_CM3 Device
|
||||||
|
;
|
||||||
|
;******************************************************************************
|
||||||
|
;
|
||||||
|
;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
||||||
;
|
;
|
||||||
; All rights reserved.
|
|
||||||
; Redistribution and use in source and binary forms, with or without
|
|
||||||
; modification, are permitted provided that the following conditions are met:
|
|
||||||
; - Redistributions of source code must retain the above copyright
|
|
||||||
; notice, this list of conditions and the following disclaimer.
|
|
||||||
; - Redistributions in binary form must reproduce the above copyright
|
|
||||||
; notice, this list of conditions and the following disclaimer in the
|
|
||||||
; documentation and/or other materials provided with the distribution.
|
|
||||||
; - Neither the name of ARM nor the names of its contributors may be used
|
|
||||||
; to endorse or promote products derived from this software without
|
|
||||||
; specific prior written permission.
|
|
||||||
; *
|
|
||||||
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
; ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
|
|
||||||
; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
; POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
; ---------------------------------------------------------------------------*/
|
|
||||||
;/*
|
|
||||||
;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
|
||||||
;*/
|
|
||||||
|
|
||||||
|
|
||||||
; <h> Stack Configuration
|
; <h> Stack Configuration
|
||||||
|
@ -108,22 +107,22 @@ __Vectors DCD __initial_sp ; Top of Stack
|
||||||
DCD ETHERNET_Handler ; Ethernet Overflow Handler
|
DCD ETHERNET_Handler ; Ethernet Overflow Handler
|
||||||
DCD I2S_Handler ; I2S Handler
|
DCD I2S_Handler ; I2S Handler
|
||||||
DCD TSC_Handler ; Touch Screen handler
|
DCD TSC_Handler ; Touch Screen handler
|
||||||
DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
|
DCD PORT2_COMB_Handler ; GPIO Port 2 Combined Handler
|
||||||
DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
|
DCD PORT3_COMB_Handler ; GPIO Port 3 Combined Handler
|
||||||
DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
|
DCD UARTRX3_Handler ; UART 3 RX Handler
|
||||||
DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
|
DCD UARTTX3_Handler ; UART 3 TX Handler
|
||||||
DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
|
DCD UARTRX4_Handler ; UART 4 RX Handler
|
||||||
DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
|
DCD UARTTX4_Handler ; UART 4 TX Handler
|
||||||
DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
|
DCD ADCSPI_Handler ; SHIELD ADC SPI exceptions Handler
|
||||||
DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
|
DCD SHIELDSPI_Handler ; SHIELD SPI exceptions Handler
|
||||||
DCD PORT0_8_Handler ; GPIO Port 0 pin 8 Handler
|
DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
|
||||||
DCD PORT0_9_Handler ; GPIO Port 0 pin 9 Handler
|
DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
|
||||||
DCD PORT0_10_Handler ; GPIO Port 0 pin 10 Handler
|
DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
|
||||||
DCD PORT0_11_Handler ; GPIO Port 0 pin 11 Handler
|
DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
|
||||||
DCD PORT0_12_Handler ; GPIO Port 0 pin 12 Handler
|
DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
|
||||||
DCD PORT0_13_Handler ; GPIO Port 0 pin 13 Handler
|
DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
|
||||||
DCD PORT0_14_Handler ; GPIO Port 0 pin 14 Handler
|
DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
|
||||||
DCD PORT0_15_Handler ; GPIO Port 0 pin 15 Handler
|
DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
|
||||||
__Vectors_End
|
__Vectors_End
|
||||||
|
|
||||||
__Vectors_Size EQU __Vectors_End - __Vectors
|
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||||
|
@ -205,6 +204,14 @@ Default_Handler PROC
|
||||||
EXPORT ETHERNET_Handler [WEAK]
|
EXPORT ETHERNET_Handler [WEAK]
|
||||||
EXPORT I2S_Handler [WEAK]
|
EXPORT I2S_Handler [WEAK]
|
||||||
EXPORT TSC_Handler [WEAK]
|
EXPORT TSC_Handler [WEAK]
|
||||||
|
EXPORT PORT2_COMB_Handler [WEAK]
|
||||||
|
EXPORT PORT3_COMB_Handler [WEAK]
|
||||||
|
EXPORT UARTRX3_Handler [WEAK]
|
||||||
|
EXPORT UARTTX3_Handler [WEAK]
|
||||||
|
EXPORT UARTRX4_Handler [WEAK]
|
||||||
|
EXPORT UARTTX4_Handler [WEAK]
|
||||||
|
EXPORT ADCSPI_Handler [WEAK]
|
||||||
|
EXPORT SHIELDSPI_Handler [WEAK]
|
||||||
EXPORT PORT0_0_Handler [WEAK]
|
EXPORT PORT0_0_Handler [WEAK]
|
||||||
EXPORT PORT0_1_Handler [WEAK]
|
EXPORT PORT0_1_Handler [WEAK]
|
||||||
EXPORT PORT0_2_Handler [WEAK]
|
EXPORT PORT0_2_Handler [WEAK]
|
||||||
|
@ -213,14 +220,6 @@ Default_Handler PROC
|
||||||
EXPORT PORT0_5_Handler [WEAK]
|
EXPORT PORT0_5_Handler [WEAK]
|
||||||
EXPORT PORT0_6_Handler [WEAK]
|
EXPORT PORT0_6_Handler [WEAK]
|
||||||
EXPORT PORT0_7_Handler [WEAK]
|
EXPORT PORT0_7_Handler [WEAK]
|
||||||
EXPORT PORT0_8_Handler [WEAK]
|
|
||||||
EXPORT PORT0_9_Handler [WEAK]
|
|
||||||
EXPORT PORT0_10_Handler [WEAK]
|
|
||||||
EXPORT PORT0_11_Handler [WEAK]
|
|
||||||
EXPORT PORT0_12_Handler [WEAK]
|
|
||||||
EXPORT PORT0_13_Handler [WEAK]
|
|
||||||
EXPORT PORT0_14_Handler [WEAK]
|
|
||||||
EXPORT PORT0_15_Handler [WEAK]
|
|
||||||
|
|
||||||
UARTRX0_Handler
|
UARTRX0_Handler
|
||||||
UARTTX0_Handler
|
UARTTX0_Handler
|
||||||
|
@ -238,22 +237,22 @@ UARTOVF_Handler
|
||||||
ETHERNET_Handler
|
ETHERNET_Handler
|
||||||
I2S_Handler
|
I2S_Handler
|
||||||
TSC_Handler
|
TSC_Handler
|
||||||
PORT0_0_Handler
|
PORT2_COMB_Handler
|
||||||
PORT0_1_Handler
|
PORT3_COMB_Handler
|
||||||
PORT0_2_Handler
|
UARTRX3_Handler
|
||||||
PORT0_3_Handler
|
UARTTX3_Handler
|
||||||
PORT0_4_Handler
|
UARTRX4_Handler
|
||||||
PORT0_5_Handler
|
UARTTX4_Handler
|
||||||
PORT0_6_Handler
|
ADCSPI_Handler
|
||||||
PORT0_7_Handler
|
SHIELDSPI_Handler
|
||||||
PORT0_8_Handler
|
PORT0_0_Handler
|
||||||
PORT0_9_Handler
|
PORT0_1_Handler
|
||||||
PORT0_10_Handler
|
PORT0_2_Handler
|
||||||
PORT0_11_Handler
|
PORT0_3_Handler
|
||||||
PORT0_12_Handler
|
PORT0_4_Handler
|
||||||
PORT0_13_Handler
|
PORT0_5_Handler
|
||||||
PORT0_14_Handler
|
PORT0_6_Handler
|
||||||
PORT0_15_Handler
|
PORT0_7_Handler
|
||||||
B .
|
B .
|
||||||
|
|
||||||
ENDP
|
ENDP
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* A generic CMSIS include header, pulling in MPS2 specifics
|
* A generic CMSIS include header, pulling in MPS2 specifics
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
#include "cmsis.h"
|
#include "cmsis.h"
|
||||||
|
|
||||||
#define NVIC_NUM_VECTORS (16 + 32)
|
#define NVIC_NUM_VECTORS (16 + 48)
|
||||||
#define NVIC_USER_IRQ_OFFSET 16
|
#define NVIC_USER_IRQ_OFFSET 16
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* Name: Device.h
|
* Name: Device.h
|
||||||
* Purpose: Include the correct device header file
|
* Purpose: Include the correct device header file
|
||||||
|
|
|
@ -1,41 +1,37 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file system_CMSDK_CM3.c
|
* @file system_CMSDK_CM3.c
|
||||||
* @brief CMSIS Device System Source File for
|
* @brief CMSIS Device System Source File for
|
||||||
* CMSDK_M3 Device
|
* CMSDK_M3 Device
|
||||||
* @version V3.02
|
|
||||||
* @date 15. November 2013
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -1,42 +1,38 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file system_CMSDK_CM3.h
|
* @file system_CMSDK_CM3.h
|
||||||
* @brief CMSIS Device Peripheral Access Layer Header File for
|
* @brief CMSIS Device Peripheral Access Layer Header File for
|
||||||
* CMSDK_CM3 Device
|
* CMSDK_CM3 Device
|
||||||
* @version V3.02
|
|
||||||
* @date 15. March 2013
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -1,41 +1,37 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file CMSDK_CM4.h
|
* @file CMSDK_CM4.h
|
||||||
* @brief CMSIS Cortex-M4 Core Peripheral Access Layer Header File for
|
* @brief CMSIS Cortex-M4 Core Peripheral Access Layer Header File for
|
||||||
* Device CMSDK_CM4
|
* Device CMSDK_CM4
|
||||||
* @version V3.01
|
|
||||||
* @date 06. March 2012
|
|
||||||
*
|
|
||||||
* @note configured for CM7 without FPU
|
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
@ -45,80 +41,57 @@
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** @addtogroup CMSDK_CM4_Definitions CMSDK_CM4 Definitions
|
|
||||||
This file defines all structures and symbols for CMSDK_CM4:
|
|
||||||
- registers and bitfields
|
|
||||||
- peripheral base address
|
|
||||||
- peripheral ID
|
|
||||||
- Peripheral definitions
|
|
||||||
@{
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/* ------------------------- Interrupt Number Definition ------------------------ */
|
||||||
/* Processor and Core Peripherals */
|
|
||||||
/******************************************************************************/
|
|
||||||
/** @addtogroup CMSDK_CM4_CMSIS Device CMSIS Definitions
|
|
||||||
Configuration of the Cortex-M4 Processor and Core Peripherals
|
|
||||||
@{
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ==========================================================================
|
|
||||||
* ---------- Interrupt Number Definition -----------------------------------
|
|
||||||
* ==========================================================================
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef enum IRQn
|
typedef enum IRQn
|
||||||
{
|
{
|
||||||
/****** Cortex-M4 Processor Exceptions Numbers ***************************************************/
|
/* ------------------- Cortex-M3 Processor Exceptions Numbers ------------------- */
|
||||||
NonMaskableInt_IRQn = -14, /*!< 2 Cortex-M4 Non Maskable Interrupt */
|
NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */
|
||||||
MemoryManagement_IRQn = -12, /*!< 4 Cortex-M4 Memory Management Interrupt */
|
HardFault_IRQn = -13, /* 3 HardFault Interrupt */
|
||||||
BusFault_IRQn = -11, /*!< 5 Cortex-M4 Bus Fault Interrupt */
|
MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */
|
||||||
UsageFault_IRQn = -10, /*!< 6 Cortex-M4 Usage Fault Interrupt */
|
BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */
|
||||||
SVCall_IRQn = -5, /*!< 11 Cortex-M4 SV Call Interrupt */
|
UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */
|
||||||
DebugMonitor_IRQn = -4, /*!< 12 Cortex-M4 Debug Monitor Interrupt */
|
SVCall_IRQn = -5, /* 11 SV Call Interrupt */
|
||||||
PendSV_IRQn = -2, /*!< 14 Cortex-M4 Pend SV Interrupt */
|
DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */
|
||||||
SysTick_IRQn = -1, /*!< 15 Cortex-M4 System Tick Interrupt */
|
PendSV_IRQn = -2, /* 14 Pend SV Interrupt */
|
||||||
|
SysTick_IRQn = -1, /* 15 System Tick Interrupt */
|
||||||
|
|
||||||
/****** CMSDK Specific Interrupt Numbers *******************************************************/
|
/****** CMSDK Specific Interrupt Numbers *********************************************************/
|
||||||
UARTRX0_IRQn = 0, /*!< UART 0 RX Interrupt */
|
UARTRX0_IRQn = 0, /*!< UART 0 RX Interrupt */
|
||||||
UARTTX0_IRQn = 1, /*!< UART 0 TX Interrupt */
|
UARTTX0_IRQn = 1, /*!< UART 0 TX Interrupt */
|
||||||
UARTRX1_IRQn = 2, /*!< UART 1 RX Interrupt */
|
UARTRX1_IRQn = 2, /*!< UART 1 RX Interrupt */
|
||||||
UARTTX1_IRQn = 3, /*!< UART 1 TX Interrupt */
|
UARTTX1_IRQn = 3, /*!< UART 1 TX Interrupt */
|
||||||
UARTRX2_IRQn = 4, /*!< UART 2 RX Interrupt */
|
UARTRX2_IRQn = 4, /*!< UART 2 RX Interrupt */
|
||||||
UARTTX2_IRQn = 5, /*!< UART 2 TX Interrupt */
|
UARTTX2_IRQn = 5, /*!< UART 2 TX Interrupt */
|
||||||
// UARTRX3_IRQn = 6, /*!< UART 2 RX Interrupt //only used in extended version */
|
PORT0_ALL_IRQn = 6, /*!< Port 0 combined Interrupt */
|
||||||
// UARTTX3_IRQn = 7, /*!< UART 2 TX Interrupt //only used in extended version */
|
PORT1_ALL_IRQn = 7, /*!< Port 1 combined Interrupt */
|
||||||
PORT0_ALL_IRQn = 6, /*!< Port 1 combined Interrupt */
|
TIMER0_IRQn = 8, /*!< TIMER 0 Interrupt */
|
||||||
PORT1_ALL_IRQn = 7, /*!< Port 1 combined Interrupt */
|
TIMER1_IRQn = 9, /*!< TIMER 1 Interrupt */
|
||||||
TIMER0_IRQn = 8, /*!< TIMER 0 Interrupt */
|
DUALTIMER_IRQn = 10, /*!< Dual Timer Interrupt */
|
||||||
TIMER1_IRQn = 9, /*!< TIMER 1 Interrupt */
|
SPI_IRQn = 11, /*!< SPI Interrupt */
|
||||||
DUALTIMER_IRQn = 10, /*!< Dual Timer Interrupt */
|
UARTOVF_IRQn = 12, /*!< UART 0,1,2 Overflow Interrupt */
|
||||||
SPI_IRQn = 11, /*!< SPI Interrupt */
|
ETHERNET_IRQn = 13, /*!< Ethernet Interrupt */
|
||||||
UARTOVF_IRQn = 12, /*!< UART 0,1,2 Overflow Interrupt */
|
I2S_IRQn = 14, /*!< I2S Interrupt */
|
||||||
ETHERNET_IRQn = 13, /*!< Ethernet Interrupt */
|
TSC_IRQn = 15, /*!< Touch Screen Interrupt */
|
||||||
I2S_IRQn = 14, /*!< I2S Interrupt */
|
PORT2_ALL_IRQn = 16, /*!< Port 2 combined Interrupt */
|
||||||
TSC_IRQn = 15, /* Touch Screen Interrupt */
|
PORT3_ALL_IRQn = 17, /*!< Port 3 combined Interrupt */
|
||||||
// DMA_IRQn = 15, /* PL230 DMA Done + Error Interrupt */
|
UARTRX3_IRQn = 18, /*!< UART 3 RX Interrupt */
|
||||||
PORT0_0_IRQn = 16, /*!< All P0 I/O pins can be used as interrupt source. */
|
UARTTX3_IRQn = 19, /*!< UART 3 TX Interrupt */
|
||||||
PORT0_1_IRQn = 17, /*!< There are 16 pins in total */
|
UARTRX4_IRQn = 20, /*!< UART 4 RX Interrupt */
|
||||||
PORT0_2_IRQn = 18,
|
UARTTX4_IRQn = 21, /*!< UART 4 TX Interrupt */
|
||||||
PORT0_3_IRQn = 19,
|
ADCSPI_IRQn = 22, /*!< SHIELD ADC SPI Interrupt */
|
||||||
PORT0_4_IRQn = 20,
|
SHIELDSPI_IRQn = 23, /*!< SHIELD SPI Combined Interrupt */
|
||||||
PORT0_5_IRQn = 21,
|
PORT0_0_IRQn = 24, /*!< GPIO Port 0 pin 0 Interrupt */
|
||||||
PORT0_6_IRQn = 22,
|
PORT0_1_IRQn = 25, /*!< GPIO Port 0 pin 1 Interrupt */
|
||||||
PORT0_7_IRQn = 23,
|
PORT0_2_IRQn = 26, /*!< GPIO Port 0 pin 2 Interrupt */
|
||||||
PORT0_8_IRQn = 24,
|
PORT0_3_IRQn = 27, /*!< GPIO Port 0 pin 3 Interrupt */
|
||||||
PORT0_9_IRQn = 25,
|
PORT0_4_IRQn = 28, /*!< GPIO Port 0 pin 4 Interrupt */
|
||||||
PORT0_10_IRQn = 26,
|
PORT0_5_IRQn = 29, /*!< GPIO Port 0 pin 5 Interrupt */
|
||||||
PORT0_11_IRQn = 27,
|
PORT0_6_IRQn = 30, /*!< GPIO Port 0 pin 6 Interrupt */
|
||||||
PORT0_12_IRQn = 28,
|
PORT0_7_IRQn = 31, /*!< GPIO Port 0 pin 7 Interrupt */
|
||||||
PORT0_13_IRQn = 29,
|
|
||||||
PORT0_14_IRQn = 30,
|
|
||||||
PORT0_15_IRQn = 31,
|
|
||||||
} IRQn_Type;
|
} IRQn_Type;
|
||||||
|
|
||||||
|
|
||||||
|
@ -285,23 +258,23 @@ typedef struct
|
||||||
__IO uint32_t Timer1Load; /* Offset: 0x000 (R/W) Timer 1 Load */
|
__IO uint32_t Timer1Load; /* Offset: 0x000 (R/W) Timer 1 Load */
|
||||||
__I uint32_t Timer1Value; /* Offset: 0x004 (R/ ) Timer 1 Counter Current Value */
|
__I uint32_t Timer1Value; /* Offset: 0x004 (R/ ) Timer 1 Counter Current Value */
|
||||||
__IO uint32_t Timer1Control; /* Offset: 0x008 (R/W) Timer 1 Control */
|
__IO uint32_t Timer1Control; /* Offset: 0x008 (R/W) Timer 1 Control */
|
||||||
// <o.7> TimerEn: Timer Enable
|
/* <o.7> TimerEn: Timer Enable */
|
||||||
// <o.6> TimerMode: Timer Mode
|
/* <o.6> TimerMode: Timer Mode */
|
||||||
// <0=> Freerunning-mode
|
/* <0=> Freerunning-mode */
|
||||||
// <1=> Periodic mode
|
/* <1=> Periodic mode */
|
||||||
// <o.5> IntEnable: Interrupt Enable
|
/* <o.5> IntEnable: Interrupt Enable */
|
||||||
// <o.2..3> TimerPre: Timer Prescale
|
/* <o.2..3> TimerPre: Timer Prescale */
|
||||||
// <0=> / 1
|
/* <0=> / 1 */
|
||||||
// <1=> / 16
|
/* <1=> / 16 */
|
||||||
// <2=> / 256
|
/* <2=> / 256 */
|
||||||
// <3=> Undefined!
|
/* <3=> Undefined! */
|
||||||
// <o.1> TimerSize: Timer Size
|
/* <o.1> TimerSize: Timer Size */
|
||||||
// <0=> 16-bit counter
|
/* <0=> 16-bit counter */
|
||||||
// <1=> 32-bit counter
|
/* <1=> 32-bit counter */
|
||||||
// <o.0> OneShot: One-shoot mode
|
/* <o.0> OneShot: One-shoot mode */
|
||||||
// <0=> Wrapping mode
|
/* <0=> Wrapping mode */
|
||||||
// <1=> One-shot mode
|
/* <1=> One-shot mode */
|
||||||
// </h>
|
/* </h> */
|
||||||
__O uint32_t Timer1IntClr; /* Offset: 0x00C ( /W) Timer 1 Interrupt Clear */
|
__O uint32_t Timer1IntClr; /* Offset: 0x00C ( /W) Timer 1 Interrupt Clear */
|
||||||
__I uint32_t Timer1RIS; /* Offset: 0x010 (R/ ) Timer 1 Raw Interrupt Status */
|
__I uint32_t Timer1RIS; /* Offset: 0x010 (R/ ) Timer 1 Raw Interrupt Status */
|
||||||
__I uint32_t Timer1MIS; /* Offset: 0x014 (R/ ) Timer 1 Masked Interrupt Status */
|
__I uint32_t Timer1MIS; /* Offset: 0x014 (R/ ) Timer 1 Masked Interrupt Status */
|
||||||
|
@ -310,23 +283,23 @@ typedef struct
|
||||||
__IO uint32_t Timer2Load; /* Offset: 0x020 (R/W) Timer 2 Load */
|
__IO uint32_t Timer2Load; /* Offset: 0x020 (R/W) Timer 2 Load */
|
||||||
__I uint32_t Timer2Value; /* Offset: 0x024 (R/ ) Timer 2 Counter Current Value */
|
__I uint32_t Timer2Value; /* Offset: 0x024 (R/ ) Timer 2 Counter Current Value */
|
||||||
__IO uint32_t Timer2Control; /* Offset: 0x028 (R/W) Timer 2 Control */
|
__IO uint32_t Timer2Control; /* Offset: 0x028 (R/W) Timer 2 Control */
|
||||||
// <o.7> TimerEn: Timer Enable
|
/* <o.7> TimerEn: Timer Enable */
|
||||||
// <o.6> TimerMode: Timer Mode
|
/* <o.6> TimerMode: Timer Mode */
|
||||||
// <0=> Freerunning-mode
|
/* <0=> Freerunning-mode */
|
||||||
// <1=> Periodic mode
|
/* <1=> Periodic mode */
|
||||||
// <o.5> IntEnable: Interrupt Enable
|
/* <o.5> IntEnable: Interrupt Enable */
|
||||||
// <o.2..3> TimerPre: Timer Prescale
|
/* <o.2..3> TimerPre: Timer Prescale */
|
||||||
// <0=> / 1
|
/* <0=> / 1 */
|
||||||
// <1=> / 16
|
/* <1=> / 16 */
|
||||||
// <2=> / 256
|
/* <2=> / 256 */
|
||||||
// <3=> Undefined!
|
/* <3=> Undefined! */
|
||||||
// <o.1> TimerSize: Timer Size
|
/* <o.1> TimerSize: Timer Size */
|
||||||
// <0=> 16-bit counter
|
/* <0=> 16-bit counter */
|
||||||
// <1=> 32-bit counter
|
/* <1=> 32-bit counter */
|
||||||
// <o.0> OneShot: One-shoot mode
|
/* <o.0> OneShot: One-shoot mode */
|
||||||
// <0=> Wrapping mode
|
/* <0=> Wrapping mode */
|
||||||
// <1=> One-shot mode
|
/* <1=> One-shot mode */
|
||||||
// </h>
|
/* </h> */
|
||||||
__O uint32_t Timer2IntClr; /* Offset: 0x02C ( /W) Timer 2 Interrupt Clear */
|
__O uint32_t Timer2IntClr; /* Offset: 0x02C ( /W) Timer 2 Interrupt Clear */
|
||||||
__I uint32_t Timer2RIS; /* Offset: 0x030 (R/ ) Timer 2 Raw Interrupt Status */
|
__I uint32_t Timer2RIS; /* Offset: 0x030 (R/ ) Timer 2 Raw Interrupt Status */
|
||||||
__I uint32_t Timer2MIS; /* Offset: 0x034 (R/ ) Timer 2 Masked Interrupt Status */
|
__I uint32_t Timer2MIS; /* Offset: 0x034 (R/ ) Timer 2 Masked Interrupt Status */
|
||||||
|
@ -413,23 +386,23 @@ typedef struct
|
||||||
__IO uint32_t TimerLoad; /* Offset: 0x000 (R/W) Timer Load */
|
__IO uint32_t TimerLoad; /* Offset: 0x000 (R/W) Timer Load */
|
||||||
__I uint32_t TimerValue; /* Offset: 0x000 (R/W) Timer Counter Current Value */
|
__I uint32_t TimerValue; /* Offset: 0x000 (R/W) Timer Counter Current Value */
|
||||||
__IO uint32_t TimerControl; /* Offset: 0x000 (R/W) Timer Control */
|
__IO uint32_t TimerControl; /* Offset: 0x000 (R/W) Timer Control */
|
||||||
// <o.7> TimerEn: Timer Enable
|
/* <o.7> TimerEn: Timer Enable */
|
||||||
// <o.6> TimerMode: Timer Mode
|
/* <o.6> TimerMode: Timer Mode */
|
||||||
// <0=> Freerunning-mode
|
/* <0=> Freerunning-mode */
|
||||||
// <1=> Periodic mode
|
/* <1=> Periodic mode */
|
||||||
// <o.5> IntEnable: Interrupt Enable
|
/* <o.5> IntEnable: Interrupt Enable */
|
||||||
// <o.2..3> TimerPre: Timer Prescale
|
/* <o.2..3> TimerPre: Timer Prescale */
|
||||||
// <0=> / 1
|
/* <0=> / 1 */
|
||||||
// <1=> / 16
|
/* <1=> / 16 */
|
||||||
// <2=> / 256
|
/* <2=> / 256 */
|
||||||
// <3=> Undefined!
|
/* <3=> Undefined! */
|
||||||
// <o.1> TimerSize: Timer Size
|
/* <o.1> TimerSize: Timer Size */
|
||||||
// <0=> 16-bit counter
|
/* <0=> 16-bit counter */
|
||||||
// <1=> 32-bit counter
|
/* <1=> 32-bit counter */
|
||||||
// <o.0> OneShot: One-shoot mode
|
/* <o.0> OneShot: One-shoot mode */
|
||||||
// <0=> Wrapping mode
|
/* <0=> Wrapping mode */
|
||||||
// <1=> One-shot mode
|
/* <1=> One-shot mode */
|
||||||
// </h>
|
/* </h> */
|
||||||
__O uint32_t TimerIntClr; /* Offset: 0x000 (R/W) Timer Interrupt Clear */
|
__O uint32_t TimerIntClr; /* Offset: 0x000 (R/W) Timer Interrupt Clear */
|
||||||
__I uint32_t TimerRIS; /* Offset: 0x000 (R/W) Timer Raw Interrupt Status */
|
__I uint32_t TimerRIS; /* Offset: 0x000 (R/W) Timer Raw Interrupt Status */
|
||||||
__I uint32_t TimerMIS; /* Offset: 0x000 (R/W) Timer Masked Interrupt Status */
|
__I uint32_t TimerMIS; /* Offset: 0x000 (R/W) Timer Masked Interrupt Status */
|
||||||
|
@ -1146,9 +1119,9 @@ typedef struct
|
||||||
__IO uint32_t LOAD; /* Offset: 0x000 (R/W) Watchdog Load Register */
|
__IO uint32_t LOAD; /* Offset: 0x000 (R/W) Watchdog Load Register */
|
||||||
__I uint32_t VALUE; /* Offset: 0x004 (R/ ) Watchdog Value Register */
|
__I uint32_t VALUE; /* Offset: 0x004 (R/ ) Watchdog Value Register */
|
||||||
__IO uint32_t CTRL; /* Offset: 0x008 (R/W) Watchdog Control Register */
|
__IO uint32_t CTRL; /* Offset: 0x008 (R/W) Watchdog Control Register */
|
||||||
// <o.1> RESEN: Reset enable
|
/* <o.1> RESEN: Reset enable */
|
||||||
// <o.0> INTEN: Interrupt enable
|
/* <o.0> INTEN: Interrupt enable */
|
||||||
// </h>
|
/* </h> */
|
||||||
__O uint32_t INTCLR; /* Offset: 0x00C ( /W) Watchdog Clear Interrupt Register */
|
__O uint32_t INTCLR; /* Offset: 0x00C ( /W) Watchdog Clear Interrupt Register */
|
||||||
__I uint32_t RAWINTSTAT; /* Offset: 0x010 (R/ ) Watchdog Raw Interrupt Status Register */
|
__I uint32_t RAWINTSTAT; /* Offset: 0x010 (R/ ) Watchdog Raw Interrupt Status Register */
|
||||||
__I uint32_t MASKINTSTAT; /* Offset: 0x014 (R/ ) Watchdog Interrupt Status Register */
|
__I uint32_t MASKINTSTAT; /* Offset: 0x014 (R/ ) Watchdog Interrupt Status Register */
|
||||||
|
@ -1278,8 +1251,9 @@ __IO uint32_t MODECTRL;
|
||||||
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
|
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
|
||||||
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
|
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
|
||||||
#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
|
#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
|
||||||
//#define CMSDK_UART3_BASE (CMSDK_APB_BASE + 0x7000UL) //only used in extended version
|
#define CMSDK_UART3_BASE (CMSDK_APB_BASE + 0x7000UL)
|
||||||
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
||||||
|
#define CMSDK_UART4_BASE (CMSDK_APB_BASE + 0x9000UL)
|
||||||
#define CMSDK_PL230_BASE (CMSDK_APB_BASE + 0xF000UL)
|
#define CMSDK_PL230_BASE (CMSDK_APB_BASE + 0xF000UL)
|
||||||
|
|
||||||
/* AHB peripherals */
|
/* AHB peripherals */
|
||||||
|
@ -1301,9 +1275,10 @@ __IO uint32_t MODECTRL;
|
||||||
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
||||||
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
||||||
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
||||||
//#define CMSDK_UART3 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE ) //only used in extended version
|
#define CMSDK_UART3 ((CMSDK_UART_TypeDef *) CMSDK_UART3_BASE )
|
||||||
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
#define CMSDK_UART4 ((CMSDK_UART_TypeDef *) CMSDK_UART4_BASE )
|
||||||
#define CMSDK_TIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER1_BASE )
|
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
||||||
|
#define CMSDK_TIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER1_BASE )
|
||||||
#define CMSDK_DUALTIMER ((CMSDK_DUALTIMER_BOTH_TypeDef *) CMSDK_DUALTIMER_BASE )
|
#define CMSDK_DUALTIMER ((CMSDK_DUALTIMER_BOTH_TypeDef *) CMSDK_DUALTIMER_BASE )
|
||||||
#define CMSDK_DUALTIMER1 ((CMSDK_DUALTIMER_SINGLE_TypeDef *) CMSDK_DUALTIMER_1_BASE )
|
#define CMSDK_DUALTIMER1 ((CMSDK_DUALTIMER_SINGLE_TypeDef *) CMSDK_DUALTIMER_1_BASE )
|
||||||
#define CMSDK_DUALTIMER2 ((CMSDK_DUALTIMER_SINGLE_TypeDef *) CMSDK_DUALTIMER_2_BASE )
|
#define CMSDK_DUALTIMER2 ((CMSDK_DUALTIMER_SINGLE_TypeDef *) CMSDK_DUALTIMER_2_BASE )
|
||||||
|
|
|
@ -1,36 +1,36 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* File: smm_mps2.h
|
* File: smm_mps2.h
|
||||||
* Release: Version 1.0
|
* Release: Version 1.1
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#ifndef __SMM_MPS2_H
|
#ifndef __SMM_MPS2_H
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
/* FPGA System Register declaration */
|
/* FPGA System Register declaration */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
__IO uint32_t LED; // Offset: 0x000 (R/W) LED connections
|
__IO uint32_t LED; // Offset: 0x000 (R/W) LED connections
|
||||||
// [31:2] : Reserved
|
// [31:2] : Reserved
|
||||||
|
@ -65,11 +65,14 @@ typedef struct
|
||||||
// Bit[31:0] : reload value for prescale counter
|
// Bit[31:0] : reload value for prescale counter
|
||||||
__IO uint32_t PSCNTR; // Offset: 0x024 (R/W) 32-bit Prescale counter
|
__IO uint32_t PSCNTR; // Offset: 0x024 (R/W) 32-bit Prescale counter
|
||||||
// current value of the pre-scaler counter
|
// current value of the pre-scaler counter
|
||||||
// The Cycle Up Counter increment when the prescale down counter reach 0
|
// The Cycle Up Counter increment when the prescale down counter reach 0
|
||||||
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
||||||
uint32_t RESERVED4[9];
|
uint32_t RESERVED4[9];
|
||||||
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
||||||
// [31:7] : Reserved
|
// [31:10] : Reserved
|
||||||
|
// [9] : SHIELD_1_SPI_nCS
|
||||||
|
// [8] : SHIELD_0_SPI_nCS
|
||||||
|
// [7] : ADC_SPI_nCS
|
||||||
// [6] : CLCD_BL_CTRL
|
// [6] : CLCD_BL_CTRL
|
||||||
// [5] : CLCD_RD
|
// [5] : CLCD_RD
|
||||||
// [4] : CLCD_RS
|
// [4] : CLCD_RS
|
||||||
|
@ -93,12 +96,18 @@ typedef struct
|
||||||
#define CLCD_RD_Msk (1UL<<CLCD_RD_Pos)
|
#define CLCD_RD_Msk (1UL<<CLCD_RD_Pos)
|
||||||
#define CLCD_BL_Pos 6
|
#define CLCD_BL_Pos 6
|
||||||
#define CLCD_BL_Msk (1UL<<CLCD_BL_Pos)
|
#define CLCD_BL_Msk (1UL<<CLCD_BL_Pos)
|
||||||
|
#define ADC_nCS_Pos 7
|
||||||
|
#define ADC_nCS_Msk (1UL<<ADC_nCS_Pos)
|
||||||
|
#define SHIELD_0_nCS_Pos 8
|
||||||
|
#define SHIELD_0_nCS_Msk (1UL<<SHIELD_0_nCS_Pos)
|
||||||
|
#define SHIELD_1_nCS_Pos 9
|
||||||
|
#define SHIELD_1_nCS_Msk (1UL<<SHIELD_1_nCS_Pos)
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* SCC Register declaration */
|
/* SCC Register declaration */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
typedef struct //
|
typedef struct //
|
||||||
{
|
{
|
||||||
__IO uint32_t CFG_REG0; // Offset: 0x000 (R/W) Remaps block RAM to ZBT
|
__IO uint32_t CFG_REG0; // Offset: 0x000 (R/W) Remaps block RAM to ZBT
|
||||||
// [31:1] : Reserved
|
// [31:1] : Reserved
|
||||||
|
@ -308,10 +317,10 @@ typedef struct // Document DDI0194G_ssp_pl022_r1p3_trm.pdf
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
__O uint32_t CONTROLS; // Offset: 0x000 CONTROL Set Register ( /W)
|
__O uint32_t CONTROLS; // Offset: 0x000 CONTROL Set Register ( /W)
|
||||||
__I uint32_t CONTROL; // Offset: 0x000 CONTROL Status Register (R/ )
|
__I uint32_t CONTROL; // Offset: 0x000 CONTROL Status Register (R/ )
|
||||||
};
|
};
|
||||||
__O uint32_t CONTROLC; // Offset: 0x004 CONTROL Clear Register ( /W)
|
__O uint32_t CONTROLC; // Offset: 0x004 CONTROL Clear Register ( /W)
|
||||||
} MPS2_I2C_TypeDef;
|
} MPS2_I2C_TypeDef;
|
||||||
|
|
||||||
#define SDA 1 << 1
|
#define SDA 1 << 1
|
||||||
|
@ -346,7 +355,7 @@ typedef struct
|
||||||
// <4=> Undefined!
|
// <4=> Undefined!
|
||||||
// <5=> Undefined!
|
// <5=> Undefined!
|
||||||
// <6=> Undefined!
|
// <6=> Undefined!
|
||||||
// <7=> Undefined!
|
// <7=> Undefined!
|
||||||
// <o.14..12> RX Buffer Water Level
|
// <o.14..12> RX Buffer Water Level
|
||||||
// <0=> Undefined!
|
// <0=> Undefined!
|
||||||
// <1=> / IRQ triggers when less than 1 space available
|
// <1=> / IRQ triggers when less than 1 space available
|
||||||
|
@ -355,7 +364,7 @@ typedef struct
|
||||||
// <4=> / IRQ triggers when less than 4 space available
|
// <4=> / IRQ triggers when less than 4 space available
|
||||||
// <5=> Undefined!
|
// <5=> Undefined!
|
||||||
// <6=> Undefined!
|
// <6=> Undefined!
|
||||||
// <7=> Undefined!
|
// <7=> Undefined!
|
||||||
// <o.16> FIFO reset
|
// <o.16> FIFO reset
|
||||||
// <0=> Normal operation
|
// <0=> Normal operation
|
||||||
// <1=> FIFO reset
|
// <1=> FIFO reset
|
||||||
|
@ -363,12 +372,12 @@ typedef struct
|
||||||
// <0=> Normal operation
|
// <0=> Normal operation
|
||||||
// <1=> Assert audio Codec reset
|
// <1=> Assert audio Codec reset
|
||||||
/*!< Offset: 0x004 STATUS Register (R/ ) */
|
/*!< Offset: 0x004 STATUS Register (R/ ) */
|
||||||
__I uint32_t STATUS; // <h> STATUS </h>
|
__I uint32_t STATUS; // <h> STATUS </h>
|
||||||
// <o.0> TX Buffer alert
|
// <o.0> TX Buffer alert
|
||||||
// <0=> TX buffer don't need service yet
|
// <0=> TX buffer don't need service yet
|
||||||
// <1=> TX buffer need service
|
// <1=> TX buffer need service
|
||||||
// <o.1> RX Buffer alert
|
// <o.1> RX Buffer alert
|
||||||
// <0=> RX buffer don't need service yet
|
// <0=> RX buffer don't need service yet
|
||||||
// <1=> RX buffer need service
|
// <1=> RX buffer need service
|
||||||
// <o.2> TX Buffer Empty
|
// <o.2> TX Buffer Empty
|
||||||
// <0=> TX buffer have data
|
// <0=> TX buffer have data
|
||||||
|
@ -383,33 +392,33 @@ typedef struct
|
||||||
// <0=> RX buffer not full
|
// <0=> RX buffer not full
|
||||||
// <1=> RX buffer full
|
// <1=> RX buffer full
|
||||||
union {
|
union {
|
||||||
/*!< Offset: 0x008 Error Status Register (R/ ) */
|
/*!< Offset: 0x008 Error Status Register (R/ ) */
|
||||||
__I uint32_t ERROR; // <h> ERROR </h>
|
__I uint32_t ERROR; // <h> ERROR </h>
|
||||||
// <o.0> TX error
|
// <o.0> TX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> TX overrun/underrun
|
// <1=> TX overrun/underrun
|
||||||
// <o.1> RX error
|
// <o.1> RX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> RX overrun/underrun
|
// <1=> RX overrun/underrun
|
||||||
/*!< Offset: 0x008 Error Clear Register ( /W) */
|
/*!< Offset: 0x008 Error Clear Register ( /W) */
|
||||||
__O uint32_t ERRORCLR; // <h> ERRORCLR </h>
|
__O uint32_t ERRORCLR; // <h> ERRORCLR </h>
|
||||||
// <o.0> TX error
|
// <o.0> TX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> Clear TX error
|
// <1=> Clear TX error
|
||||||
// <o.1> RX error
|
// <o.1> RX error
|
||||||
// <0=> Okay
|
// <0=> Okay
|
||||||
// <1=> Clear RX error
|
// <1=> Clear RX error
|
||||||
};
|
};
|
||||||
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
||||||
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
||||||
// <o.9..0> TX error (default 0x80)
|
// <o.9..0> TX error (default 0x80)
|
||||||
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
||||||
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
||||||
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
uint32_t RESERVED1[186];
|
uint32_t RESERVED1[186];
|
||||||
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
||||||
|
@ -556,7 +565,12 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define MPS2_TSC_I2C_BASE (0x40022000ul) /* Touch Screen I2C Base Address */
|
#define MPS2_TSC_I2C_BASE (0x40022000ul) /* Touch Screen I2C Base Address */
|
||||||
#define MPS2_AAIC_I2C_BASE (0x40023000ul) /* Audio Interface I2C Base Address */
|
#define MPS2_AAIC_I2C_BASE (0x40023000ul) /* Audio Interface I2C Base Address */
|
||||||
#define MPS2_AAIC_I2S_BASE (0x40024000ul) /* Audio Interface I2S Base Address */
|
#define MPS2_AAIC_I2S_BASE (0x40024000ul) /* Audio Interface I2S Base Address */
|
||||||
|
#define MPS2_SSP2_BASE (0x40025000ul) /* adc SSP Base Address */
|
||||||
|
#define MPS2_SSP3_BASE (0x40026000ul) /* Shield 0 SSP Base Address */
|
||||||
|
#define MPS2_SSP4_BASE (0x40027000ul) /* Shield 1 SSP Base Address */
|
||||||
#define MPS2_FPGAIO_BASE (0x40028000ul) /* FPGAIO Base Address */
|
#define MPS2_FPGAIO_BASE (0x40028000ul) /* FPGAIO Base Address */
|
||||||
|
#define MPS2_SHIELD0_I2C_BASE (0x40029000ul) /* Shield 0 I2C Base Address */
|
||||||
|
#define MPS2_SHIELD1_I2C_BASE (0x4002A000ul) /* Shield 1 I2C Base Address */
|
||||||
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
||||||
|
|
||||||
#ifdef CORTEX_M7
|
#ifdef CORTEX_M7
|
||||||
|
@ -565,8 +579,8 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define SMSC9220_BASE (0x40200000ul) /* Ethernet SMSC9220 Base Address */
|
#define SMSC9220_BASE (0x40200000ul) /* Ethernet SMSC9220 Base Address */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
|
||||||
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
||||||
|
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* Peripheral declaration */
|
/* Peripheral declaration */
|
||||||
|
@ -575,11 +589,16 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define SMSC9220 ((SMSC9220_TypeDef *) SMSC9220_BASE )
|
#define SMSC9220 ((SMSC9220_TypeDef *) SMSC9220_BASE )
|
||||||
#define MPS2_TS_I2C ((MPS2_I2C_TypeDef *) MPS2_TSC_I2C_BASE )
|
#define MPS2_TS_I2C ((MPS2_I2C_TypeDef *) MPS2_TSC_I2C_BASE )
|
||||||
#define MPS2_AAIC_I2C ((MPS2_I2C_TypeDef *) MPS2_AAIC_I2C_BASE )
|
#define MPS2_AAIC_I2C ((MPS2_I2C_TypeDef *) MPS2_AAIC_I2C_BASE )
|
||||||
|
#define MPS2_SHIELD0_I2C ((MPS2_I2C_TypeDef *) MPS2_SHIELD0_I2C_BASE )
|
||||||
|
#define MPS2_SHIELD1_I2C ((MPS2_I2C_TypeDef *) MPS2_SHIELD1_I2C_BASE )
|
||||||
#define MPS2_AAIC_I2S ((MPS2_I2S_TypeDef *) MPS2_AAIC_I2S_BASE )
|
#define MPS2_AAIC_I2S ((MPS2_I2S_TypeDef *) MPS2_AAIC_I2S_BASE )
|
||||||
#define MPS2_FPGAIO ((MPS2_FPGAIO_TypeDef *) MPS2_FPGAIO_BASE )
|
#define MPS2_FPGAIO ((MPS2_FPGAIO_TypeDef *) MPS2_FPGAIO_BASE )
|
||||||
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
||||||
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
||||||
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
||||||
|
#define MPS2_SSP2 ((MPS2_SSP_TypeDef *) MPS2_SSP2_BASE )
|
||||||
|
#define MPS2_SSP3 ((MPS2_SSP_TypeDef *) MPS2_SSP3_BASE )
|
||||||
|
#define MPS2_SSP4 ((MPS2_SSP_TypeDef *) MPS2_SSP4_BASE )
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* General Function Definitions */
|
/* General Function Definitions */
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
;* MPS2 CMSIS Library
|
;* MPS2 CMSIS Library
|
||||||
;*
|
;*
|
||||||
;* Copyright (c) 2006-2015 ARM Limited
|
;* Copyright (c) 2006-2016 ARM Limited
|
||||||
;* All rights reserved.
|
;* All rights reserved.
|
||||||
;*
|
;*
|
||||||
;* Redistribution and use in source and binary forms, with or without
|
;* Redistribution and use in source and binary forms, with or without
|
||||||
;* modification, are permitted provided that the following conditions are met:
|
;* modification, are permitted provided that the following conditions are met:
|
||||||
;*
|
;*
|
||||||
;* 1. Redistributions of source code must retain the above copyright notice,
|
;* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
;* this list of conditions and the following disclaimer.
|
;* this list of conditions and the following disclaimer.
|
||||||
;*
|
;*
|
||||||
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
;* this list of conditions and the following disclaimer in the documentation
|
;* this list of conditions and the following disclaimer in the documentation
|
||||||
;* and/or other materials provided with the distribution.
|
;* and/or other materials provided with the distribution.
|
||||||
;*
|
;*
|
||||||
;* 3. Neither the name of the copyright holder nor the names of its contributors
|
;* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
;* may be used to endorse or promote products derived from this software without
|
;* may be used to endorse or promote products derived from this software without
|
||||||
;* specific prior written permission.
|
;* specific prior written permission.
|
||||||
;*
|
;*
|
||||||
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
;* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
;* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
;* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
;* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
;* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
;* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
;* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
;* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
;* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
;* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
;* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
;* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
;* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
;* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
;* POSSIBILITY OF SUCH DAMAGE.
|
;* POSSIBILITY OF SUCH DAMAGE.
|
||||||
;*
|
;*
|
||||||
; *************************************************************
|
; *************************************************************
|
||||||
; *** Scatter-Loading Description File ***
|
; *** Scatter-Loading Description File ***
|
||||||
|
@ -39,8 +39,8 @@ LR_IROM1 0x00000000 0x00400000 { ; load region size_region
|
||||||
*(InRoot$$Sections)
|
*(InRoot$$Sections)
|
||||||
.ANY (+RO)
|
.ANY (+RO)
|
||||||
}
|
}
|
||||||
; Total: 48 vectors = 192 bytes (0x0C0) to be reserved in RAM
|
; Total: 64 vectors = 256 bytes (0x100) to be reserved in RAM
|
||||||
RW_IRAM1 (0x20000000+0xC0) (0x400000-0xC0) { ; RW data
|
RW_IRAM1 (0x20000000+0x100) (0x400000-0x100) { ; RW data
|
||||||
.ANY (+RW +ZI)
|
.ANY (+RW +ZI)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,41 +1,38 @@
|
||||||
; MPS2 CMSIS Library
|
; MPS2 CMSIS Library
|
||||||
;
|
;
|
||||||
; Copyright (c) 2006-2015 ARM Limited
|
; Copyright (c) 2006-2016 ARM Limited
|
||||||
; All rights reserved.
|
; All rights reserved.
|
||||||
;
|
;
|
||||||
; Redistribution and use in source and binary forms, with or without
|
; Redistribution and use in source and binary forms, with or without
|
||||||
; modification, are permitted provided that the following conditions are met:
|
; modification, are permitted provided that the following conditions are met:
|
||||||
;
|
;
|
||||||
; 1. Redistributions of source code must retain the above copyright notice,
|
; 1. Redistributions of source code must retain the above copyright notice,
|
||||||
; this list of conditions and the following disclaimer.
|
; this list of conditions and the following disclaimer.
|
||||||
;
|
;
|
||||||
; 2. Redistributions in binary form must reproduce the above copyright notice,
|
; 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
; this list of conditions and the following disclaimer in the documentation
|
; this list of conditions and the following disclaimer in the documentation
|
||||||
; and/or other materials provided with the distribution.
|
; and/or other materials provided with the distribution.
|
||||||
;
|
;
|
||||||
; 3. Neither the name of the copyright holder nor the names of its contributors
|
; 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
; may be used to endorse or promote products derived from this software without
|
; may be used to endorse or promote products derived from this software without
|
||||||
; specific prior written permission.
|
; specific prior written permission.
|
||||||
;
|
;
|
||||||
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
; ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
; ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
; POSSIBILITY OF SUCH DAMAGE.
|
; POSSIBILITY OF SUCH DAMAGE.
|
||||||
;******************************************************************************
|
;******************************************************************************
|
||||||
; @file startup_CMSDK_CM4.s
|
; @file startup_CMSDK_CM4.s
|
||||||
; @brief CMSIS Core Device Startup File for
|
; @brief CMSIS Core Device Startup File for
|
||||||
; CMSDK_CM4 Device
|
; CMSDK_CM4 Device
|
||||||
; @version V3.03
|
|
||||||
; @date 04. February 2015
|
|
||||||
;
|
;
|
||||||
; @note
|
|
||||||
;******************************************************************************
|
;******************************************************************************
|
||||||
;
|
;
|
||||||
;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
||||||
|
@ -110,22 +107,22 @@ __Vectors DCD __initial_sp ; Top of Stack
|
||||||
DCD ETHERNET_Handler ; Ethernet Overflow Handler
|
DCD ETHERNET_Handler ; Ethernet Overflow Handler
|
||||||
DCD I2S_Handler ; I2S Handler
|
DCD I2S_Handler ; I2S Handler
|
||||||
DCD TSC_Handler ; Touch Screen handler
|
DCD TSC_Handler ; Touch Screen handler
|
||||||
DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
|
DCD PORT2_COMB_Handler ; GPIO Port 2 Combined Handler
|
||||||
DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
|
DCD PORT3_COMB_Handler ; GPIO Port 3 Combined Handler
|
||||||
DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
|
DCD UARTRX3_Handler ; UART 3 RX Handler
|
||||||
DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
|
DCD UARTTX3_Handler ; UART 3 TX Handler
|
||||||
DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
|
DCD UARTRX4_Handler ; UART 4 RX Handler
|
||||||
DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
|
DCD UARTTX4_Handler ; UART 4 TX Handler
|
||||||
DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
|
DCD ADCSPI_Handler ; SHIELD ADC SPI exceptions Handler
|
||||||
DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
|
DCD SHIELDSPI_Handler ; SHIELD SPI exceptions Handler
|
||||||
DCD PORT0_8_Handler ; GPIO Port 0 pin 8 Handler
|
DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
|
||||||
DCD PORT0_9_Handler ; GPIO Port 0 pin 9 Handler
|
DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
|
||||||
DCD PORT0_10_Handler ; GPIO Port 0 pin 10 Handler
|
DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
|
||||||
DCD PORT0_11_Handler ; GPIO Port 0 pin 11 Handler
|
DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
|
||||||
DCD PORT0_12_Handler ; GPIO Port 0 pin 12 Handler
|
DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
|
||||||
DCD PORT0_13_Handler ; GPIO Port 0 pin 13 Handler
|
DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
|
||||||
DCD PORT0_14_Handler ; GPIO Port 0 pin 14 Handler
|
DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
|
||||||
DCD PORT0_15_Handler ; GPIO Port 0 pin 15 Handler
|
DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
|
||||||
__Vectors_End
|
__Vectors_End
|
||||||
|
|
||||||
__Vectors_Size EQU __Vectors_End - __Vectors
|
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||||
|
@ -207,6 +204,14 @@ Default_Handler PROC
|
||||||
EXPORT ETHERNET_Handler [WEAK]
|
EXPORT ETHERNET_Handler [WEAK]
|
||||||
EXPORT I2S_Handler [WEAK]
|
EXPORT I2S_Handler [WEAK]
|
||||||
EXPORT TSC_Handler [WEAK]
|
EXPORT TSC_Handler [WEAK]
|
||||||
|
EXPORT PORT2_COMB_Handler [WEAK]
|
||||||
|
EXPORT PORT3_COMB_Handler [WEAK]
|
||||||
|
EXPORT UARTRX3_Handler [WEAK]
|
||||||
|
EXPORT UARTTX3_Handler [WEAK]
|
||||||
|
EXPORT UARTRX4_Handler [WEAK]
|
||||||
|
EXPORT UARTTX4_Handler [WEAK]
|
||||||
|
EXPORT ADCSPI_Handler [WEAK]
|
||||||
|
EXPORT SHIELDSPI_Handler [WEAK]
|
||||||
EXPORT PORT0_0_Handler [WEAK]
|
EXPORT PORT0_0_Handler [WEAK]
|
||||||
EXPORT PORT0_1_Handler [WEAK]
|
EXPORT PORT0_1_Handler [WEAK]
|
||||||
EXPORT PORT0_2_Handler [WEAK]
|
EXPORT PORT0_2_Handler [WEAK]
|
||||||
|
@ -215,14 +220,6 @@ Default_Handler PROC
|
||||||
EXPORT PORT0_5_Handler [WEAK]
|
EXPORT PORT0_5_Handler [WEAK]
|
||||||
EXPORT PORT0_6_Handler [WEAK]
|
EXPORT PORT0_6_Handler [WEAK]
|
||||||
EXPORT PORT0_7_Handler [WEAK]
|
EXPORT PORT0_7_Handler [WEAK]
|
||||||
EXPORT PORT0_8_Handler [WEAK]
|
|
||||||
EXPORT PORT0_9_Handler [WEAK]
|
|
||||||
EXPORT PORT0_10_Handler [WEAK]
|
|
||||||
EXPORT PORT0_11_Handler [WEAK]
|
|
||||||
EXPORT PORT0_12_Handler [WEAK]
|
|
||||||
EXPORT PORT0_13_Handler [WEAK]
|
|
||||||
EXPORT PORT0_14_Handler [WEAK]
|
|
||||||
EXPORT PORT0_15_Handler [WEAK]
|
|
||||||
|
|
||||||
UARTRX0_Handler
|
UARTRX0_Handler
|
||||||
UARTTX0_Handler
|
UARTTX0_Handler
|
||||||
|
@ -240,22 +237,22 @@ UARTOVF_Handler
|
||||||
ETHERNET_Handler
|
ETHERNET_Handler
|
||||||
I2S_Handler
|
I2S_Handler
|
||||||
TSC_Handler
|
TSC_Handler
|
||||||
PORT0_0_Handler
|
PORT2_COMB_Handler
|
||||||
PORT0_1_Handler
|
PORT3_COMB_Handler
|
||||||
PORT0_2_Handler
|
UARTRX3_Handler
|
||||||
PORT0_3_Handler
|
UARTTX3_Handler
|
||||||
PORT0_4_Handler
|
UARTRX4_Handler
|
||||||
PORT0_5_Handler
|
UARTTX4_Handler
|
||||||
PORT0_6_Handler
|
ADCSPI_Handler
|
||||||
PORT0_7_Handler
|
SHIELDSPI_Handler
|
||||||
PORT0_8_Handler
|
PORT0_0_Handler
|
||||||
PORT0_9_Handler
|
PORT0_1_Handler
|
||||||
PORT0_10_Handler
|
PORT0_2_Handler
|
||||||
PORT0_11_Handler
|
PORT0_3_Handler
|
||||||
PORT0_12_Handler
|
PORT0_4_Handler
|
||||||
PORT0_13_Handler
|
PORT0_5_Handler
|
||||||
PORT0_14_Handler
|
PORT0_6_Handler
|
||||||
PORT0_15_Handler
|
PORT0_7_Handler
|
||||||
B .
|
B .
|
||||||
|
|
||||||
ENDP
|
ENDP
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* A generic CMSIS include header, pulling in MPS2 specifics
|
* A generic CMSIS include header, pulling in MPS2 specifics
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
#include "cmsis.h"
|
#include "cmsis.h"
|
||||||
|
|
||||||
#define NVIC_NUM_VECTORS (16 + 32)
|
#define NVIC_NUM_VECTORS (16 + 48)
|
||||||
#define NVIC_USER_IRQ_OFFSET 16
|
#define NVIC_USER_IRQ_OFFSET 16
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* Name: Device.h
|
* Name: Device.h
|
||||||
* Purpose: Include the correct device header file
|
* Purpose: Include the correct device header file
|
||||||
|
|
|
@ -1,46 +1,41 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file system_CMSDK_CM4.c
|
* @file system_CMSDK_CM4.c
|
||||||
* @brief CMSIS Device System Source File for
|
* @brief CMSIS Device System Source File for
|
||||||
* CMSDK_M4 Device
|
* CMSDK_M4 Device
|
||||||
* @version V3.02
|
|
||||||
* @date 15. November 2013
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "CMSDK_CM4.h"
|
#include "CMSDK_CM4.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
/*----------------------------------------------------------------------------
|
||||||
|
|
|
@ -1,42 +1,38 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer.
|
* this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* 3. Neither the name of the copyright holder nor the names of its contributors
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
* may be used to endorse or promote products derived from this software without
|
* may be used to endorse or promote products derived from this software without
|
||||||
* specific prior written permission.
|
* specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file system_CMSDK_CM4.h
|
* @file system_CMSDK_CM4.h
|
||||||
* @brief CMSIS Device Peripheral Access Layer Header File for
|
* @brief CMSIS Device Peripheral Access Layer Header File for
|
||||||
* CMSDK_CM4 Device
|
* CMSDK_CM4 Device
|
||||||
* @version V3.02
|
|
||||||
* @date 15. March 2013
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
@ -76,5 +72,4 @@ extern void SystemCoreClockUpdate (void);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* SYSTEM_CMSDK_CM4_H */
|
#endif /* SYSTEM_CMSDK_CM4_H */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -32,10 +32,6 @@
|
||||||
* @file CMSDK_CM7.h
|
* @file CMSDK_CM7.h
|
||||||
* @brief CMSIS Core Peripheral Access Layer Header File for
|
* @brief CMSIS Core Peripheral Access Layer Header File for
|
||||||
* CMSDK_CM7 Device
|
* CMSDK_CM7 Device
|
||||||
* @version V1.00
|
|
||||||
* @date 27. August 2014
|
|
||||||
*
|
|
||||||
* @note configured for CM7 without FPU
|
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
@ -52,16 +48,16 @@ extern "C" {
|
||||||
|
|
||||||
typedef enum IRQn
|
typedef enum IRQn
|
||||||
{
|
{
|
||||||
/* ------------------- CM7 Processor Exceptions Numbers --------------------- */
|
/* ------------------- Cortex-M7 Processor Exceptions Numbers ------------------- */
|
||||||
NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */
|
NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */
|
||||||
// HardFault_IRQn = -13, /* 3 HardFault Interrupt */
|
HardFault_IRQn = -13, /* 3 HardFault Interrupt */
|
||||||
MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */
|
MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */
|
||||||
BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */
|
BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */
|
||||||
UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */
|
UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */
|
||||||
SVCall_IRQn = -5, /* 11 SV Call Interrupt */
|
SVCall_IRQn = -5, /* 11 SV Call Interrupt */
|
||||||
DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */
|
DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */
|
||||||
PendSV_IRQn = -2, /* 14 Pend SV Interrupt */
|
PendSV_IRQn = -2, /* 14 Pend SV Interrupt */
|
||||||
SysTick_IRQn = -1, /* 15 System Tick Interrupt */
|
SysTick_IRQn = -1, /* 15 System Tick Interrupt */
|
||||||
|
|
||||||
/* ---------------------- CMSDK_CM7 Specific Interrupt Numbers -------------- */
|
/* ---------------------- CMSDK_CM7 Specific Interrupt Numbers -------------- */
|
||||||
UARTRX0_IRQn = 0, /* UART 0 RX Interrupt */
|
UARTRX0_IRQn = 0, /* UART 0 RX Interrupt */
|
||||||
|
@ -80,23 +76,22 @@ typedef enum IRQn
|
||||||
ETHERNET_IRQn = 13, /* Ethernet Interrupt */
|
ETHERNET_IRQn = 13, /* Ethernet Interrupt */
|
||||||
I2S_IRQn = 14, /* I2S Interrupt */
|
I2S_IRQn = 14, /* I2S Interrupt */
|
||||||
TSC_IRQn = 15, /* Touch Screen Interrupt */
|
TSC_IRQn = 15, /* Touch Screen Interrupt */
|
||||||
// DMA_IRQn = 15, /* PL230 DMA Done + Error Interrupt */
|
PORT2_ALL_IRQn = 16, /*< Port 2 combined Interrupt */
|
||||||
PORT0_0_IRQn = 16, /* All P0 I/O pins used as irq source */
|
PORT3_ALL_IRQn = 17, /*< Port 3 combined Interrupt */
|
||||||
PORT0_1_IRQn = 17, /* There are 16 pins in total */
|
UARTRX3_IRQn = 18, /*< UART 3 RX Interrupt */
|
||||||
PORT0_2_IRQn = 18,
|
UARTTX3_IRQn = 19, /*< UART 3 TX Interrupt */
|
||||||
PORT0_3_IRQn = 19,
|
UARTRX4_IRQn = 20, /*< UART 4 RX Interrupt */
|
||||||
PORT0_4_IRQn = 20,
|
UARTTX4_IRQn = 21, /*< UART 4 TX Interrupt */
|
||||||
PORT0_5_IRQn = 21,
|
ADCSPI_IRQn = 22, /*< SHIELD ADC SPI Interrupt */
|
||||||
PORT0_6_IRQn = 22,
|
SHIELDSPI_IRQn = 23, /*< SHIELD SPI Combined Interrupt */
|
||||||
PORT0_7_IRQn = 23,
|
PORT0_0_IRQn = 24, /*< GPIO Port 0 pin 0 Interrupt */
|
||||||
PORT0_8_IRQn = 24,
|
PORT0_1_IRQn = 25, /*< GPIO Port 0 pin 1 Interrupt */
|
||||||
PORT0_9_IRQn = 25,
|
PORT0_2_IRQn = 26, /*< GPIO Port 0 pin 2 Interrupt */
|
||||||
PORT0_10_IRQn = 26,
|
PORT0_3_IRQn = 27, /*< GPIO Port 0 pin 3 Interrupt */
|
||||||
PORT0_11_IRQn = 27,
|
PORT0_4_IRQn = 28, /*< GPIO Port 0 pin 4 Interrupt */
|
||||||
PORT0_12_IRQn = 28,
|
PORT0_5_IRQn = 29, /*< GPIO Port 0 pin 5 Interrupt */
|
||||||
PORT0_13_IRQn = 29,
|
PORT0_6_IRQn = 30, /*< GPIO Port 0 pin 6 Interrupt */
|
||||||
PORT0_14_IRQn = 30,
|
PORT0_7_IRQn = 31, /*< GPIO Port 0 pin 7 Interrupt */
|
||||||
PORT0_15_IRQn = 31,
|
|
||||||
} IRQn_Type;
|
} IRQn_Type;
|
||||||
|
|
||||||
|
|
||||||
|
@ -105,12 +100,12 @@ typedef enum IRQn
|
||||||
/* ================================================================================ */
|
/* ================================================================================ */
|
||||||
|
|
||||||
/* -------- Configuration of the CM7 Processor and Core Peripherals --------- */
|
/* -------- Configuration of the CM7 Processor and Core Peripherals --------- */
|
||||||
#define __CM4_REV 0x0000 /* Core revision r0p0 */
|
#define __CM7_REV 0x0101 /* Core revision r1p1 */
|
||||||
#define __MPU_PRESENT 1 /* MPU present or not */
|
#define __MPU_PRESENT 1 /* MPU present or not */
|
||||||
#define __NVIC_PRIO_BITS 3 /* Number of Bits used for Priority Levels */
|
#define __NVIC_PRIO_BITS 3 /* Number of Bits used for Priority Levels */
|
||||||
#define __Vendor_SysTickConfig 0 /* Set to 1 if different SysTick Config is used */
|
#define __Vendor_SysTickConfig 0 /* Set to 1 if different SysTick Config is used */
|
||||||
#define __FPU_PRESENT 1 /* no FPU present */
|
#define __FPU_PRESENT 1 /* no FPU present */
|
||||||
#define __FPU_DP 1 /* unused */
|
#define __FPU_DP 1 /* unused */
|
||||||
#define __ICACHE_PRESENT 1
|
#define __ICACHE_PRESENT 1
|
||||||
#define __DCACHE_PRESENT 1
|
#define __DCACHE_PRESENT 1
|
||||||
|
|
||||||
|
@ -694,7 +689,9 @@ typedef struct
|
||||||
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
|
#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
|
||||||
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
|
#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
|
||||||
#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
|
#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
|
||||||
|
#define CMSDK_UART3_BASE (CMSDK_APB_BASE + 0x7000UL)
|
||||||
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
|
||||||
|
#define CMSDK_UART4_BASE (CMSDK_APB_BASE + 0x9000UL)
|
||||||
#define CMSDK_PL230_BASE (CMSDK_APB_BASE + 0xF000UL)
|
#define CMSDK_PL230_BASE (CMSDK_APB_BASE + 0xF000UL)
|
||||||
|
|
||||||
/* AHB peripherals */
|
/* AHB peripherals */
|
||||||
|
@ -712,6 +709,8 @@ typedef struct
|
||||||
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
|
||||||
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
|
||||||
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
|
||||||
|
#define CMSDK_UART3 ((CMSDK_UART_TypeDef *) CMSDK_UART3_BASE )
|
||||||
|
#define CMSDK_UART4 ((CMSDK_UART_TypeDef *) CMSDK_UART4_BASE )
|
||||||
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
|
||||||
#define CMSDK_TIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER1_BASE )
|
#define CMSDK_TIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER1_BASE )
|
||||||
#define CMSDK_DUALTIMER ((CMSDK_DUALTIMER_BOTH_TypeDef *) CMSDK_DUALTIMER_BASE )
|
#define CMSDK_DUALTIMER ((CMSDK_DUALTIMER_BOTH_TypeDef *) CMSDK_DUALTIMER_BASE )
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* File: smm_mps2.h
|
* File: smm_mps2.h
|
||||||
* Release: Version 1.0
|
* Release: Version 1.1
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#ifndef __SMM_MPS2_H
|
#ifndef __SMM_MPS2_H
|
||||||
|
@ -65,11 +65,14 @@ typedef struct
|
||||||
// Bit[31:0] : reload value for prescale counter
|
// Bit[31:0] : reload value for prescale counter
|
||||||
__IO uint32_t PSCNTR; // Offset: 0x024 (R/W) 32-bit Prescale counter
|
__IO uint32_t PSCNTR; // Offset: 0x024 (R/W) 32-bit Prescale counter
|
||||||
// current value of the pre-scaler counter
|
// current value of the pre-scaler counter
|
||||||
// The Cycle Up Counter increment when the prescale down counter reach 0
|
// The Cycle Up Counter increment when the prescale down counter reach 0
|
||||||
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
// The pre-scaler counter is reloaded with PRESCALE after reaching 0.
|
||||||
uint32_t RESERVED4[9];
|
uint32_t RESERVED4[9];
|
||||||
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
__IO uint32_t MISC; // Offset: 0x04C (R/W) Misc control */
|
||||||
// [31:7] : Reserved
|
// [31:10] : Reserved
|
||||||
|
// [9] : SHIELD_1_SPI_nCS
|
||||||
|
// [8] : SHIELD_0_SPI_nCS
|
||||||
|
// [7] : ADC_SPI_nCS
|
||||||
// [6] : CLCD_BL_CTRL
|
// [6] : CLCD_BL_CTRL
|
||||||
// [5] : CLCD_RD
|
// [5] : CLCD_RD
|
||||||
// [4] : CLCD_RS
|
// [4] : CLCD_RS
|
||||||
|
@ -93,6 +96,12 @@ typedef struct
|
||||||
#define CLCD_RD_Msk (1UL<<CLCD_RD_Pos)
|
#define CLCD_RD_Msk (1UL<<CLCD_RD_Pos)
|
||||||
#define CLCD_BL_Pos 6
|
#define CLCD_BL_Pos 6
|
||||||
#define CLCD_BL_Msk (1UL<<CLCD_BL_Pos)
|
#define CLCD_BL_Msk (1UL<<CLCD_BL_Pos)
|
||||||
|
#define ADC_nCS_Pos 7
|
||||||
|
#define ADC_nCS_Msk (1UL<<ADC_nCS_Pos)
|
||||||
|
#define SHIELD_0_nCS_Pos 8
|
||||||
|
#define SHIELD_0_nCS_Msk (1UL<<SHIELD_0_nCS_Pos)
|
||||||
|
#define SHIELD_1_nCS_Pos 9
|
||||||
|
#define SHIELD_1_nCS_Msk (1UL<<SHIELD_1_nCS_Pos)
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* SCC Register declaration */
|
/* SCC Register declaration */
|
||||||
|
@ -402,14 +411,14 @@ typedef struct
|
||||||
};
|
};
|
||||||
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
/*!< Offset: 0x00C Divide ratio Register (R/W) */
|
||||||
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
__IO uint32_t DIVIDE; // <h> Divide ratio for Left/Right clock </h>
|
||||||
// <o.9..0> TX error (default 0x80)
|
// <o.9..0> TX error (default 0x80)
|
||||||
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
/*!< Offset: 0x010 Transmit Buffer ( /W) */
|
||||||
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
__O uint32_t TXBUF; // <h> Transmit buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
/*!< Offset: 0x014 Receive Buffer (R/ ) */
|
||||||
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
__I uint32_t RXBUF; // <h> Receive buffer </h>
|
||||||
// <o.15..0> Right channel
|
// <o.15..0> Right channel
|
||||||
// <o.31..16> Left channel
|
// <o.31..16> Left channel
|
||||||
uint32_t RESERVED1[186];
|
uint32_t RESERVED1[186];
|
||||||
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
__IO uint32_t ITCR; // <h> Integration Test Control Register </h>
|
||||||
|
@ -556,13 +565,18 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define MPS2_TSC_I2C_BASE (0x40022000ul) /* Touch Screen I2C Base Address */
|
#define MPS2_TSC_I2C_BASE (0x40022000ul) /* Touch Screen I2C Base Address */
|
||||||
#define MPS2_AAIC_I2C_BASE (0x40023000ul) /* Audio Interface I2C Base Address */
|
#define MPS2_AAIC_I2C_BASE (0x40023000ul) /* Audio Interface I2C Base Address */
|
||||||
#define MPS2_AAIC_I2S_BASE (0x40024000ul) /* Audio Interface I2S Base Address */
|
#define MPS2_AAIC_I2S_BASE (0x40024000ul) /* Audio Interface I2S Base Address */
|
||||||
|
#define MPS2_SSP2_BASE (0x40025000ul) /* adc SSP Base Address */
|
||||||
|
#define MPS2_SSP3_BASE (0x40026000ul) /* Shield 0 SSP Base Address */
|
||||||
|
#define MPS2_SSP4_BASE (0x40027000ul) /* Shield 1 SSP Base Address */
|
||||||
#define MPS2_FPGAIO_BASE (0x40028000ul) /* FPGAIO Base Address */
|
#define MPS2_FPGAIO_BASE (0x40028000ul) /* FPGAIO Base Address */
|
||||||
|
#define MPS2_SHIELD0_I2C_BASE (0x40029000ul) /* Shield 0 I2C Base Address */
|
||||||
|
#define MPS2_SHIELD1_I2C_BASE (0x4002A000ul) /* Shield 1 I2C Base Address */
|
||||||
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
#define MPS2_SCC_BASE (0x4002F000ul) /* SCC Base Address */
|
||||||
|
|
||||||
#define SMSC9220_BASE (0xA0000000ul) /* Ethernet SMSC9220 Base Address */
|
#define SMSC9220_BASE (0xA0000000ul) /* Ethernet SMSC9220 Base Address */
|
||||||
|
|
||||||
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
|
||||||
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
#define MPS2_VGA_TEXT_BUFFER (0x41000000ul) /* VGA Text Buffer Address */
|
||||||
|
#define MPS2_VGA_BUFFER (0x41100000ul) /* VGA Buffer Base Address */
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* Peripheral declaration */
|
/* Peripheral declaration */
|
||||||
|
@ -571,11 +585,16 @@ __IO uint32_t E2P_DATA; // EEPROM Data (offset 0xB4)
|
||||||
#define SMSC9220 ((SMSC9220_TypeDef *) SMSC9220_BASE )
|
#define SMSC9220 ((SMSC9220_TypeDef *) SMSC9220_BASE )
|
||||||
#define MPS2_TS_I2C ((MPS2_I2C_TypeDef *) MPS2_TSC_I2C_BASE )
|
#define MPS2_TS_I2C ((MPS2_I2C_TypeDef *) MPS2_TSC_I2C_BASE )
|
||||||
#define MPS2_AAIC_I2C ((MPS2_I2C_TypeDef *) MPS2_AAIC_I2C_BASE )
|
#define MPS2_AAIC_I2C ((MPS2_I2C_TypeDef *) MPS2_AAIC_I2C_BASE )
|
||||||
|
#define MPS2_SHIELD0_I2C ((MPS2_I2C_TypeDef *) MPS2_SHIELD0_I2C_BASE )
|
||||||
|
#define MPS2_SHIELD1_I2C ((MPS2_I2C_TypeDef *) MPS2_SHIELD1_I2C_BASE )
|
||||||
#define MPS2_AAIC_I2S ((MPS2_I2S_TypeDef *) MPS2_AAIC_I2S_BASE )
|
#define MPS2_AAIC_I2S ((MPS2_I2S_TypeDef *) MPS2_AAIC_I2S_BASE )
|
||||||
#define MPS2_FPGAIO ((MPS2_FPGAIO_TypeDef *) MPS2_FPGAIO_BASE )
|
#define MPS2_FPGAIO ((MPS2_FPGAIO_TypeDef *) MPS2_FPGAIO_BASE )
|
||||||
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
#define MPS2_SCC ((MPS2_SCC_TypeDef *) MPS2_SCC_BASE )
|
||||||
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
#define MPS2_SSP0 ((MPS2_SSP_TypeDef *) MPS2_SSP0_BASE )
|
||||||
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
#define MPS2_SSP1 ((MPS2_SSP_TypeDef *) MPS2_SSP1_BASE )
|
||||||
|
#define MPS2_SSP2 ((MPS2_SSP_TypeDef *) MPS2_SSP2_BASE )
|
||||||
|
#define MPS2_SSP3 ((MPS2_SSP_TypeDef *) MPS2_SSP3_BASE )
|
||||||
|
#define MPS2_SSP4 ((MPS2_SSP_TypeDef *) MPS2_SSP4_BASE )
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* General Function Definitions */
|
/* General Function Definitions */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;* MPS2 CMSIS Library
|
;* MPS2 CMSIS Library
|
||||||
;*
|
;*
|
||||||
;* Copyright (c) 2006-2015 ARM Limited
|
;* Copyright (c) 2006-2016 ARM Limited
|
||||||
;* All rights reserved.
|
;* All rights reserved.
|
||||||
;*
|
;*
|
||||||
;* Redistribution and use in source and binary forms, with or without
|
;* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -39,8 +39,8 @@ LR_IROM1 0x00000000 0x00400000 { ; load region size_region
|
||||||
*(InRoot$$Sections)
|
*(InRoot$$Sections)
|
||||||
.ANY (+RO)
|
.ANY (+RO)
|
||||||
}
|
}
|
||||||
; Total: 48 vectors = 192 bytes (0x0C0) to be reserved in RAM
|
; Total: 64 vectors = 256 bytes (0x100) to be reserved in RAM
|
||||||
RW_IRAM1 (0x20000000+0xC0) (0x400000-0xC0) { ; RW data
|
RW_IRAM1 (0x20000000+0x100) (0x400000-0x100) { ; RW data
|
||||||
.ANY (+RW +ZI)
|
.ANY (+RW +ZI)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
; MPS2 CMSIS Library
|
; MPS2 CMSIS Library
|
||||||
;
|
;
|
||||||
; Copyright (c) 2006-2015 ARM Limited
|
; Copyright (c) 2006-2016 ARM Limited
|
||||||
; All rights reserved.
|
; All rights reserved.
|
||||||
;
|
;
|
||||||
; Redistribution and use in source and binary forms, with or without
|
; Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -32,10 +32,7 @@
|
||||||
; @file startup_CMSDK_CM7.s
|
; @file startup_CMSDK_CM7.s
|
||||||
; @brief CMSIS Core Device Startup File for
|
; @brief CMSIS Core Device Startup File for
|
||||||
; CMSDK_CM7 Device
|
; CMSDK_CM7 Device
|
||||||
; @version V1.00
|
|
||||||
; @date 04. February 2015
|
|
||||||
;
|
;
|
||||||
; @note
|
|
||||||
;******************************************************************************
|
;******************************************************************************
|
||||||
;
|
;
|
||||||
;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
|
||||||
|
@ -110,22 +107,22 @@ __Vectors DCD __initial_sp ; Top of Stack
|
||||||
DCD ETHERNET_Handler ; Ethernet Overflow Handler
|
DCD ETHERNET_Handler ; Ethernet Overflow Handler
|
||||||
DCD I2S_Handler ; I2S Handler
|
DCD I2S_Handler ; I2S Handler
|
||||||
DCD TSC_Handler ; Touch Screen handler
|
DCD TSC_Handler ; Touch Screen handler
|
||||||
DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
|
DCD PORT2_COMB_Handler ; GPIO Port 2 Combined Handler
|
||||||
DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
|
DCD PORT3_COMB_Handler ; GPIO Port 3 Combined Handler
|
||||||
DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
|
DCD UARTRX3_Handler ; UART 3 RX Handler
|
||||||
DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
|
DCD UARTTX3_Handler ; UART 3 TX Handler
|
||||||
DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
|
DCD UARTRX4_Handler ; UART 4 RX Handler
|
||||||
DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
|
DCD UARTTX4_Handler ; UART 4 TX Handler
|
||||||
DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
|
DCD ADCSPI_Handler ; SHIELD ADC SPI exceptions Handler
|
||||||
DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
|
DCD SHIELDSPI_Handler ; SHIELD SPI exceptions Handler
|
||||||
DCD PORT0_8_Handler ; GPIO Port 0 pin 8 Handler
|
DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
|
||||||
DCD PORT0_9_Handler ; GPIO Port 0 pin 9 Handler
|
DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
|
||||||
DCD PORT0_10_Handler ; GPIO Port 0 pin 10 Handler
|
DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
|
||||||
DCD PORT0_11_Handler ; GPIO Port 0 pin 11 Handler
|
DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
|
||||||
DCD PORT0_12_Handler ; GPIO Port 0 pin 12 Handler
|
DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
|
||||||
DCD PORT0_13_Handler ; GPIO Port 0 pin 13 Handler
|
DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
|
||||||
DCD PORT0_14_Handler ; GPIO Port 0 pin 14 Handler
|
DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
|
||||||
DCD PORT0_15_Handler ; GPIO Port 0 pin 15 Handler
|
DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
|
||||||
__Vectors_End
|
__Vectors_End
|
||||||
|
|
||||||
__Vectors_Size EQU __Vectors_End - __Vectors
|
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||||
|
@ -207,6 +204,14 @@ Default_Handler PROC
|
||||||
EXPORT ETHERNET_Handler [WEAK]
|
EXPORT ETHERNET_Handler [WEAK]
|
||||||
EXPORT I2S_Handler [WEAK]
|
EXPORT I2S_Handler [WEAK]
|
||||||
EXPORT TSC_Handler [WEAK]
|
EXPORT TSC_Handler [WEAK]
|
||||||
|
EXPORT PORT2_COMB_Handler [WEAK]
|
||||||
|
EXPORT PORT3_COMB_Handler [WEAK]
|
||||||
|
EXPORT UARTRX3_Handler [WEAK]
|
||||||
|
EXPORT UARTTX3_Handler [WEAK]
|
||||||
|
EXPORT UARTRX4_Handler [WEAK]
|
||||||
|
EXPORT UARTTX4_Handler [WEAK]
|
||||||
|
EXPORT ADCSPI_Handler [WEAK]
|
||||||
|
EXPORT SHIELDSPI_Handler [WEAK]
|
||||||
EXPORT PORT0_0_Handler [WEAK]
|
EXPORT PORT0_0_Handler [WEAK]
|
||||||
EXPORT PORT0_1_Handler [WEAK]
|
EXPORT PORT0_1_Handler [WEAK]
|
||||||
EXPORT PORT0_2_Handler [WEAK]
|
EXPORT PORT0_2_Handler [WEAK]
|
||||||
|
@ -215,14 +220,6 @@ Default_Handler PROC
|
||||||
EXPORT PORT0_5_Handler [WEAK]
|
EXPORT PORT0_5_Handler [WEAK]
|
||||||
EXPORT PORT0_6_Handler [WEAK]
|
EXPORT PORT0_6_Handler [WEAK]
|
||||||
EXPORT PORT0_7_Handler [WEAK]
|
EXPORT PORT0_7_Handler [WEAK]
|
||||||
EXPORT PORT0_8_Handler [WEAK]
|
|
||||||
EXPORT PORT0_9_Handler [WEAK]
|
|
||||||
EXPORT PORT0_10_Handler [WEAK]
|
|
||||||
EXPORT PORT0_11_Handler [WEAK]
|
|
||||||
EXPORT PORT0_12_Handler [WEAK]
|
|
||||||
EXPORT PORT0_13_Handler [WEAK]
|
|
||||||
EXPORT PORT0_14_Handler [WEAK]
|
|
||||||
EXPORT PORT0_15_Handler [WEAK]
|
|
||||||
|
|
||||||
UARTRX0_Handler
|
UARTRX0_Handler
|
||||||
UARTTX0_Handler
|
UARTTX0_Handler
|
||||||
|
@ -240,22 +237,22 @@ UARTOVF_Handler
|
||||||
ETHERNET_Handler
|
ETHERNET_Handler
|
||||||
I2S_Handler
|
I2S_Handler
|
||||||
TSC_Handler
|
TSC_Handler
|
||||||
PORT0_0_Handler
|
PORT2_COMB_Handler
|
||||||
PORT0_1_Handler
|
PORT3_COMB_Handler
|
||||||
PORT0_2_Handler
|
UARTRX3_Handler
|
||||||
PORT0_3_Handler
|
UARTTX3_Handler
|
||||||
PORT0_4_Handler
|
UARTRX4_Handler
|
||||||
PORT0_5_Handler
|
UARTTX4_Handler
|
||||||
PORT0_6_Handler
|
ADCSPI_Handler
|
||||||
PORT0_7_Handler
|
SHIELDSPI_Handler
|
||||||
PORT0_8_Handler
|
PORT0_0_Handler
|
||||||
PORT0_9_Handler
|
PORT0_1_Handler
|
||||||
PORT0_10_Handler
|
PORT0_2_Handler
|
||||||
PORT0_11_Handler
|
PORT0_3_Handler
|
||||||
PORT0_12_Handler
|
PORT0_4_Handler
|
||||||
PORT0_13_Handler
|
PORT0_5_Handler
|
||||||
PORT0_14_Handler
|
PORT0_6_Handler
|
||||||
PORT0_15_Handler
|
PORT0_7_Handler
|
||||||
B .
|
B .
|
||||||
|
|
||||||
ENDP
|
ENDP
|
||||||
|
|
|
@ -1,195 +0,0 @@
|
||||||
/* Linker script to configure memory regions. */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x40000 /* 256k */
|
|
||||||
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x08000 /* 32k */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Library configurations */
|
|
||||||
GROUP(libgcc.a libc.a libm.a libnosys.a)
|
|
||||||
|
|
||||||
/* Linker script to place sections and symbol values. Should be used together
|
|
||||||
* with other linker script that defines memory regions FLASH and RAM.
|
|
||||||
* It references following symbols, which must be defined in code:
|
|
||||||
* Reset_Handler : Entry of reset handler
|
|
||||||
*
|
|
||||||
* It defines following symbols, which code can use without definition:
|
|
||||||
* __exidx_start
|
|
||||||
* __exidx_end
|
|
||||||
* __copy_table_start__
|
|
||||||
* __copy_table_end__
|
|
||||||
* __zero_table_start__
|
|
||||||
* __zero_table_end__
|
|
||||||
* __etext
|
|
||||||
* __data_start__
|
|
||||||
* __preinit_array_start
|
|
||||||
* __preinit_array_end
|
|
||||||
* __init_array_start
|
|
||||||
* __init_array_end
|
|
||||||
* __fini_array_start
|
|
||||||
* __fini_array_end
|
|
||||||
* __data_end__
|
|
||||||
* __bss_start__
|
|
||||||
* __bss_end__
|
|
||||||
* __end__
|
|
||||||
* end
|
|
||||||
* __HeapLimit
|
|
||||||
* __StackLimit
|
|
||||||
* __StackTop
|
|
||||||
* __stack
|
|
||||||
* __Vectors_End
|
|
||||||
* __Vectors_Size
|
|
||||||
*/
|
|
||||||
ENTRY(Reset_Handler)
|
|
||||||
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
KEEP(*(.vectors))
|
|
||||||
__Vectors_End = .;
|
|
||||||
__Vectors_Size = __Vectors_End - __Vectors;
|
|
||||||
__end__ = .;
|
|
||||||
|
|
||||||
*(.text*)
|
|
||||||
|
|
||||||
KEEP(*(.init))
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
/* .ctors */
|
|
||||||
*crtbegin.o(.ctors)
|
|
||||||
*crtbegin?.o(.ctors)
|
|
||||||
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
|
|
||||||
*(SORT(.ctors.*))
|
|
||||||
*(.ctors)
|
|
||||||
|
|
||||||
/* .dtors */
|
|
||||||
*crtbegin.o(.dtors)
|
|
||||||
*crtbegin?.o(.dtors)
|
|
||||||
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
|
|
||||||
*(SORT(.dtors.*))
|
|
||||||
*(.dtors)
|
|
||||||
|
|
||||||
*(.rodata*)
|
|
||||||
|
|
||||||
KEEP(*(.eh_frame*))
|
|
||||||
} > FLASH
|
|
||||||
|
|
||||||
.ARM.extab :
|
|
||||||
{
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
} > FLASH
|
|
||||||
|
|
||||||
__exidx_start = .;
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > FLASH
|
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
/* To copy multiple ROM to RAM sections,
|
|
||||||
* uncomment .copy.table section and,
|
|
||||||
* define __STARTUP_COPY_MULTIPLE in startup_ARMCMx.S */
|
|
||||||
/*
|
|
||||||
.copy.table :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
__copy_table_start__ = .;
|
|
||||||
LONG (__etext)
|
|
||||||
LONG (__data_start__)
|
|
||||||
LONG (__data_end__ - __data_start__)
|
|
||||||
LONG (__etext2)
|
|
||||||
LONG (__data2_start__)
|
|
||||||
LONG (__data2_end__ - __data2_start__)
|
|
||||||
__copy_table_end__ = .;
|
|
||||||
} > FLASH
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* To clear multiple BSS sections,
|
|
||||||
* uncomment .zero.table section and,
|
|
||||||
* define __STARTUP_CLEAR_BSS_MULTIPLE in startup_ARMCMx.S */
|
|
||||||
/*
|
|
||||||
.zero.table :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
__zero_table_start__ = .;
|
|
||||||
LONG (__bss_start__)
|
|
||||||
LONG (__bss_end__ - __bss_start__)
|
|
||||||
LONG (__bss2_start__)
|
|
||||||
LONG (__bss2_end__ - __bss2_start__)
|
|
||||||
__zero_table_end__ = .;
|
|
||||||
} > FLASH
|
|
||||||
*/
|
|
||||||
|
|
||||||
__etext = .;
|
|
||||||
|
|
||||||
.data : AT (__etext)
|
|
||||||
{
|
|
||||||
__data_start__ = .;
|
|
||||||
*(vtable)
|
|
||||||
*(.data*)
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
/* preinit data */
|
|
||||||
PROVIDE_HIDDEN (__preinit_array_start = .);
|
|
||||||
KEEP(*(.preinit_array))
|
|
||||||
PROVIDE_HIDDEN (__preinit_array_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
/* init data */
|
|
||||||
PROVIDE_HIDDEN (__init_array_start = .);
|
|
||||||
KEEP(*(SORT(.init_array.*)))
|
|
||||||
KEEP(*(.init_array))
|
|
||||||
PROVIDE_HIDDEN (__init_array_end = .);
|
|
||||||
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
/* finit data */
|
|
||||||
PROVIDE_HIDDEN (__fini_array_start = .);
|
|
||||||
KEEP(*(SORT(.fini_array.*)))
|
|
||||||
KEEP(*(.fini_array))
|
|
||||||
PROVIDE_HIDDEN (__fini_array_end = .);
|
|
||||||
|
|
||||||
KEEP(*(.jcr*))
|
|
||||||
. = ALIGN(4);
|
|
||||||
/* All data end */
|
|
||||||
__data_end__ = .;
|
|
||||||
|
|
||||||
} > RAM
|
|
||||||
|
|
||||||
.bss :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
__bss_start__ = .;
|
|
||||||
*(.bss*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
__bss_end__ = .;
|
|
||||||
} > RAM
|
|
||||||
|
|
||||||
.heap (COPY):
|
|
||||||
{
|
|
||||||
__HeapBase = .;
|
|
||||||
__end__ = .;
|
|
||||||
end = __end__;
|
|
||||||
KEEP(*(.heap*))
|
|
||||||
__HeapLimit = .;
|
|
||||||
} > RAM
|
|
||||||
|
|
||||||
/* .stack_dummy section doesn't contains any symbols. It is only
|
|
||||||
* used for linker to calculate size of stack sections, and assign
|
|
||||||
* values to stack symbols later */
|
|
||||||
.stack_dummy (COPY):
|
|
||||||
{
|
|
||||||
KEEP(*(.stack*))
|
|
||||||
} > RAM
|
|
||||||
|
|
||||||
/* Set stack top to end of RAM, and stack limit move down by
|
|
||||||
* size of stack_dummy section */
|
|
||||||
__StackTop = ORIGIN(RAM) + LENGTH(RAM);
|
|
||||||
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
|
|
||||||
PROVIDE(__stack = __StackTop);
|
|
||||||
|
|
||||||
/* Check if data + heap + stack exceeds RAM limit */
|
|
||||||
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
|
|
||||||
}
|
|
|
@ -1,314 +0,0 @@
|
||||||
/* File: startup_ARMCM7.S
|
|
||||||
* Purpose: startup file for Cortex-M7 devices. Should use with
|
|
||||||
* GCC for ARM Embedded Processors
|
|
||||||
* Version: V1.00
|
|
||||||
* Date: 22 August 2014
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/* Copyright (c) 2011 - 2014 ARM LIMITED
|
|
||||||
|
|
||||||
All rights reserved.
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
- Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
- Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
- Neither the name of ARM nor the names of its contributors may be used
|
|
||||||
to endorse or promote products derived from this software without
|
|
||||||
specific prior written permission.
|
|
||||||
*
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
|
|
||||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
.arch armv7-m
|
|
||||||
|
|
||||||
.section .stack
|
|
||||||
.align 3
|
|
||||||
#ifdef __STACK_SIZE
|
|
||||||
.equ Stack_Size, __STACK_SIZE
|
|
||||||
#else
|
|
||||||
.equ Stack_Size, 0x00000400
|
|
||||||
#endif
|
|
||||||
.globl __StackTop
|
|
||||||
.globl __StackLimit
|
|
||||||
__StackLimit:
|
|
||||||
.space Stack_Size
|
|
||||||
.size __StackLimit, . - __StackLimit
|
|
||||||
__StackTop:
|
|
||||||
.size __StackTop, . - __StackTop
|
|
||||||
|
|
||||||
.section .heap
|
|
||||||
.align 3
|
|
||||||
#ifdef __HEAP_SIZE
|
|
||||||
.equ Heap_Size, __HEAP_SIZE
|
|
||||||
#else
|
|
||||||
.equ Heap_Size, 0x00000C00
|
|
||||||
#endif
|
|
||||||
.globl __HeapBase
|
|
||||||
.globl __HeapLimit
|
|
||||||
__HeapBase:
|
|
||||||
.if Heap_Size
|
|
||||||
.space Heap_Size
|
|
||||||
.endif
|
|
||||||
.size __HeapBase, . - __HeapBase
|
|
||||||
__HeapLimit:
|
|
||||||
.size __HeapLimit, . - __HeapLimit
|
|
||||||
|
|
||||||
.section .vectors
|
|
||||||
.align 2
|
|
||||||
.globl __Vectors
|
|
||||||
__Vectors:
|
|
||||||
.long __StackTop /* Top of Stack */
|
|
||||||
.long Reset_Handler /* Reset Handler */
|
|
||||||
.long NMI_Handler /* NMI Handler */
|
|
||||||
.long HardFault_Handler /* Hard Fault Handler */
|
|
||||||
.long MemManage_Handler /* MPU Fault Handler */
|
|
||||||
.long BusFault_Handler /* Bus Fault Handler */
|
|
||||||
.long UsageFault_Handler /* Usage Fault Handler */
|
|
||||||
.long 0 /* Reserved */
|
|
||||||
.long 0 /* Reserved */
|
|
||||||
.long 0 /* Reserved */
|
|
||||||
.long 0 /* Reserved */
|
|
||||||
.long SVC_Handler /* SVCall Handler */
|
|
||||||
.long DebugMon_Handler /* Debug Monitor Handler */
|
|
||||||
.long 0 /* Reserved */
|
|
||||||
.long PendSV_Handler /* PendSV Handler */
|
|
||||||
.long SysTick_Handler /* SysTick Handler */
|
|
||||||
|
|
||||||
/* External interrupts */
|
|
||||||
.long WDT_IRQHandler /* 0: Watchdog Timer */
|
|
||||||
.long RTC_IRQHandler /* 1: Real Time Clock */
|
|
||||||
.long TIM0_IRQHandler /* 2: Timer0 / Timer1 */
|
|
||||||
.long TIM2_IRQHandler /* 3: Timer2 / Timer3 */
|
|
||||||
.long MCIA_IRQHandler /* 4: MCIa */
|
|
||||||
.long MCIB_IRQHandler /* 5: MCIb */
|
|
||||||
.long UART0_IRQHandler /* 6: UART0 - DUT FPGA */
|
|
||||||
.long UART1_IRQHandler /* 7: UART1 - DUT FPGA */
|
|
||||||
.long UART2_IRQHandler /* 8: UART2 - DUT FPGA */
|
|
||||||
.long UART4_IRQHandler /* 9: UART4 - not connected */
|
|
||||||
.long AACI_IRQHandler /* 10: AACI / AC97 */
|
|
||||||
.long CLCD_IRQHandler /* 11: CLCD Combined Interrupt */
|
|
||||||
.long ENET_IRQHandler /* 12: Ethernet */
|
|
||||||
.long USBDC_IRQHandler /* 13: USB Device */
|
|
||||||
.long USBHC_IRQHandler /* 14: USB Host Controller */
|
|
||||||
.long CHLCD_IRQHandler /* 15: Character LCD */
|
|
||||||
.long FLEXRAY_IRQHandler /* 16: Flexray */
|
|
||||||
.long CAN_IRQHandler /* 17: CAN */
|
|
||||||
.long LIN_IRQHandler /* 18: LIN */
|
|
||||||
.long I2C_IRQHandler /* 19: I2C ADC/DAC */
|
|
||||||
.long 0 /* 20: Reserved */
|
|
||||||
.long 0 /* 21: Reserved */
|
|
||||||
.long 0 /* 22: Reserved */
|
|
||||||
.long 0 /* 23: Reserved */
|
|
||||||
.long 0 /* 24: Reserved */
|
|
||||||
.long 0 /* 25: Reserved */
|
|
||||||
.long 0 /* 26: Reserved */
|
|
||||||
.long 0 /* 27: Reserved */
|
|
||||||
.long CPU_CLCD_IRQHandler /* 28: Reserved - CPU FPGA CLCD */
|
|
||||||
.long 0 /* 29: Reserved - CPU FPGA */
|
|
||||||
.long UART3_IRQHandler /* 30: UART3 - CPU FPGA */
|
|
||||||
.long SPI_IRQHandler /* 31: SPI Touchscreen - CPU FPGA */
|
|
||||||
|
|
||||||
.size __Vectors, . - __Vectors
|
|
||||||
|
|
||||||
.text
|
|
||||||
.thumb
|
|
||||||
.thumb_func
|
|
||||||
.align 2
|
|
||||||
.globl Reset_Handler
|
|
||||||
.type Reset_Handler, %function
|
|
||||||
Reset_Handler:
|
|
||||||
/* Firstly it copies data from read only memory to RAM. There are two schemes
|
|
||||||
* to copy. One can copy more than one sections. Another can only copy
|
|
||||||
* one section. The former scheme needs more instructions and read-only
|
|
||||||
* data to implement than the latter.
|
|
||||||
* Macro __STARTUP_COPY_MULTIPLE is used to choose between two schemes. */
|
|
||||||
|
|
||||||
#ifdef __STARTUP_COPY_MULTIPLE
|
|
||||||
/* Multiple sections scheme.
|
|
||||||
*
|
|
||||||
* Between symbol address __copy_table_start__ and __copy_table_end__,
|
|
||||||
* there are array of triplets, each of which specify:
|
|
||||||
* offset 0: LMA of start of a section to copy from
|
|
||||||
* offset 4: VMA of start of a section to copy to
|
|
||||||
* offset 8: size of the section to copy. Must be multiply of 4
|
|
||||||
*
|
|
||||||
* All addresses must be aligned to 4 bytes boundary.
|
|
||||||
*/
|
|
||||||
ldr r4, =__copy_table_start__
|
|
||||||
ldr r5, =__copy_table_end__
|
|
||||||
|
|
||||||
.L_loop0:
|
|
||||||
cmp r4, r5
|
|
||||||
bge .L_loop0_done
|
|
||||||
ldr r1, [r4]
|
|
||||||
ldr r2, [r4, #4]
|
|
||||||
ldr r3, [r4, #8]
|
|
||||||
|
|
||||||
.L_loop0_0:
|
|
||||||
subs r3, #4
|
|
||||||
ittt ge
|
|
||||||
ldrge r0, [r1, r3]
|
|
||||||
strge r0, [r2, r3]
|
|
||||||
bge .L_loop0_0
|
|
||||||
|
|
||||||
adds r4, #12
|
|
||||||
b .L_loop0
|
|
||||||
|
|
||||||
.L_loop0_done:
|
|
||||||
#else
|
|
||||||
/* Single section scheme.
|
|
||||||
*
|
|
||||||
* The ranges of copy from/to are specified by following symbols
|
|
||||||
* __etext: LMA of start of the section to copy from. Usually end of text
|
|
||||||
* __data_start__: VMA of start of the section to copy to
|
|
||||||
* __data_end__: VMA of end of the section to copy to
|
|
||||||
*
|
|
||||||
* All addresses must be aligned to 4 bytes boundary.
|
|
||||||
*/
|
|
||||||
ldr r1, =__etext
|
|
||||||
ldr r2, =__data_start__
|
|
||||||
ldr r3, =__data_end__
|
|
||||||
|
|
||||||
.L_loop1:
|
|
||||||
cmp r2, r3
|
|
||||||
ittt lt
|
|
||||||
ldrlt r0, [r1], #4
|
|
||||||
strlt r0, [r2], #4
|
|
||||||
blt .L_loop1
|
|
||||||
#endif /*__STARTUP_COPY_MULTIPLE */
|
|
||||||
|
|
||||||
/* This part of work usually is done in C library startup code. Otherwise,
|
|
||||||
* define this macro to enable it in this startup.
|
|
||||||
*
|
|
||||||
* There are two schemes too. One can clear multiple BSS sections. Another
|
|
||||||
* can only clear one section. The former is more size expensive than the
|
|
||||||
* latter.
|
|
||||||
*
|
|
||||||
* Define macro __STARTUP_CLEAR_BSS_MULTIPLE to choose the former.
|
|
||||||
* Otherwise efine macro __STARTUP_CLEAR_BSS to choose the later.
|
|
||||||
*/
|
|
||||||
#ifdef __STARTUP_CLEAR_BSS_MULTIPLE
|
|
||||||
/* Multiple sections scheme.
|
|
||||||
*
|
|
||||||
* Between symbol address __copy_table_start__ and __copy_table_end__,
|
|
||||||
* there are array of tuples specifying:
|
|
||||||
* offset 0: Start of a BSS section
|
|
||||||
* offset 4: Size of this BSS section. Must be multiply of 4
|
|
||||||
*/
|
|
||||||
ldr r3, =__zero_table_start__
|
|
||||||
ldr r4, =__zero_table_end__
|
|
||||||
|
|
||||||
.L_loop2:
|
|
||||||
cmp r3, r4
|
|
||||||
bge .L_loop2_done
|
|
||||||
ldr r1, [r3]
|
|
||||||
ldr r2, [r3, #4]
|
|
||||||
movs r0, 0
|
|
||||||
|
|
||||||
.L_loop2_0:
|
|
||||||
subs r2, #4
|
|
||||||
itt ge
|
|
||||||
strge r0, [r1, r2]
|
|
||||||
bge .L_loop2_0
|
|
||||||
|
|
||||||
adds r3, #8
|
|
||||||
b .L_loop2
|
|
||||||
.L_loop2_done:
|
|
||||||
#elif defined (__STARTUP_CLEAR_BSS)
|
|
||||||
/* Single BSS section scheme.
|
|
||||||
*
|
|
||||||
* The BSS section is specified by following symbols
|
|
||||||
* __bss_start__: start of the BSS section.
|
|
||||||
* __bss_end__: end of the BSS section.
|
|
||||||
*
|
|
||||||
* Both addresses must be aligned to 4 bytes boundary.
|
|
||||||
*/
|
|
||||||
ldr r1, =__bss_start__
|
|
||||||
ldr r2, =__bss_end__
|
|
||||||
|
|
||||||
movs r0, 0
|
|
||||||
.L_loop3:
|
|
||||||
cmp r1, r2
|
|
||||||
itt lt
|
|
||||||
strlt r0, [r1], #4
|
|
||||||
blt .L_loop3
|
|
||||||
#endif /* __STARTUP_CLEAR_BSS_MULTIPLE || __STARTUP_CLEAR_BSS */
|
|
||||||
|
|
||||||
#ifndef __NO_SYSTEM_INIT
|
|
||||||
bl SystemInit
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __START
|
|
||||||
#define __START _start
|
|
||||||
#endif
|
|
||||||
bl __START
|
|
||||||
|
|
||||||
.pool
|
|
||||||
.size Reset_Handler, . - Reset_Handler
|
|
||||||
|
|
||||||
.align 1
|
|
||||||
.thumb_func
|
|
||||||
.weak Default_Handler
|
|
||||||
.type Default_Handler, %function
|
|
||||||
Default_Handler:
|
|
||||||
b .
|
|
||||||
.size Default_Handler, . - Default_Handler
|
|
||||||
|
|
||||||
/* Macro to define default handlers. Default handler
|
|
||||||
* will be weak symbol and just dead loops. They can be
|
|
||||||
* overwritten by other handlers */
|
|
||||||
.macro def_irq_handler handler_name
|
|
||||||
.weak \handler_name
|
|
||||||
.set \handler_name, Default_Handler
|
|
||||||
.endm
|
|
||||||
|
|
||||||
def_irq_handler NMI_Handler
|
|
||||||
def_irq_handler HardFault_Handler
|
|
||||||
def_irq_handler MemManage_Handler
|
|
||||||
def_irq_handler BusFault_Handler
|
|
||||||
def_irq_handler UsageFault_Handler
|
|
||||||
def_irq_handler SVC_Handler
|
|
||||||
def_irq_handler DebugMon_Handler
|
|
||||||
def_irq_handler PendSV_Handler
|
|
||||||
def_irq_handler SysTick_Handler
|
|
||||||
|
|
||||||
def_irq_handler WDT_IRQHandler
|
|
||||||
def_irq_handler RTC_IRQHandler
|
|
||||||
def_irq_handler TIM0_IRQHandler
|
|
||||||
def_irq_handler TIM2_IRQHandler
|
|
||||||
def_irq_handler MCIA_IRQHandler
|
|
||||||
def_irq_handler MCIB_IRQHandler
|
|
||||||
def_irq_handler UART0_IRQHandler
|
|
||||||
def_irq_handler UART1_IRQHandler
|
|
||||||
def_irq_handler UART2_IRQHandler
|
|
||||||
def_irq_handler UART3_IRQHandler
|
|
||||||
def_irq_handler UART4_IRQHandler
|
|
||||||
def_irq_handler AACI_IRQHandler
|
|
||||||
def_irq_handler CLCD_IRQHandler
|
|
||||||
def_irq_handler ENET_IRQHandler
|
|
||||||
def_irq_handler USBDC_IRQHandler
|
|
||||||
def_irq_handler USBHC_IRQHandler
|
|
||||||
def_irq_handler CHLCD_IRQHandler
|
|
||||||
def_irq_handler FLEXRAY_IRQHandler
|
|
||||||
def_irq_handler CAN_IRQHandler
|
|
||||||
def_irq_handler LIN_IRQHandler
|
|
||||||
def_irq_handler I2C_IRQHandler
|
|
||||||
def_irq_handler CPU_CLCD_IRQHandler
|
|
||||||
def_irq_handler SPI_IRQHandler
|
|
||||||
|
|
||||||
.end
|
|
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
#include "cmsis.h"
|
#include "cmsis.h"
|
||||||
|
|
||||||
#define NVIC_NUM_VECTORS (16 + 32)
|
#define NVIC_NUM_VECTORS (16 + 48)
|
||||||
#define NVIC_USER_IRQ_OFFSET 16
|
#define NVIC_USER_IRQ_OFFSET 16
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -32,10 +32,6 @@
|
||||||
* @file system_CMSDK_CM7.c
|
* @file system_CMSDK_CM7.c
|
||||||
* @brief CMSIS Device System Source File for
|
* @brief CMSIS Device System Source File for
|
||||||
* CMSDK_CM7 Device
|
* CMSDK_CM7 Device
|
||||||
* @version V1.00
|
|
||||||
* @date 27. August 2014
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
@ -64,6 +60,9 @@
|
||||||
uint32_t SystemCoreClock = __SYSTEM_CLOCK;/* System Core Clock Frequency */
|
uint32_t SystemCoreClock = __SYSTEM_CLOCK;/* System Core Clock Frequency */
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------------
|
||||||
|
Clock functions
|
||||||
|
*----------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
* Update SystemCoreClock variable
|
* Update SystemCoreClock variable
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* MPS2 CMSIS Library
|
/* MPS2 CMSIS Library
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
* Copyright (c) 2006-2016 ARM Limited
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -33,10 +33,6 @@
|
||||||
* @file system_CMSDK_CM7.h
|
* @file system_CMSDK_CM7.h
|
||||||
* @brief CMSIS Device Peripheral Access Layer Header File for
|
* @brief CMSIS Device Peripheral Access Layer Header File for
|
||||||
* CMSDK_CM7 Device
|
* CMSDK_CM7 Device
|
||||||
* @version V1.00
|
|
||||||
* @date 27. August 2014
|
|
||||||
*
|
|
||||||
* @note
|
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -73,14 +73,14 @@
|
||||||
// <o.0..5> MSEL: Feedback Divider Selection
|
// <o.0..5> MSEL: Feedback Divider Selection
|
||||||
// <i> M = MSEL + 1
|
// <i> M = MSEL + 1
|
||||||
// <0-31>
|
// <0-31>
|
||||||
// <o.5..7> PSEL: Post Divider Selection
|
// <o.6..7> PSEL: Post Divider Selection
|
||||||
// <i> Post divider ratio P. Division ratio is 2 * P
|
// <i> Post divider ratio P. Division ratio is 2 * P
|
||||||
// <0=> P = 1
|
// <0=> P = 1
|
||||||
// <1=> P = 2
|
// <1=> P = 2
|
||||||
// <2=> P = 4
|
// <2=> P = 4
|
||||||
// <3=> P = 8
|
// <3=> P = 8
|
||||||
// </h>
|
// </h>
|
||||||
#define SYSPLLCTRL_Val 0x00000005 // Reset value: 0x000
|
#define SYSPLLCTRL_Val 0x00000045 // Reset value: 0x000
|
||||||
//
|
//
|
||||||
// <o.0..7> System AHB Clock Divider (SYSAHBCLKDIV.DIV)
|
// <o.0..7> System AHB Clock Divider (SYSAHBCLKDIV.DIV)
|
||||||
// <i> Divides main clock to provide system clock to core, memories, and peripherals.
|
// <i> Divides main clock to provide system clock to core, memories, and peripherals.
|
||||||
|
@ -156,7 +156,7 @@
|
||||||
// <2=> P = 4
|
// <2=> P = 4
|
||||||
// <3=> P = 8
|
// <3=> P = 8
|
||||||
// </h>
|
// </h>
|
||||||
#define SCTPLLCTRL_Val 0x00000005 // Reset value: 0x000
|
#define SCTPLLCTRL_Val 0x00000045 // Reset value: 0x000
|
||||||
//
|
//
|
||||||
// <o.0..1> SCT PLL Clock Source Select (SCTPLLCLKSEL.SEL)
|
// <o.0..1> SCT PLL Clock Source Select (SCTPLLCLKSEL.SEL)
|
||||||
// <0=> IRC Oscillator
|
// <0=> IRC Oscillator
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
/*###ICF### Section handled by ICF editor, don't touch! ****/
|
||||||
|
/*-Editor annotation file-*/
|
||||||
|
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */
|
||||||
|
/*-Specials-*/
|
||||||
|
define symbol __ICFEDIT_intvec_start__ = 0x18004000;
|
||||||
|
/*-Memory Regions-*/
|
||||||
|
define symbol __ICFEDIT_region_ROM_start__ = 0x18000000;
|
||||||
|
define symbol __ICFEDIT_region_ROM_end__ = 0x187FFFFF;
|
||||||
|
define symbol __ICFEDIT_region_TTB_start__ = 0x20000000;
|
||||||
|
define symbol __ICFEDIT_region_TTB_end__ = 0x2001FFFF;
|
||||||
|
define symbol __ICFEDIT_region_RAM_start__ = 0x20020000;
|
||||||
|
define symbol __ICFEDIT_region_RAM_end__ = 0x209FFFFF;
|
||||||
|
|
||||||
|
/*-Sizes-*/
|
||||||
|
define symbol __ICFEDIT_size_cstack__ = 0x00004000;
|
||||||
|
define symbol __ICFEDIT_size_svcstack__ = 0x00008000;
|
||||||
|
define symbol __ICFEDIT_size_irqstack__ = 0x00008000;
|
||||||
|
define symbol __ICFEDIT_size_fiqstack__ = 0x00000100;
|
||||||
|
define symbol __ICFEDIT_size_undstack__ = 0x00000100;
|
||||||
|
define symbol __ICFEDIT_size_abtstack__ = 0x00000100;
|
||||||
|
define symbol __ICFEDIT_size_heap__ = 0x00080000;
|
||||||
|
/**** End of ICF editor section. ###ICF###*/
|
||||||
|
|
||||||
|
define symbol __ICFEDIT_region_RetRAM_start__ = 0x20000000;
|
||||||
|
define symbol __ICFEDIT_region_RetRAM_end__ = 0x2001FFFF;
|
||||||
|
|
||||||
|
define symbol __ICFEDIT_region_MirrorRAM_start__ = 0x60900000;
|
||||||
|
define symbol __ICFEDIT_region_MirrorRAM_end__ = 0x609FFFFF;
|
||||||
|
|
||||||
|
define symbol __ICFEDIT_region_MirrorRetRAM_start__ = 0x60000000;
|
||||||
|
define symbol __ICFEDIT_region_MirrorRetRAM_end__ = 0x6001FFFF;
|
||||||
|
|
||||||
|
define memory mem with size = 4G;
|
||||||
|
|
||||||
|
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
|
||||||
|
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
|
||||||
|
define region RetRAM_region = mem:[from __ICFEDIT_region_RetRAM_start__ to __ICFEDIT_region_RetRAM_end__];
|
||||||
|
define region MirrorRAM_region = mem:[from __ICFEDIT_region_MirrorRAM_start__ to __ICFEDIT_region_MirrorRAM_end__];
|
||||||
|
define region MirrorRetRAM_region = mem:[from __ICFEDIT_region_MirrorRetRAM_start__ to __ICFEDIT_region_MirrorRetRAM_end__];
|
||||||
|
|
||||||
|
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
|
||||||
|
define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { };
|
||||||
|
define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { };
|
||||||
|
define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };
|
||||||
|
define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { };
|
||||||
|
define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { };
|
||||||
|
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
|
||||||
|
|
||||||
|
initialize by copy { readwrite };
|
||||||
|
do not initialize { section .noinit };
|
||||||
|
do not initialize { section MMU_TT };
|
||||||
|
|
||||||
|
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
|
||||||
|
|
||||||
|
place in ROM_region { readonly };
|
||||||
|
place in RAM_region { readwrite,
|
||||||
|
block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK,
|
||||||
|
block UND_STACK, block ABT_STACK, block HEAP };
|
||||||
|
|
||||||
|
place in RetRAM_region { section .retram };
|
||||||
|
place in MirrorRAM_region { section .mirrorram };
|
||||||
|
place in MirrorRetRAM_region { section .mirrorretram };
|
|
@ -0,0 +1,505 @@
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;;
|
||||||
|
;; Part one of the system initialization code,
|
||||||
|
;; contains low-level
|
||||||
|
;; initialization.
|
||||||
|
;;
|
||||||
|
;; Copyright 2007 IAR Systems. All rights reserved.
|
||||||
|
;;
|
||||||
|
;; $Revision: 49919 $
|
||||||
|
;;
|
||||||
|
|
||||||
|
MODULE ?cstartup
|
||||||
|
|
||||||
|
;; Forward declaration of sections.
|
||||||
|
SECTION SVC_STACK:DATA:NOROOT(3)
|
||||||
|
SECTION IRQ_STACK:DATA:NOROOT(3)
|
||||||
|
SECTION ABT_STACK:DATA:NOROOT(3)
|
||||||
|
SECTION FIQ_STACK:DATA:NOROOT(3)
|
||||||
|
SECTION UND_STACK:DATA:NOROOT(3)
|
||||||
|
SECTION CSTACK:DATA:NOROOT(3)
|
||||||
|
|
||||||
|
;
|
||||||
|
; The module in this file are included in the libraries, and may be
|
||||||
|
; replaced by any user-defined modules that define the PUBLIC symbol
|
||||||
|
; __iar_program_start or a user defined start symbol.
|
||||||
|
;
|
||||||
|
; To override the cstartup defined in the library, simply add your
|
||||||
|
; modified version to the workbench project.
|
||||||
|
|
||||||
|
SECTION .intvec:CODE:NOROOT(2)
|
||||||
|
|
||||||
|
PUBLIC __vector
|
||||||
|
PUBLIC __iar_program_start
|
||||||
|
PUBLIC Undefined_Handler
|
||||||
|
EXTERN SWI_Handler
|
||||||
|
PUBLIC Prefetch_Handler
|
||||||
|
PUBLIC Abort_Handler
|
||||||
|
PUBLIC IRQ_Handler
|
||||||
|
PUBLIC FIQ_Handler
|
||||||
|
EXTERN VbarInit
|
||||||
|
EXTERN SetLowVectors
|
||||||
|
EXTERN init_TTB
|
||||||
|
EXTERN enable_mmu
|
||||||
|
EXTERN Peripheral_BasicInit
|
||||||
|
EXTERN initsct
|
||||||
|
EXTERN PowerON_Reset
|
||||||
|
PUBLIC FPUEnable
|
||||||
|
|
||||||
|
|
||||||
|
DATA
|
||||||
|
|
||||||
|
__iar_init$$done: ; The vector table is not needed
|
||||||
|
; until after copy initialization is done
|
||||||
|
|
||||||
|
__vector: ; Make this a DATA label, so that stack usage
|
||||||
|
; analysis doesn't consider it an uncalled fun
|
||||||
|
|
||||||
|
ARM
|
||||||
|
|
||||||
|
; All default exception handlers (except reset) are
|
||||||
|
; defined as weak symbol definitions.
|
||||||
|
; If a handler is defined by the application it will take precedence.
|
||||||
|
LDR PC,Reset_Addr ; Reset
|
||||||
|
LDR PC,Undefined_Addr ; Undefined instructions
|
||||||
|
LDR PC,SWI_Addr ; Software interrupt (SWI/SVC)
|
||||||
|
LDR PC,Prefetch_Addr ; Prefetch abort
|
||||||
|
LDR PC,Abort_Addr ; Data abort
|
||||||
|
DCD 0 ; RESERVED
|
||||||
|
LDR PC,IRQ_Addr ; IRQ
|
||||||
|
LDR PC,FIQ_Addr ; FIQ
|
||||||
|
|
||||||
|
DATA
|
||||||
|
|
||||||
|
Reset_Addr: DCD __iar_program_start
|
||||||
|
Undefined_Addr: DCD Undefined_Handler
|
||||||
|
SWI_Addr: DCD SWI_Handler
|
||||||
|
Prefetch_Addr: DCD Prefetch_Handler
|
||||||
|
Abort_Addr: DCD Abort_Handler
|
||||||
|
IRQ_Addr: DCD IRQ_Handler
|
||||||
|
FIQ_Addr: DCD FIQ_Handler
|
||||||
|
|
||||||
|
|
||||||
|
; --------------------------------------------------
|
||||||
|
; ?cstartup -- low-level system initialization code.
|
||||||
|
;
|
||||||
|
; After a reset execution starts here, the mode is ARM, supervisor
|
||||||
|
; with interrupts disabled.
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SECTION .text:CODE:NOROOT(2)
|
||||||
|
EXTERN RZ_A1_SetSramWriteEnable
|
||||||
|
EXTERN create_translation_table
|
||||||
|
EXTERN SystemInit
|
||||||
|
EXTERN InitMemorySubsystem
|
||||||
|
EXTERN __cmain
|
||||||
|
REQUIRE __vector
|
||||||
|
EXTWEAK __iar_init_core
|
||||||
|
EXTWEAK __iar_init_vfp
|
||||||
|
|
||||||
|
|
||||||
|
ARM
|
||||||
|
|
||||||
|
__iar_program_start:
|
||||||
|
?cstartup:
|
||||||
|
|
||||||
|
|
||||||
|
;;; @ Put any cores other than 0 to sleep
|
||||||
|
mrc p15, 0, r0, c0, c0, 5 ;;; @ Read MPIDR
|
||||||
|
ands r0, r0, #3
|
||||||
|
|
||||||
|
goToSleep:
|
||||||
|
wfine
|
||||||
|
bne goToSleep
|
||||||
|
|
||||||
|
|
||||||
|
//@ Enable access to NEON/VFP by enabling access to Coprocessors 10 and 11.
|
||||||
|
//@ Enables Full Access i.e. in both privileged and non privileged modes
|
||||||
|
mrc p15, 0, r0, c1, c0, 2 ;@ Read Coprocessor Access Control Register (CPACR)
|
||||||
|
orr r0, r0, #(0xF << 20) ;@ Enable access to CP 10 & 11
|
||||||
|
mcr p15, 0, r0, c1, c0, 2 ;@ Write Coprocessor Access Control Register (CPACR)
|
||||||
|
isb
|
||||||
|
|
||||||
|
|
||||||
|
;; Switch on the VFP and NEON hardware
|
||||||
|
mov r0, #0x40000000
|
||||||
|
vmsr fpexc, r0 ;@ Write FPEXC register, EN bit set
|
||||||
|
|
||||||
|
mrc p15, 0, r0, c1, c0, 0 ;@ Read CP15 System Control register
|
||||||
|
bic r0, r0, #(0x1 << 12) ;@ Clear I bit 12 to disable I Cache
|
||||||
|
bic r0, r0, #(0x1 << 2) ;@ Clear C bit 2 to disable D Cache
|
||||||
|
bic r0, r0, #0x1 ;@ Clear M bit 0 to disable MMU
|
||||||
|
bic r0, r0, #(0x1 << 11) ;@ Clear Z bit 11 to disable branch prediction
|
||||||
|
bic r0, r0, #(0x1 << 13) ;@ Clear V bit 13 to disable hivecs
|
||||||
|
mcr p15, 0, r0, c1, c0, 0 ;@ Write value back to CP15 System Control register
|
||||||
|
isb
|
||||||
|
|
||||||
|
|
||||||
|
;; Set Vector Base Address Register (VBAR) to point to this application's vector table
|
||||||
|
ldr r0, =__vector
|
||||||
|
mcr p15, 0, r0, c12, c0, 0
|
||||||
|
|
||||||
|
|
||||||
|
;
|
||||||
|
; Add initialization needed before setup of stackpointers here.
|
||||||
|
;
|
||||||
|
|
||||||
|
;
|
||||||
|
; Initialize the stack pointers.
|
||||||
|
; The pattern below can be used for any of the exception stacks:
|
||||||
|
; FIQ, IRQ, SVC, ABT, UND, SYS.
|
||||||
|
; The USR mode uses the same stack as SYS.
|
||||||
|
; The stack segments must be defined in the linker command file,
|
||||||
|
; and be declared above.
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
; --------------------
|
||||||
|
; Mode, correspords to bits 0-5 in CPSR
|
||||||
|
|
||||||
|
#define MODE_MSK 0x1F ; Bit mask for mode bits in CPSR
|
||||||
|
|
||||||
|
#define USR_MODE 0x10 ; User mode
|
||||||
|
#define FIQ_MODE 0x11 ; Fast Interrupt Request mode
|
||||||
|
#define IRQ_MODE 0x12 ; Interrupt Request mode
|
||||||
|
#define SVC_MODE 0x13 ; Supervisor mode
|
||||||
|
#define ABT_MODE 0x17 ; Abort mode
|
||||||
|
#define UND_MODE 0x1B ; Undefined Instruction mode
|
||||||
|
#define SYS_MODE 0x1F ; System mode
|
||||||
|
|
||||||
|
#define Mode_SVC 0x13
|
||||||
|
#define Mode_ABT 0x17
|
||||||
|
#define Mode_UND 0x1B
|
||||||
|
#define GICI_BASE 0xe8202000
|
||||||
|
#define ICCIAR_OFFSET 0x0000000C
|
||||||
|
#define ICCEOIR_OFFSET 0x00000010
|
||||||
|
#define ICCHPIR_OFFSET 0x00000018
|
||||||
|
#define GICD_BASE 0xe8201000
|
||||||
|
#define GIC_ERRATA_CHECK_1 0x000003FE
|
||||||
|
#define GIC_ERRATA_CHECK_2 0x000003FF
|
||||||
|
#define ICDABR0_OFFSET 0x00000300
|
||||||
|
#define ICDIPR0_OFFSET 0x00000400
|
||||||
|
#define T_Bit 0x20 ; when T bit is set, core is in Thumb state
|
||||||
|
|
||||||
|
MRS r0, cpsr ; Original PSR value
|
||||||
|
|
||||||
|
;; Set up the SVC stack pointer.
|
||||||
|
BIC r0, r0, #MODE_MSK ; Clear the mode bits
|
||||||
|
ORR r0, r0, #SVC_MODE ; Set SVC mode bits
|
||||||
|
MSR cpsr_c, r0 ; Change the mode
|
||||||
|
LDR sp, =SFE(SVC_STACK) ; End of SVC_STACK
|
||||||
|
BIC sp,sp,#0x7 ; Make sure SP is 8 aligned
|
||||||
|
|
||||||
|
;; Set up the interrupt stack pointer.
|
||||||
|
|
||||||
|
BIC r0, r0, #MODE_MSK ; Clear the mode bits
|
||||||
|
ORR r0, r0, #IRQ_MODE ; Set IRQ mode bits
|
||||||
|
MSR cpsr_c, r0 ; Change the mode
|
||||||
|
LDR sp, =SFE(IRQ_STACK) ; End of IRQ_STACK
|
||||||
|
BIC sp,sp,#0x7 ; Make sure SP is 8 aligned
|
||||||
|
|
||||||
|
;; Set up the fast interrupt stack pointer.
|
||||||
|
|
||||||
|
BIC r0, r0, #MODE_MSK ; Clear the mode bits
|
||||||
|
ORR r0, r0, #FIQ_MODE ; Set FIR mode bits
|
||||||
|
MSR cpsr_c, r0 ; Change the mode
|
||||||
|
LDR sp, =SFE(FIQ_STACK) ; End of FIQ_STACK
|
||||||
|
BIC sp,sp,#0x7 ; Make sure SP is 8 aligned
|
||||||
|
|
||||||
|
|
||||||
|
;; Set up the ABT stack pointer.
|
||||||
|
|
||||||
|
BIC r0 ,r0, #MODE_MSK ; Clear the mode bits
|
||||||
|
ORR r0 ,r0, #ABT_MODE ; Set System mode bits
|
||||||
|
MSR cpsr_c, r0 ; Change the mode
|
||||||
|
LDR sp, =SFE(ABT_STACK) ; End of CSTACK
|
||||||
|
BIC sp,sp,#0x7 ; Make sure SP is 8 aligned
|
||||||
|
|
||||||
|
|
||||||
|
;; Set up the UDF stack pointer.
|
||||||
|
|
||||||
|
BIC r0 ,r0, #MODE_MSK ; Clear the mode bits
|
||||||
|
ORR r0 ,r0, #UND_MODE ; Set System mode bits
|
||||||
|
MSR cpsr_c, r0 ; Change the mode
|
||||||
|
LDR sp, =SFE(UND_STACK) ; End of CSTACK
|
||||||
|
BIC sp,sp,#0x7 ; Make sure SP is 8 aligned
|
||||||
|
|
||||||
|
;; Set up the normal stack pointer.
|
||||||
|
|
||||||
|
BIC r0 ,r0, #MODE_MSK ; Clear the mode bits
|
||||||
|
ORR r0 ,r0, #SYS_MODE ; Set System mode bits
|
||||||
|
MSR cpsr_c, r0 ; Change the mode
|
||||||
|
LDR sp, =SFE(CSTACK) ; End of CSTACK
|
||||||
|
BIC sp,sp,#0x7 ; Make sure SP is 8 aligned
|
||||||
|
|
||||||
|
;;;
|
||||||
|
|
||||||
|
isb
|
||||||
|
ldr r0, =RZ_A1_SetSramWriteEnable
|
||||||
|
blx r0
|
||||||
|
|
||||||
|
bl create_translation_table
|
||||||
|
|
||||||
|
; USR/SYS stack pointer will be set during kernel init
|
||||||
|
ldr r0, =SystemInit
|
||||||
|
blx r0
|
||||||
|
ldr r0, =InitMemorySubsystem
|
||||||
|
blx r0
|
||||||
|
|
||||||
|
; fp_init
|
||||||
|
mov r0, #0x3000000
|
||||||
|
vmsr fpscr, r0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;;; Continue to __cmain for C-level initialization.
|
||||||
|
|
||||||
|
FUNCALL __iar_program_start, __cmain
|
||||||
|
B __cmain
|
||||||
|
|
||||||
|
|
||||||
|
ldr r0, sf_boot ;@ dummy to keep boot loader area
|
||||||
|
loop_here:
|
||||||
|
b loop_here
|
||||||
|
|
||||||
|
sf_boot:
|
||||||
|
DC32 0x00000001
|
||||||
|
|
||||||
|
Undefined_Handler:
|
||||||
|
EXTERN CUndefHandler
|
||||||
|
SRSDB SP!, #Mode_UND
|
||||||
|
PUSH {R0-R4, R12} /* Save APCS corruptible registers to UND mode stack */
|
||||||
|
|
||||||
|
MRS R0, SPSR
|
||||||
|
TST R0, #T_Bit /* Check mode */
|
||||||
|
MOVEQ R1, #4 /* R1 = 4 ARM mode */
|
||||||
|
MOVNE R1, #2 /* R1 = 2 Thumb mode */
|
||||||
|
SUB R0, LR, R1
|
||||||
|
LDREQ R0, [R0] /* ARM mode - R0 points to offending instruction */
|
||||||
|
BEQ undef_cont
|
||||||
|
|
||||||
|
/* Thumb instruction */
|
||||||
|
/* Determine if it is a 32-bit Thumb instruction */
|
||||||
|
LDRH R0, [R0]
|
||||||
|
MOV R2, #0x1c
|
||||||
|
CMP R2, R0, LSR #11
|
||||||
|
BHS undef_cont /* 16-bit Thumb instruction */
|
||||||
|
|
||||||
|
/* 32-bit Thumb instruction. Unaligned - we need to reconstruct the offending instruction. */
|
||||||
|
LDRH R2, [LR]
|
||||||
|
ORR R0, R2, R0, LSL #16
|
||||||
|
undef_cont:
|
||||||
|
MOV R2, LR /* Set LR to third argument */
|
||||||
|
|
||||||
|
/* AND R12, SP, #4 */ /* Ensure stack is 8-byte aligned */
|
||||||
|
MOV R3, SP /* Ensure stack is 8-byte aligned */
|
||||||
|
AND R12, R3, #4
|
||||||
|
SUB SP, SP, R12 /* Adjust stack */
|
||||||
|
PUSH {R12, LR} /* Store stack adjustment and dummy LR */
|
||||||
|
|
||||||
|
/* R0 Offending instruction */
|
||||||
|
/* R1 =2 (Thumb) or =4 (ARM) */
|
||||||
|
BL CUndefHandler
|
||||||
|
|
||||||
|
POP {R12, LR} /* Get stack adjustment & discard dummy LR */
|
||||||
|
ADD SP, SP, R12 /* Unadjust stack */
|
||||||
|
|
||||||
|
LDR LR, [SP, #24] /* Restore stacked LR and possibly adjust for retry */
|
||||||
|
SUB LR, LR, R0
|
||||||
|
LDR R0, [SP, #28] /* Restore stacked SPSR */
|
||||||
|
MSR SPSR_cxsf, R0
|
||||||
|
POP {R0-R4, R12} /* Restore stacked APCS registers */
|
||||||
|
ADD SP, SP, #8 /* Adjust SP for already-restored banked registers */
|
||||||
|
MOVS PC, LR
|
||||||
|
|
||||||
|
Prefetch_Handler:
|
||||||
|
EXTERN CPAbtHandler
|
||||||
|
SUB LR, LR, #4 /* Pre-adjust LR */
|
||||||
|
SRSDB SP!, #Mode_ABT /* Save LR and SPRS to ABT mode stack */
|
||||||
|
PUSH {R0-R4, R12} /* Save APCS corruptible registers to ABT mode stack */
|
||||||
|
MRC p15, 0, R0, c5, c0, 1 /* IFSR */
|
||||||
|
MRC p15, 0, R1, c6, c0, 2 /* IFAR */
|
||||||
|
|
||||||
|
MOV R2, LR /* Set LR to third argument */
|
||||||
|
|
||||||
|
/* AND R12, SP, #4 */ /* Ensure stack is 8-byte aligned */
|
||||||
|
MOV R3, SP /* Ensure stack is 8-byte aligned */
|
||||||
|
AND R12, R3, #4
|
||||||
|
SUB SP, SP, R12 /* Adjust stack */
|
||||||
|
PUSH {R12, LR} /* Store stack adjustment and dummy LR */
|
||||||
|
|
||||||
|
BL CPAbtHandler
|
||||||
|
|
||||||
|
POP {R12, LR} /* Get stack adjustment & discard dummy LR */
|
||||||
|
ADD SP, SP, R12 /* Unadjust stack */
|
||||||
|
|
||||||
|
POP {R0-R4, R12} /* Restore stack APCS registers */
|
||||||
|
RFEFD SP! /* Return from exception */
|
||||||
|
|
||||||
|
Abort_Handler:
|
||||||
|
EXTERN CDAbtHandler
|
||||||
|
SUB LR, LR, #8 /* Pre-adjust LR */
|
||||||
|
SRSDB SP!, #Mode_ABT /* Save LR and SPRS to ABT mode stack */
|
||||||
|
PUSH {R0-R4, R12} /* Save APCS corruptible registers to ABT mode stack */
|
||||||
|
CLREX /* State of exclusive monitors unknown after taken data abort */
|
||||||
|
MRC p15, 0, R0, c5, c0, 0 /* DFSR */
|
||||||
|
MRC p15, 0, R1, c6, c0, 0 /* DFAR */
|
||||||
|
|
||||||
|
MOV R2, LR /* Set LR to third argument */
|
||||||
|
|
||||||
|
/* AND R12, SP, #4 */ /* Ensure stack is 8-byte aligned */
|
||||||
|
MOV R3, SP /* Ensure stack is 8-byte aligned */
|
||||||
|
AND R12, R3, #4
|
||||||
|
SUB SP, SP, R12 /* Adjust stack */
|
||||||
|
PUSH {R12, LR} /* Store stack adjustment and dummy LR */
|
||||||
|
|
||||||
|
BL CDAbtHandler
|
||||||
|
|
||||||
|
POP {R12, LR} /* Get stack adjustment & discard dummy LR */
|
||||||
|
ADD SP, SP, R12 /* Unadjust stack */
|
||||||
|
|
||||||
|
POP {R0-R4, R12} /* Restore stacked APCS registers */
|
||||||
|
RFEFD SP! /* Return from exception */
|
||||||
|
|
||||||
|
FIQ_Handler:
|
||||||
|
/* An FIQ might occur between the dummy read and the real read of the GIC in IRQ_Handler,
|
||||||
|
* so if a real FIQ Handler is implemented, this will be needed before returning:
|
||||||
|
*/
|
||||||
|
/* LDR R1, =GICI_BASE
|
||||||
|
LDR R0, [R1, #ICCHPIR_OFFSET] ; Dummy Read ICCHPIR (GIC CPU Interface register) to avoid GIC 390 errata 801120
|
||||||
|
*/
|
||||||
|
B .
|
||||||
|
|
||||||
|
EXTERN SVC_Handler /* refer RTX function */
|
||||||
|
|
||||||
|
IRQ_Handler:
|
||||||
|
EXTERN IRQCount
|
||||||
|
EXTERN IRQTable
|
||||||
|
EXTERN IRQNestLevel
|
||||||
|
|
||||||
|
/* prologue */
|
||||||
|
SUB LR, LR, #4 /* Pre-adjust LR */
|
||||||
|
SRSDB SP!, #Mode_SVC /* Save LR_IRQ and SPRS_IRQ to SVC mode stack */
|
||||||
|
CPS #Mode_SVC /* Switch to SVC mode, to avoid a nested interrupt corrupting LR on a BL */
|
||||||
|
PUSH {R0-R3, R12} /* Save remaining APCS corruptible registers to SVC stack */
|
||||||
|
|
||||||
|
/* AND R1, SP, #4 */ /* Ensure stack is 8-byte aligned */
|
||||||
|
MOV R3, SP /* Ensure stack is 8-byte aligned */
|
||||||
|
AND R1, R3, #4
|
||||||
|
SUB SP, SP, R1 /* Adjust stack */
|
||||||
|
PUSH {R1, LR} /* Store stack adjustment and LR_SVC to SVC stack */
|
||||||
|
|
||||||
|
LDR R0, =IRQNestLevel /* Get address of nesting counter */
|
||||||
|
LDR R1, [R0]
|
||||||
|
ADD R1, R1, #1 /* Increment nesting counter */
|
||||||
|
STR R1, [R0]
|
||||||
|
|
||||||
|
/* identify and acknowledge interrupt */
|
||||||
|
LDR R1, =GICI_BASE
|
||||||
|
LDR R0, [R1, #ICCHPIR_OFFSET] /* Dummy Read ICCHPIR (GIC CPU Interface register) to avoid GIC 390 errata 801120 */
|
||||||
|
LDR R0, [R1, #ICCIAR_OFFSET] /* Read ICCIAR (GIC CPU Interface register) */
|
||||||
|
DSB /* Ensure that interrupt acknowledge completes before re-enabling interrupts */
|
||||||
|
|
||||||
|
/* Workaround GIC 390 errata 733075
|
||||||
|
* If the ID is not 0, then service the interrupt as normal.
|
||||||
|
* If the ID is 0 and active, then service interrupt ID 0 as normal.
|
||||||
|
* If the ID is 0 but not active, then the GIC CPU interface may be locked-up, so unlock it
|
||||||
|
* with a dummy write to ICDIPR0. This interrupt should be treated as spurious and not serviced.
|
||||||
|
*/
|
||||||
|
LDR R2, =GICD_BASE
|
||||||
|
LDR R3, =GIC_ERRATA_CHECK_1
|
||||||
|
CMP R0, R3
|
||||||
|
BEQ unlock_cpu
|
||||||
|
LDR R3, =GIC_ERRATA_CHECK_2
|
||||||
|
CMP R0, R3
|
||||||
|
BEQ unlock_cpu
|
||||||
|
CMP R0, #0
|
||||||
|
BNE int_active /* If the ID is not 0, then service the interrupt */
|
||||||
|
LDR R3, [R2, #ICDABR0_OFFSET] /* Get the interrupt state */
|
||||||
|
TST R3, #1
|
||||||
|
BNE int_active /* If active, then service the interrupt */
|
||||||
|
unlock_cpu:
|
||||||
|
LDR R3, [R2, #ICDIPR0_OFFSET] /* Not active, so unlock the CPU interface */
|
||||||
|
STR R3, [R2, #ICDIPR0_OFFSET] /* with a dummy write */
|
||||||
|
DSB /* Ensure the write completes before continuing */
|
||||||
|
B ret_irq /* Do not service the spurious interrupt */
|
||||||
|
/* End workaround */
|
||||||
|
|
||||||
|
int_active:
|
||||||
|
LDR R2, =IRQCount /* Read number of IRQs */
|
||||||
|
LDR R2, [R2]
|
||||||
|
CMP R0, R2 /* Clean up and return if no handler */
|
||||||
|
BHS ret_irq /* In a single-processor system, spurious interrupt ID 1023 does not need any special handling */
|
||||||
|
LDR R2, =IRQTable /* Get address of handler */
|
||||||
|
LDR R2, [R2, R0, LSL #2]
|
||||||
|
CMP R2, #0 /* Clean up and return if handler address is 0 */
|
||||||
|
BEQ ret_irq
|
||||||
|
PUSH {R0,R1}
|
||||||
|
|
||||||
|
CPSIE i /* Now safe to re-enable interrupts */
|
||||||
|
BLX R2 /* Call handler. R0 will be IRQ number */
|
||||||
|
CPSID i /* Disable interrupts again */
|
||||||
|
|
||||||
|
/* write EOIR (GIC CPU Interface register) */
|
||||||
|
POP {R0,R1}
|
||||||
|
DSB /* Ensure that interrupt source is cleared before we write the EOIR */
|
||||||
|
ret_irq:
|
||||||
|
/* epilogue */
|
||||||
|
STR R0, [R1, #ICCEOIR_OFFSET]
|
||||||
|
|
||||||
|
LDR R0, =IRQNestLevel /* Get address of nesting counter */
|
||||||
|
LDR R1, [R0]
|
||||||
|
SUB R1, R1, #1 /* Decrement nesting counter */
|
||||||
|
STR R1, [R0]
|
||||||
|
|
||||||
|
POP {R1, LR} /* Get stack adjustment and restore LR_SVC */
|
||||||
|
ADD SP, SP, R1 /* Unadjust stack */
|
||||||
|
|
||||||
|
POP {R0-R3,R12} /* Restore stacked APCS registers */
|
||||||
|
RFEFD SP! /* Return from exception */
|
||||||
|
;;;
|
||||||
|
;;; Add more initialization here
|
||||||
|
;;;
|
||||||
|
FPUEnable:
|
||||||
|
ARM
|
||||||
|
|
||||||
|
//Permit access to VFP registers by modifying CPACR
|
||||||
|
MRC p15,0,R1,c1,c0,2
|
||||||
|
ORR R1,R1,#0x00F00000
|
||||||
|
MCR p15,0,R1,c1,c0,2
|
||||||
|
|
||||||
|
//Enable VFP
|
||||||
|
VMRS R1,FPEXC
|
||||||
|
ORR R1,R1,#0x40000000
|
||||||
|
VMSR FPEXC,R1
|
||||||
|
|
||||||
|
//Initialise VFP registers to 0
|
||||||
|
MOV R2,#0
|
||||||
|
VMOV D0, R2,R2
|
||||||
|
VMOV D1, R2,R2
|
||||||
|
VMOV D2, R2,R2
|
||||||
|
VMOV D3, R2,R2
|
||||||
|
VMOV D4, R2,R2
|
||||||
|
VMOV D5, R2,R2
|
||||||
|
VMOV D6, R2,R2
|
||||||
|
VMOV D7, R2,R2
|
||||||
|
VMOV D8, R2,R2
|
||||||
|
VMOV D9, R2,R2
|
||||||
|
VMOV D10,R2,R2
|
||||||
|
VMOV D11,R2,R2
|
||||||
|
VMOV D12,R2,R2
|
||||||
|
VMOV D13,R2,R2
|
||||||
|
VMOV D14,R2,R2
|
||||||
|
VMOV D15,R2,R2
|
||||||
|
|
||||||
|
//Initialise FPSCR to a known state
|
||||||
|
VMRS R2,FPSCR
|
||||||
|
LDR R3,=0x00086060 //Mask off all bits that do not have to be preserved. Non-preserved bits can/should be zero.
|
||||||
|
AND R2,R2,R3
|
||||||
|
VMSR FPSCR,R2
|
||||||
|
|
||||||
|
BX LR
|
||||||
|
|
||||||
|
END
|
|
@ -30,6 +30,8 @@
|
||||||
#pragma arm section rodata = "BOOT_LOADER"
|
#pragma arm section rodata = "BOOT_LOADER"
|
||||||
const char boot_loader[] __attribute__((used)) =
|
const char boot_loader[] __attribute__((used)) =
|
||||||
|
|
||||||
|
#elif defined (__ICCARM__)
|
||||||
|
__root const char boot_loader[] @ 0x18000000 =
|
||||||
#else
|
#else
|
||||||
const char boot_loader[] __attribute__ ((section(".boot_loader"), used)) =
|
const char boot_loader[] __attribute__ ((section(".boot_loader"), used)) =
|
||||||
|
|
||||||
|
|
|
@ -71,8 +71,12 @@ extern uint32_t Image$$VECTORS$$Base;
|
||||||
extern uint32_t Image$$RO_DATA$$Base;
|
extern uint32_t Image$$RO_DATA$$Base;
|
||||||
extern uint32_t Image$$RW_DATA$$Base;
|
extern uint32_t Image$$RW_DATA$$Base;
|
||||||
extern uint32_t Image$$ZI_DATA$$Base;
|
extern uint32_t Image$$ZI_DATA$$Base;
|
||||||
|
#if !defined ( __ICCARM__ )
|
||||||
extern uint32_t Image$$TTB$$ZI$$Base;
|
extern uint32_t Image$$TTB$$ZI$$Base;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined( __CC_ARM )
|
#if defined( __CC_ARM )
|
||||||
|
#elif defined( __ICCARM__ )
|
||||||
#else
|
#else
|
||||||
extern uint32_t Image$$RW_DATA_NC$$Base;
|
extern uint32_t Image$$RW_DATA_NC$$Base;
|
||||||
extern uint32_t Image$$ZI_DATA_NC$$Base;
|
extern uint32_t Image$$ZI_DATA_NC$$Base;
|
||||||
|
@ -88,10 +92,18 @@ extern uint32_t Image$$RW_DATA_NC$$Limit;
|
||||||
extern uint32_t Image$$ZI_DATA_NC$$Limit;
|
extern uint32_t Image$$ZI_DATA_NC$$Limit;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined( __ICCARM__ )
|
||||||
|
#define VECTORS_SIZE (((uint32_t)Image$$VECTORS$$Limit >> 20) - ((uint32_t)Image$$VECTORS$$Base >> 20) + 1)
|
||||||
|
#define RO_DATA_SIZE (((uint32_t)Image$$RO_DATA$$Limit >> 20) - ((uint32_t)Image$$RO_DATA$$Base >> 20) + 1)
|
||||||
|
#define RW_DATA_SIZE (((uint32_t)Image$$RW_DATA$$Limit >> 20) - ((uint32_t)Image$$RW_DATA$$Base >> 20) + 1)
|
||||||
|
#define ZI_DATA_SIZE (((uint32_t)Image$$ZI_DATA$$Limit >> 20) - ((uint32_t)Image$$ZI_DATA$$Base >> 20) + 1)
|
||||||
|
#else
|
||||||
#define VECTORS_SIZE (((uint32_t)&Image$$VECTORS$$Limit >> 20) - ((uint32_t)&Image$$VECTORS$$Base >> 20) + 1)
|
#define VECTORS_SIZE (((uint32_t)&Image$$VECTORS$$Limit >> 20) - ((uint32_t)&Image$$VECTORS$$Base >> 20) + 1)
|
||||||
#define RO_DATA_SIZE (((uint32_t)&Image$$RO_DATA$$Limit >> 20) - ((uint32_t)&Image$$RO_DATA$$Base >> 20) + 1)
|
#define RO_DATA_SIZE (((uint32_t)&Image$$RO_DATA$$Limit >> 20) - ((uint32_t)&Image$$RO_DATA$$Base >> 20) + 1)
|
||||||
#define RW_DATA_SIZE (((uint32_t)&Image$$RW_DATA$$Limit >> 20) - ((uint32_t)&Image$$RW_DATA$$Base >> 20) + 1)
|
#define RW_DATA_SIZE (((uint32_t)&Image$$RW_DATA$$Limit >> 20) - ((uint32_t)&Image$$RW_DATA$$Base >> 20) + 1)
|
||||||
#define ZI_DATA_SIZE (((uint32_t)&Image$$ZI_DATA$$Limit >> 20) - ((uint32_t)&Image$$ZI_DATA$$Base >> 20) + 1)
|
#define ZI_DATA_SIZE (((uint32_t)&Image$$ZI_DATA$$Limit >> 20) - ((uint32_t)&Image$$ZI_DATA$$Base >> 20) + 1)
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined( __CC_ARM )
|
#if defined( __CC_ARM )
|
||||||
#else
|
#else
|
||||||
#define RW_DATA_NC_SIZE (((uint32_t)&Image$$RW_DATA_NC$$Limit >> 20) - ((uint32_t)&Image$$RW_DATA_NC$$Base >> 20) + 1)
|
#define RW_DATA_NC_SIZE (((uint32_t)&Image$$RW_DATA_NC$$Limit >> 20) - ((uint32_t)&Image$$RW_DATA_NC$$Base >> 20) + 1)
|
||||||
|
@ -112,10 +124,37 @@ static uint32_t Page_L1_64k = 0x0; //generic
|
||||||
static uint32_t Page_4k_Device_RW; //Shared device, not executable, rw, domain 0
|
static uint32_t Page_4k_Device_RW; //Shared device, not executable, rw, domain 0
|
||||||
static uint32_t Page_64k_Device_RW; //Shared device, not executable, rw, domain 0
|
static uint32_t Page_64k_Device_RW; //Shared device, not executable, rw, domain 0
|
||||||
|
|
||||||
|
#if defined ( __ICCARM__ )
|
||||||
|
__no_init uint32_t Image$$TTB$$ZI$$Base @ ".retram";
|
||||||
|
uint32_t Image$$VECTORS$$Base;
|
||||||
|
uint32_t Image$$RO_DATA$$Base;
|
||||||
|
uint32_t Image$$RW_DATA$$Base;
|
||||||
|
uint32_t Image$$ZI_DATA$$Base;
|
||||||
|
|
||||||
|
uint32_t Image$$VECTORS$$Limit;
|
||||||
|
uint32_t Image$$RO_DATA$$Limit;
|
||||||
|
uint32_t Image$$RW_DATA$$Limit;
|
||||||
|
uint32_t Image$$ZI_DATA$$Limit;
|
||||||
|
#endif
|
||||||
|
|
||||||
void create_translation_table(void)
|
void create_translation_table(void)
|
||||||
{
|
{
|
||||||
mmu_region_attributes_Type region;
|
mmu_region_attributes_Type region;
|
||||||
|
#if defined ( __ICCARM__ )
|
||||||
|
#pragma section=".intvec"
|
||||||
|
#pragma section=".rodata"
|
||||||
|
#pragma section=".rwdata"
|
||||||
|
#pragma section=".bss"
|
||||||
|
|
||||||
|
Image$$VECTORS$$Base = (uint32_t) __section_begin(".intvec");
|
||||||
|
Image$$VECTORS$$Limit= ((uint32_t)__section_begin(".intvec")+(uint32_t)__section_size(".intvec"));
|
||||||
|
Image$$RO_DATA$$Base = (uint32_t) __section_begin(".rodata");
|
||||||
|
Image$$RO_DATA$$Limit= ((uint32_t)__section_begin(".rodata")+(uint32_t)__section_size(".rodata"));
|
||||||
|
Image$$RW_DATA$$Base = (uint32_t) __section_begin(".rwdata");
|
||||||
|
Image$$RW_DATA$$Limit= ((uint32_t)__section_begin(".rwdata")+(uint32_t)__section_size(".rwdata"));
|
||||||
|
Image$$ZI_DATA$$Base = (uint32_t) __section_begin(".bss");
|
||||||
|
Image$$ZI_DATA$$Limit= ((uint32_t)__section_begin(".bss")+(uint32_t)__section_size(".bss"));
|
||||||
|
#endif
|
||||||
/*
|
/*
|
||||||
* Generate descriptors. Refer to MBRZA1H.h to get information about attributes
|
* Generate descriptors. Refer to MBRZA1H.h to get information about attributes
|
||||||
*
|
*
|
||||||
|
@ -157,13 +196,25 @@ void create_translation_table(void)
|
||||||
__TTSection (&Image$$TTB$$ZI$$Base, Renesas_RZ_A1_PERIPH_BASE0 , 3, Sect_Device_RW);
|
__TTSection (&Image$$TTB$$ZI$$Base, Renesas_RZ_A1_PERIPH_BASE0 , 3, Sect_Device_RW);
|
||||||
__TTSection (&Image$$TTB$$ZI$$Base, Renesas_RZ_A1_PERIPH_BASE1 , 49, Sect_Device_RW);
|
__TTSection (&Image$$TTB$$ZI$$Base, Renesas_RZ_A1_PERIPH_BASE1 , 49, Sect_Device_RW);
|
||||||
|
|
||||||
|
#if defined( __ICCARM__ )
|
||||||
|
//Define Image
|
||||||
|
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)Image$$RO_DATA$$Base, RO_DATA_SIZE, Sect_Normal_RO);
|
||||||
|
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)Image$$VECTORS$$Base, VECTORS_SIZE, Sect_Normal_Cod);
|
||||||
|
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)Image$$RW_DATA$$Base, RW_DATA_SIZE, Sect_Normal_RW);
|
||||||
|
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)Image$$ZI_DATA$$Base, ZI_DATA_SIZE, Sect_Normal_RW);
|
||||||
|
#else
|
||||||
//Define Image
|
//Define Image
|
||||||
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$RO_DATA$$Base, RO_DATA_SIZE, Sect_Normal_RO);
|
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$RO_DATA$$Base, RO_DATA_SIZE, Sect_Normal_RO);
|
||||||
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$VECTORS$$Base, VECTORS_SIZE, Sect_Normal_Cod);
|
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$VECTORS$$Base, VECTORS_SIZE, Sect_Normal_Cod);
|
||||||
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$RW_DATA$$Base, RW_DATA_SIZE, Sect_Normal_RW);
|
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$RW_DATA$$Base, RW_DATA_SIZE, Sect_Normal_RW);
|
||||||
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$ZI_DATA$$Base, ZI_DATA_SIZE, Sect_Normal_RW);
|
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$ZI_DATA$$Base, ZI_DATA_SIZE, Sect_Normal_RW);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined( __CC_ARM )
|
#if defined( __CC_ARM )
|
||||||
__TTSection (&Image$$TTB$$ZI$$Base, Renesas_RZ_A1_ONCHIP_SRAM_NC_BASE, 10, Sect_Normal_NC);
|
__TTSection (&Image$$TTB$$ZI$$Base, Renesas_RZ_A1_ONCHIP_SRAM_NC_BASE, 10, Sect_Normal_NC);
|
||||||
|
#elif defined ( __ICCARM__ )
|
||||||
|
__TTSection (&Image$$TTB$$ZI$$Base, Renesas_RZ_A1_ONCHIP_SRAM_NC_BASE, 10, Sect_Normal_NC);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$RW_DATA_NC$$Base, RW_DATA_NC_SIZE, Sect_Normal_NC);
|
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$RW_DATA_NC$$Base, RW_DATA_NC_SIZE, Sect_Normal_NC);
|
||||||
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$ZI_DATA_NC$$Base, ZI_DATA_NC_SIZE, Sect_Normal_NC);
|
__TTSection (&Image$$TTB$$ZI$$Base, (uint32_t)&Image$$ZI_DATA_NC$$Base, ZI_DATA_NC_SIZE, Sect_Normal_NC);
|
||||||
|
|
|
@ -133,6 +133,40 @@ void InitMemorySubsystem(void) {
|
||||||
PL310_Enable();
|
PL310_Enable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#elif defined ( __ICCARM__ )
|
||||||
|
|
||||||
|
void InitMemorySubsystem(void) {
|
||||||
|
|
||||||
|
/* This SVC is specific for reset where data / tlb / btac may contain undefined data, therefore before
|
||||||
|
* enabling the cache you must invalidate the instruction cache, the data cache, TLB, and BTAC.
|
||||||
|
* You are not required to invalidate the main TLB, even though it is recommended for safety
|
||||||
|
* reasons. This ensures compatibility with future revisions of the processor. */
|
||||||
|
|
||||||
|
unsigned int l2_id;
|
||||||
|
|
||||||
|
/* Invalidate undefined data */
|
||||||
|
__ca9u_inv_tlb_all();
|
||||||
|
__v7_inv_icache_all();
|
||||||
|
__v7_inv_dcache_all();
|
||||||
|
__v7_inv_btac();
|
||||||
|
|
||||||
|
/* Don't use this function during runtime since caches may contain valid data. For a correct cache maintenance you may need to execute a clean and
|
||||||
|
* invalidate in order to flush the valid data to the next level cache.
|
||||||
|
*/
|
||||||
|
__enable_mmu();
|
||||||
|
|
||||||
|
/* After MMU is enabled and data has been invalidated, enable caches and BTAC */
|
||||||
|
__enable_caches();
|
||||||
|
__enable_btac();
|
||||||
|
|
||||||
|
/* If present, you may also need to Invalidate and Enable L2 cache here */
|
||||||
|
l2_id = PL310_GetID();
|
||||||
|
if (l2_id)
|
||||||
|
{
|
||||||
|
PL310_InvAllByWay();
|
||||||
|
PL310_Enable();
|
||||||
|
}
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,8 +1,8 @@
|
||||||
;******************** (C) COPYRIGHT 2015 STMicroelectronics ********************
|
;******************** (C) COPYRIGHT 2015 STMicroelectronics ********************
|
||||||
;* File Name : startup_stm32f746xx.s
|
;* File Name : startup_stm32f746xx.s
|
||||||
;* Author : MCD Application Team
|
;* Author : MCD Application Team
|
||||||
;* Version : V1.0.0
|
;* Version : V1.0.2
|
||||||
;* Date : 28-April-2015
|
;* Date : 21-September-2015
|
||||||
;* Description : STM32F746xx devices vector table for MDK-ARM toolchain.
|
;* Description : STM32F746xx devices vector table for MDK-ARM toolchain.
|
||||||
;* This module performs:
|
;* This module performs:
|
||||||
;* - Set the initial SP
|
;* - Set the initial SP
|
||||||
|
@ -350,12 +350,12 @@ Default_Handler PROC
|
||||||
EXPORT DMA2D_IRQHandler [WEAK]
|
EXPORT DMA2D_IRQHandler [WEAK]
|
||||||
EXPORT SAI2_IRQHandler [WEAK]
|
EXPORT SAI2_IRQHandler [WEAK]
|
||||||
EXPORT QUADSPI_IRQHandler [WEAK]
|
EXPORT QUADSPI_IRQHandler [WEAK]
|
||||||
EXPORT LPTIM1_IRQHandler [WEAK]
|
EXPORT LPTIM1_IRQHandler [WEAK]
|
||||||
EXPORT CEC_IRQHandler [WEAK]
|
EXPORT CEC_IRQHandler [WEAK]
|
||||||
EXPORT I2C4_EV_IRQHandler [WEAK]
|
EXPORT I2C4_EV_IRQHandler [WEAK]
|
||||||
EXPORT I2C4_ER_IRQHandler [WEAK]
|
EXPORT I2C4_ER_IRQHandler [WEAK]
|
||||||
EXPORT SPDIF_RX_IRQHandler [WEAK]
|
EXPORT SPDIF_RX_IRQHandler [WEAK]
|
||||||
|
|
||||||
WWDG_IRQHandler
|
WWDG_IRQHandler
|
||||||
PVD_IRQHandler
|
PVD_IRQHandler
|
||||||
TAMP_STAMP_IRQHandler
|
TAMP_STAMP_IRQHandler
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
; Scatter-Loading Description File
|
; Scatter-Loading Description File
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; Copyright (c) 2015, STMicroelectronics
|
; Copyright (c) 2016, STMicroelectronics
|
||||||
; All rights reserved.
|
; All rights reserved.
|
||||||
;
|
;
|
||||||
; Redistribution and use in source and binary forms, with or without
|
; Redistribution and use in source and binary forms, with or without
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
;******************** (C) COPYRIGHT 2015 STMicroelectronics ********************
|
;******************** (C) COPYRIGHT 2015 STMicroelectronics ********************
|
||||||
;* File Name : startup_stm32f746xx.s
|
;* File Name : startup_stm32f746xx.s
|
||||||
;* Author : MCD Application Team
|
;* Author : MCD Application Team
|
||||||
;* Version : V1.0.0
|
;* Version : V1.0.2
|
||||||
;* Date : 28-April-2015
|
;* Date : 21-September-2015
|
||||||
;* Description : STM32F746xx devices vector table for MDK-ARM toolchain.
|
;* Description : STM32F746xx devices vector table for MDK-ARM toolchain.
|
||||||
;* This module performs:
|
;* This module performs:
|
||||||
;* - Set the initial SP
|
;* - Set the initial SP
|
||||||
|
@ -323,12 +323,12 @@ Default_Handler PROC
|
||||||
EXPORT DMA2D_IRQHandler [WEAK]
|
EXPORT DMA2D_IRQHandler [WEAK]
|
||||||
EXPORT SAI2_IRQHandler [WEAK]
|
EXPORT SAI2_IRQHandler [WEAK]
|
||||||
EXPORT QUADSPI_IRQHandler [WEAK]
|
EXPORT QUADSPI_IRQHandler [WEAK]
|
||||||
EXPORT LPTIM1_IRQHandler [WEAK]
|
EXPORT LPTIM1_IRQHandler [WEAK]
|
||||||
EXPORT CEC_IRQHandler [WEAK]
|
EXPORT CEC_IRQHandler [WEAK]
|
||||||
EXPORT I2C4_EV_IRQHandler [WEAK]
|
EXPORT I2C4_EV_IRQHandler [WEAK]
|
||||||
EXPORT I2C4_ER_IRQHandler [WEAK]
|
EXPORT I2C4_ER_IRQHandler [WEAK]
|
||||||
EXPORT SPDIF_RX_IRQHandler [WEAK]
|
EXPORT SPDIF_RX_IRQHandler [WEAK]
|
||||||
|
|
||||||
WWDG_IRQHandler
|
WWDG_IRQHandler
|
||||||
PVD_IRQHandler
|
PVD_IRQHandler
|
||||||
TAMP_STAMP_IRQHandler
|
TAMP_STAMP_IRQHandler
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
; Scatter-Loading Description File
|
; Scatter-Loading Description File
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; Copyright (c) 2015, STMicroelectronics
|
; Copyright (c) 2016, STMicroelectronics
|
||||||
; All rights reserved.
|
; All rights reserved.
|
||||||
;
|
;
|
||||||
; Redistribution and use in source and binary forms, with or without
|
; Redistribution and use in source and binary forms, with or without
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @file startup_stm32f746xx.s
|
* @file startup_stm32f746xx.s
|
||||||
* @author MCD Application Team
|
* @author MCD Application Team
|
||||||
* Version V1.0.0
|
* @Version V1.0.2
|
||||||
* Date 28-April-2015
|
* @Date 21-September-2015
|
||||||
* @brief STM32F746xx Devices vector table for GCC based toolchain.
|
* @brief STM32F746xx Devices vector table for GCC based toolchain.
|
||||||
* This module performs:
|
* This module performs:
|
||||||
* - Set the initial SP
|
* - Set the initial SP
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
;/******************** (C) COPYRIGHT 2015 STMicroelectronics ********************
|
;/******************** (C) COPYRIGHT 2016 STMicroelectronics ********************
|
||||||
;* File Name : startup_stm32f746xx.s
|
;* File Name : startup_stm32f746xx.s
|
||||||
;* Author : MCD Application Team
|
;* Author : MCD Application Team
|
||||||
;* Version : V1.0.0
|
;* Version : V1.0.2
|
||||||
;* Date : 28-April-2015
|
;* Date : 21-September-2015
|
||||||
;* Description : STM32F746xx devices vector table for EWARM toolchain.
|
;* Description : STM32F746xx devices vector table for EWARM toolchain.
|
||||||
;* This module performs:
|
;* This module performs:
|
||||||
;* - Set the initial SP
|
;* - Set the initial SP
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* mbed Microcontroller Library
|
/* mbed Microcontroller Library
|
||||||
* A generic CMSIS include header
|
* A generic CMSIS include header
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* Copyright (c) 2015, STMicroelectronics
|
* Copyright (c) 2016, STMicroelectronics
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* mbed Microcontroller Library
|
/* mbed Microcontroller Library
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* Copyright (c) 2015, STMicroelectronics
|
* Copyright (c) 2016, STMicroelectronics
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
*/
|
*/
|
||||||
#include "cmsis_nvic.h"
|
#include "cmsis_nvic.h"
|
||||||
|
|
||||||
#define NVIC_RAM_VECTOR_ADDRESS (0x20000000) // Vectors positioned at start of RAM
|
#define NVIC_RAM_VECTOR_ADDRESS (0x20000000) // Vectors positioned at start of RAM
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* mbed Microcontroller Library
|
/* mbed Microcontroller Library
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
* CMSIS-style functionality to support dynamic vectors
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* Copyright (c) 2015, STMicroelectronics
|
* Copyright (c) 2016, STMicroelectronics
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @attention
|
* @attention
|
||||||
*
|
*
|
||||||
* <h2><center>© COPYRIGHT 2015 STMicroelectronics</center></h2>
|
* <h2><center>© COPYRIGHT 2016 STMicroelectronics</center></h2>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without modification,
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
* are permitted provided that the following conditions are met:
|
* are permitted provided that the following conditions are met:
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @attention
|
* @attention
|
||||||
*
|
*
|
||||||
* <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
|
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without modification,
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
* are permitted provided that the following conditions are met:
|
* are permitted provided that the following conditions are met:
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @file stm32f746xx.h
|
* @file stm32f746xx.h
|
||||||
* @author MCD Application Team
|
* @author MCD Application Team
|
||||||
* @version V1.0.1
|
* @version V1.0.2
|
||||||
* @date 25-June-2015
|
* @date 21-September-2015
|
||||||
* @brief CMSIS STM32F746xx Device Peripheral Access Layer Header File.
|
* @brief CMSIS STM32F746xx Device Peripheral Access Layer Header File.
|
||||||
*
|
*
|
||||||
* This file contains:
|
* This file contains:
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @attention
|
* @attention
|
||||||
*
|
*
|
||||||
* <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
|
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without modification,
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
* are permitted provided that the following conditions are met:
|
* are permitted provided that the following conditions are met:
|
||||||
|
@ -64,7 +64,7 @@
|
||||||
* @brief STM32F7xx Interrupt Number Definition, according to the selected device
|
* @brief STM32F7xx Interrupt Number Definition, according to the selected device
|
||||||
* in @ref Library_configuration_section
|
* in @ref Library_configuration_section
|
||||||
*/
|
*/
|
||||||
typedef enum IRQn
|
typedef enum
|
||||||
{
|
{
|
||||||
/****** Cortex-M7 Processor Exceptions Numbers ****************************************************************/
|
/****** Cortex-M7 Processor Exceptions Numbers ****************************************************************/
|
||||||
NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */
|
NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */
|
||||||
|
@ -125,7 +125,7 @@ typedef enum IRQn
|
||||||
TIM8_CC_IRQn = 46, /*!< TIM8 Capture Compare Interrupt */
|
TIM8_CC_IRQn = 46, /*!< TIM8 Capture Compare Interrupt */
|
||||||
DMA1_Stream7_IRQn = 47, /*!< DMA1 Stream7 Interrupt */
|
DMA1_Stream7_IRQn = 47, /*!< DMA1 Stream7 Interrupt */
|
||||||
FMC_IRQn = 48, /*!< FMC global Interrupt */
|
FMC_IRQn = 48, /*!< FMC global Interrupt */
|
||||||
SDMMC1_IRQn = 49, /*!< SDMMC1 global Interrupt */
|
SDMMC1_IRQn = 49, /*!< SDMMC1 global Interrupt */
|
||||||
TIM5_IRQn = 50, /*!< TIM5 global Interrupt */
|
TIM5_IRQn = 50, /*!< TIM5 global Interrupt */
|
||||||
SPI3_IRQn = 51, /*!< SPI3 global Interrupt */
|
SPI3_IRQn = 51, /*!< SPI3 global Interrupt */
|
||||||
UART4_IRQn = 52, /*!< UART4 global Interrupt */
|
UART4_IRQn = 52, /*!< UART4 global Interrupt */
|
||||||
|
@ -182,14 +182,14 @@ typedef enum IRQn
|
||||||
/**
|
/**
|
||||||
* @brief Configuration of the Cortex-M7 Processor and Core Peripherals
|
* @brief Configuration of the Cortex-M7 Processor and Core Peripherals
|
||||||
*/
|
*/
|
||||||
#define __CM7_REV 0x0000 /*!< Cortex-M7 revision r0p1 */
|
#define __CM7_REV 0x0001 /*!< Cortex-M7 revision r0p1 */
|
||||||
#define __MPU_PRESENT 1 /*!< CM7 provides an MPU */
|
#define __MPU_PRESENT 1 /*!< CM7 provides an MPU */
|
||||||
#define __NVIC_PRIO_BITS 4 /*!< CM7 uses 4 Bits for the Priority Levels */
|
#define __NVIC_PRIO_BITS 4 /*!< CM7 uses 4 Bits for the Priority Levels */
|
||||||
#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
|
#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
|
||||||
#define __FPU_PRESENT 1 /*!< FPU present */
|
#define __FPU_PRESENT 1 /*!< FPU present */
|
||||||
#define __ICACHE_PRESENT 1 /*!< CM7 instruction cache present */
|
#define __ICACHE_PRESENT 1 /*!< CM7 instruction cache present */
|
||||||
#define __DCACHE_PRESENT 1 /*!< CM7 data cache present */
|
#define __DCACHE_PRESENT 1 /*!< CM7 data cache present */
|
||||||
#include "core_cm7.h" /*!< Cortex-M7 processor and core peripherals */
|
#include "core_cm7.h" /*!< Cortex-M7 processor and core peripherals */
|
||||||
|
|
||||||
|
|
||||||
#include "system_stm32f7xx.h"
|
#include "system_stm32f7xx.h"
|
||||||
|
@ -353,6 +353,7 @@ typedef struct
|
||||||
__IO uint32_t SR; /*!< DAC status register, Address offset: 0x34 */
|
__IO uint32_t SR; /*!< DAC status register, Address offset: 0x34 */
|
||||||
} DAC_TypeDef;
|
} DAC_TypeDef;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Debug MCU
|
* @brief Debug MCU
|
||||||
*/
|
*/
|
||||||
|
@ -697,11 +698,10 @@ typedef struct
|
||||||
__IO uint32_t CFBLR; /*!< LTDC Layerx Color Frame Buffer Length Register Address offset: 0xB0 */
|
__IO uint32_t CFBLR; /*!< LTDC Layerx Color Frame Buffer Length Register Address offset: 0xB0 */
|
||||||
__IO uint32_t CFBLNR; /*!< LTDC Layerx ColorFrame Buffer Line Number Register Address offset: 0xB4 */
|
__IO uint32_t CFBLNR; /*!< LTDC Layerx ColorFrame Buffer Line Number Register Address offset: 0xB4 */
|
||||||
uint32_t RESERVED1[3]; /*!< Reserved */
|
uint32_t RESERVED1[3]; /*!< Reserved */
|
||||||
__IO uint32_t CLUTWR; /*!< LTDC Layerx CLUT Write Register Address offset: 0x144 */
|
__IO uint32_t CLUTWR; /*!< LTDC Layerx CLUT Write Register Address offset: 0x144 */
|
||||||
|
|
||||||
} LTDC_Layer_TypeDef;
|
} LTDC_Layer_TypeDef;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Power Control
|
* @brief Power Control
|
||||||
*/
|
*/
|
||||||
|
@ -967,7 +967,6 @@ typedef struct
|
||||||
__IO uint32_t CMP; /*!< LPTIM Compare register, Address offset: 0x14 */
|
__IO uint32_t CMP; /*!< LPTIM Compare register, Address offset: 0x14 */
|
||||||
__IO uint32_t ARR; /*!< LPTIM Autoreload register, Address offset: 0x18 */
|
__IO uint32_t ARR; /*!< LPTIM Autoreload register, Address offset: 0x18 */
|
||||||
__IO uint32_t CNT; /*!< LPTIM Counter register, Address offset: 0x1C */
|
__IO uint32_t CNT; /*!< LPTIM Counter register, Address offset: 0x1C */
|
||||||
__IO uint32_t OR; /*!< LPTIM Option register, Address offset: 0x20 */
|
|
||||||
} LPTIM_TypeDef;
|
} LPTIM_TypeDef;
|
||||||
|
|
||||||
|
|
||||||
|
@ -1002,6 +1001,7 @@ typedef struct
|
||||||
__IO uint32_t SR; /*!< WWDG Status register, Address offset: 0x08 */
|
__IO uint32_t SR; /*!< WWDG Status register, Address offset: 0x08 */
|
||||||
} WWDG_TypeDef;
|
} WWDG_TypeDef;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief RNG
|
* @brief RNG
|
||||||
*/
|
*/
|
||||||
|
@ -1140,7 +1140,8 @@ typedef struct
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** @addtogroup Peripheral_memory_map
|
/** @addtogroup Peripheral_memory_map
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
@ -1148,13 +1149,13 @@ typedef struct
|
||||||
#define FLASHITCM_BASE ((uint32_t)0x00200000) /*!< Base address of :(up to 1 MB) embedded FLASH memory accessible over ITCM */
|
#define FLASHITCM_BASE ((uint32_t)0x00200000) /*!< Base address of :(up to 1 MB) embedded FLASH memory accessible over ITCM */
|
||||||
#define FLASHAXI_BASE ((uint32_t)0x08000000) /*!< Base address of : (up to 1 MB) embedded FLASH memory accessible over AXI */
|
#define FLASHAXI_BASE ((uint32_t)0x08000000) /*!< Base address of : (up to 1 MB) embedded FLASH memory accessible over AXI */
|
||||||
#define RAMDTCM_BASE ((uint32_t)0x20000000) /*!< Base address of : 64KB system data RAM accessible over DTCM */
|
#define RAMDTCM_BASE ((uint32_t)0x20000000) /*!< Base address of : 64KB system data RAM accessible over DTCM */
|
||||||
#define SRAM1_BASE ((uint32_t)0x20010000) /*!< Base address of : 240KB RAM1 accessible over AXI/AHB */
|
|
||||||
#define SRAM2_BASE ((uint32_t)0x2004C000) /*!< Base address of : 16KB RAM2 accessible over AXI/AHB */
|
|
||||||
#define PERIPH_BASE ((uint32_t)0x40000000) /*!< Base address of : AHB/ABP Peripherals */
|
#define PERIPH_BASE ((uint32_t)0x40000000) /*!< Base address of : AHB/ABP Peripherals */
|
||||||
#define BKPSRAM_BASE ((uint32_t)0x40024000) /*!< Base address of : Backup SRAM(4 KB) */
|
#define BKPSRAM_BASE ((uint32_t)0x40024000) /*!< Base address of : Backup SRAM(4 KB) */
|
||||||
#define QSPI_BASE ((uint32_t)0x90000000) /*!< Base address of : QSPI memories accessible over AXI */
|
#define QSPI_BASE ((uint32_t)0x90000000) /*!< Base address of : QSPI memories accessible over AXI */
|
||||||
#define FMC_R_BASE ((uint32_t)0xA0000000) /*!< Base address of : FMC Control registers */
|
#define FMC_R_BASE ((uint32_t)0xA0000000) /*!< Base address of : FMC Control registers */
|
||||||
#define QSPI_R_BASE ((uint32_t)0xA0001000) /*!< Base address of : QSPI Control registers */
|
#define QSPI_R_BASE ((uint32_t)0xA0001000) /*!< Base address of : QSPI Control registers */
|
||||||
|
#define SRAM1_BASE ((uint32_t)0x20010000) /*!< Base address of : 240KB RAM1 accessible over AXI/AHB */
|
||||||
|
#define SRAM2_BASE ((uint32_t)0x2004C000) /*!< Base address of : 16KB RAM2 accessible over AXI/AHB */
|
||||||
#define FLASH_END ((uint32_t)0x080FFFFF) /*!< FLASH end address */
|
#define FLASH_END ((uint32_t)0x080FFFFF) /*!< FLASH end address */
|
||||||
|
|
||||||
/* Legacy define */
|
/* Legacy define */
|
||||||
|
@ -1226,7 +1227,7 @@ typedef struct
|
||||||
#define SAI2_Block_B_BASE (SAI2_BASE + 0x024)
|
#define SAI2_Block_B_BASE (SAI2_BASE + 0x024)
|
||||||
#define LTDC_BASE (APB2PERIPH_BASE + 0x6800)
|
#define LTDC_BASE (APB2PERIPH_BASE + 0x6800)
|
||||||
#define LTDC_Layer1_BASE (LTDC_BASE + 0x84)
|
#define LTDC_Layer1_BASE (LTDC_BASE + 0x84)
|
||||||
#define LTDC_Layer2_BASE (LTDC_BASE + 0x104)
|
#define LTDC_Layer2_BASE (LTDC_BASE + 0x104)
|
||||||
/*!< AHB1 peripherals */
|
/*!< AHB1 peripherals */
|
||||||
#define GPIOA_BASE (AHB1PERIPH_BASE + 0x0000)
|
#define GPIOA_BASE (AHB1PERIPH_BASE + 0x0000)
|
||||||
#define GPIOB_BASE (AHB1PERIPH_BASE + 0x0400)
|
#define GPIOB_BASE (AHB1PERIPH_BASE + 0x0400)
|
||||||
|
@ -3125,6 +3126,7 @@ typedef struct
|
||||||
/******************* Bit definition for CRC_POL register ********************/
|
/******************* Bit definition for CRC_POL register ********************/
|
||||||
#define CRC_POL_POL ((uint32_t)0xFFFFFFFF) /*!< Coefficients of the polynomial */
|
#define CRC_POL_POL ((uint32_t)0xFFFFFFFF) /*!< Coefficients of the polynomial */
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* Digital to Analog Converter */
|
/* Digital to Analog Converter */
|
||||||
|
@ -3216,6 +3218,7 @@ typedef struct
|
||||||
#define DAC_SR_DMAUDR1 ((uint32_t)0x00002000) /*!<DAC channel1 DMA underrun flag */
|
#define DAC_SR_DMAUDR1 ((uint32_t)0x00002000) /*!<DAC channel1 DMA underrun flag */
|
||||||
#define DAC_SR_DMAUDR2 ((uint32_t)0x20000000) /*!<DAC channel2 DMA underrun flag */
|
#define DAC_SR_DMAUDR2 ((uint32_t)0x20000000) /*!<DAC channel2 DMA underrun flag */
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* Debug MCU */
|
/* Debug MCU */
|
||||||
|
@ -3291,7 +3294,7 @@ typedef struct
|
||||||
#define DMA_SxCR_CHSEL ((uint32_t)0x0E000000)
|
#define DMA_SxCR_CHSEL ((uint32_t)0x0E000000)
|
||||||
#define DMA_SxCR_CHSEL_0 ((uint32_t)0x02000000)
|
#define DMA_SxCR_CHSEL_0 ((uint32_t)0x02000000)
|
||||||
#define DMA_SxCR_CHSEL_1 ((uint32_t)0x04000000)
|
#define DMA_SxCR_CHSEL_1 ((uint32_t)0x04000000)
|
||||||
#define DMA_SxCR_CHSEL_2 ((uint32_t)0x08000000)
|
#define DMA_SxCR_CHSEL_2 ((uint32_t)0x08000000)
|
||||||
#define DMA_SxCR_MBURST ((uint32_t)0x01800000)
|
#define DMA_SxCR_MBURST ((uint32_t)0x01800000)
|
||||||
#define DMA_SxCR_MBURST_0 ((uint32_t)0x00800000)
|
#define DMA_SxCR_MBURST_0 ((uint32_t)0x00800000)
|
||||||
#define DMA_SxCR_MBURST_1 ((uint32_t)0x01000000)
|
#define DMA_SxCR_MBURST_1 ((uint32_t)0x01000000)
|
||||||
|
@ -3841,8 +3844,6 @@ typedef struct
|
||||||
#define FLASH_OPTCR1_BOOT_ADD0 ((uint32_t)0x0000FFFF)
|
#define FLASH_OPTCR1_BOOT_ADD0 ((uint32_t)0x0000FFFF)
|
||||||
#define FLASH_OPTCR1_BOOT_ADD1 ((uint32_t)0xFFFF0000)
|
#define FLASH_OPTCR1_BOOT_ADD1 ((uint32_t)0xFFFF0000)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* Flexible Memory Controller */
|
/* Flexible Memory Controller */
|
||||||
|
@ -4877,6 +4878,7 @@ typedef struct
|
||||||
#define GPIO_LCKR_LCK15 ((uint32_t)0x00008000)
|
#define GPIO_LCKR_LCK15 ((uint32_t)0x00008000)
|
||||||
#define GPIO_LCKR_LCKK ((uint32_t)0x00010000)
|
#define GPIO_LCKR_LCKK ((uint32_t)0x00010000)
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* Inter-integrated Circuit Interface (I2C) */
|
/* Inter-integrated Circuit Interface (I2C) */
|
||||||
|
@ -4891,7 +4893,7 @@ typedef struct
|
||||||
#define I2C_CR1_STOPIE ((uint32_t)0x00000020) /*!< STOP detection interrupt enable */
|
#define I2C_CR1_STOPIE ((uint32_t)0x00000020) /*!< STOP detection interrupt enable */
|
||||||
#define I2C_CR1_TCIE ((uint32_t)0x00000040) /*!< Transfer complete interrupt enable */
|
#define I2C_CR1_TCIE ((uint32_t)0x00000040) /*!< Transfer complete interrupt enable */
|
||||||
#define I2C_CR1_ERRIE ((uint32_t)0x00000080) /*!< Errors interrupt enable */
|
#define I2C_CR1_ERRIE ((uint32_t)0x00000080) /*!< Errors interrupt enable */
|
||||||
#define I2C_CR1_DFN ((uint32_t)0x00000F00) /*!< Digital noise filter */
|
#define I2C_CR1_DNF ((uint32_t)0x00000F00) /*!< Digital noise filter */
|
||||||
#define I2C_CR1_ANFOFF ((uint32_t)0x00001000) /*!< Analog noise filter OFF */
|
#define I2C_CR1_ANFOFF ((uint32_t)0x00001000) /*!< Analog noise filter OFF */
|
||||||
#define I2C_CR1_SWRST ((uint32_t)0x00002000) /*!< Software reset */
|
#define I2C_CR1_SWRST ((uint32_t)0x00002000) /*!< Software reset */
|
||||||
#define I2C_CR1_TXDMAEN ((uint32_t)0x00004000) /*!< DMA transmission requests enable */
|
#define I2C_CR1_TXDMAEN ((uint32_t)0x00004000) /*!< DMA transmission requests enable */
|
||||||
|
@ -4905,6 +4907,9 @@ typedef struct
|
||||||
#define I2C_CR1_ALERTEN ((uint32_t)0x00400000) /*!< SMBus alert enable */
|
#define I2C_CR1_ALERTEN ((uint32_t)0x00400000) /*!< SMBus alert enable */
|
||||||
#define I2C_CR1_PECEN ((uint32_t)0x00800000) /*!< PEC enable */
|
#define I2C_CR1_PECEN ((uint32_t)0x00800000) /*!< PEC enable */
|
||||||
|
|
||||||
|
/* Legacy define */
|
||||||
|
#define I2C_CR1_DFN I2C_CR1_DNF /*!< Digital noise filter */
|
||||||
|
|
||||||
/****************** Bit definition for I2C_CR2 register ********************/
|
/****************** Bit definition for I2C_CR2 register ********************/
|
||||||
#define I2C_CR2_SADD ((uint32_t)0x000003FF) /*!< Slave address (master mode) */
|
#define I2C_CR2_SADD ((uint32_t)0x000003FF) /*!< Slave address (master mode) */
|
||||||
#define I2C_CR2_RD_WRN ((uint32_t)0x00000400) /*!< Transfer direction (master mode) */
|
#define I2C_CR2_RD_WRN ((uint32_t)0x00000400) /*!< Transfer direction (master mode) */
|
||||||
|
@ -5163,7 +5168,6 @@ typedef struct
|
||||||
#define LTDC_LxCLUTWR_RED ((uint32_t)0x00FF0000) /*!< Red value */
|
#define LTDC_LxCLUTWR_RED ((uint32_t)0x00FF0000) /*!< Red value */
|
||||||
#define LTDC_LxCLUTWR_CLUTADD ((uint32_t)0xFF000000) /*!< CLUT address */
|
#define LTDC_LxCLUTWR_CLUTADD ((uint32_t)0xFF000000) /*!< CLUT address */
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* Power Control */
|
/* Power Control */
|
||||||
|
@ -5453,6 +5457,7 @@ typedef struct
|
||||||
#define RCC_PLLCFGR_PLLQ_2 ((uint32_t)0x04000000)
|
#define RCC_PLLCFGR_PLLQ_2 ((uint32_t)0x04000000)
|
||||||
#define RCC_PLLCFGR_PLLQ_3 ((uint32_t)0x08000000)
|
#define RCC_PLLCFGR_PLLQ_3 ((uint32_t)0x08000000)
|
||||||
|
|
||||||
|
|
||||||
/******************** Bit definition for RCC_CFGR register ******************/
|
/******************** Bit definition for RCC_CFGR register ******************/
|
||||||
/*!< SW configuration */
|
/*!< SW configuration */
|
||||||
#define RCC_CFGR_SW ((uint32_t)0x00000003) /*!< SW[1:0] bits (System clock Switch) */
|
#define RCC_CFGR_SW ((uint32_t)0x00000003) /*!< SW[1:0] bits (System clock Switch) */
|
||||||
|
@ -6496,7 +6501,7 @@ typedef struct
|
||||||
#define SAI_xCR2_MUTECNT_4 ((uint32_t)0x00000800) /*!<Bit 4 */
|
#define SAI_xCR2_MUTECNT_4 ((uint32_t)0x00000800) /*!<Bit 4 */
|
||||||
#define SAI_xCR2_MUTECNT_5 ((uint32_t)0x00001000) /*!<Bit 5 */
|
#define SAI_xCR2_MUTECNT_5 ((uint32_t)0x00001000) /*!<Bit 5 */
|
||||||
|
|
||||||
#define SAI_xCR2_CPL ((uint32_t)0x00080000) /*!< Complement Bit */
|
#define SAI_xCR2_CPL ((uint32_t)0x00002000) /*!< Complement Bit */
|
||||||
|
|
||||||
#define SAI_xCR2_COMP ((uint32_t)0x0000C000) /*!<COMP[1:0] (Companding mode) */
|
#define SAI_xCR2_COMP ((uint32_t)0x0000C000) /*!<COMP[1:0] (Companding mode) */
|
||||||
#define SAI_xCR2_COMP_0 ((uint32_t)0x00004000) /*!<Bit 0 */
|
#define SAI_xCR2_COMP_0 ((uint32_t)0x00004000) /*!<Bit 0 */
|
||||||
|
@ -6907,13 +6912,15 @@ typedef struct
|
||||||
/* */
|
/* */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/****************** Bit definition for SYSCFG_MEMRMP register ***************/
|
/****************** Bit definition for SYSCFG_MEMRMP register ***************/
|
||||||
#define SYSCFG_MEMRMP_MEM_BOOT ((uint32_t)0x00000001) /*!< Boot information after Reset */
|
#define SYSCFG_MEMRMP_MEM_BOOT ((uint32_t)0x00000001) /*!< Boot information after Reset */
|
||||||
|
|
||||||
|
|
||||||
#define SYSCFG_MEMRMP_SWP_FMC ((uint32_t)0x00000C00) /*!< FMC Memory Mapping swapping */
|
#define SYSCFG_MEMRMP_SWP_FMC ((uint32_t)0x00000C00) /*!< FMC Memory Mapping swapping */
|
||||||
#define SYSCFG_MEMRMP_SWP_FMC_0 ((uint32_t)0x00000400)
|
#define SYSCFG_MEMRMP_SWP_FMC_0 ((uint32_t)0x00000400)
|
||||||
#define SYSCFG_MEMRMP_SWP_FMC_1 ((uint32_t)0x00000800)
|
#define SYSCFG_MEMRMP_SWP_FMC_1 ((uint32_t)0x00000800)
|
||||||
|
|
||||||
/****************** Bit definition for SYSCFG_PMC register ******************/
|
/****************** Bit definition for SYSCFG_PMC register ******************/
|
||||||
|
|
||||||
#define SYSCFG_PMC_ADCxDC2 ((uint32_t)0x00070000) /*!< Refer to AN4073 on how to use this bit */
|
#define SYSCFG_PMC_ADCxDC2 ((uint32_t)0x00070000) /*!< Refer to AN4073 on how to use this bit */
|
||||||
#define SYSCFG_PMC_ADC1DC2 ((uint32_t)0x00010000) /*!< Refer to AN4073 on how to use this bit */
|
#define SYSCFG_PMC_ADC1DC2 ((uint32_t)0x00010000) /*!< Refer to AN4073 on how to use this bit */
|
||||||
#define SYSCFG_PMC_ADC2DC2 ((uint32_t)0x00020000) /*!< Refer to AN4073 on how to use this bit */
|
#define SYSCFG_PMC_ADC2DC2 ((uint32_t)0x00020000) /*!< Refer to AN4073 on how to use this bit */
|
||||||
|
@ -7540,6 +7547,7 @@ typedef struct
|
||||||
/******************* Bit definition for TIM_CCR6 register *******************/
|
/******************* Bit definition for TIM_CCR6 register *******************/
|
||||||
#define TIM_CCR6_CCR6 ((uint16_t)0xFFFF) /*!<Capture/Compare 6 Value */
|
#define TIM_CCR6_CCR6 ((uint16_t)0xFFFF) /*!<Capture/Compare 6 Value */
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* Low Power Timer (LPTIM) */
|
/* Low Power Timer (LPTIM) */
|
||||||
|
@ -7705,6 +7713,7 @@ typedef struct
|
||||||
#define USART_CR3_SCARCNT_1 ((uint32_t)0x00040000) /*!< Bit 1 */
|
#define USART_CR3_SCARCNT_1 ((uint32_t)0x00040000) /*!< Bit 1 */
|
||||||
#define USART_CR3_SCARCNT_2 ((uint32_t)0x00080000) /*!< Bit 2 */
|
#define USART_CR3_SCARCNT_2 ((uint32_t)0x00080000) /*!< Bit 2 */
|
||||||
|
|
||||||
|
|
||||||
/****************** Bit definition for USART_BRR register *******************/
|
/****************** Bit definition for USART_BRR register *******************/
|
||||||
#define USART_BRR_DIV_FRACTION ((uint32_t)0x000F) /*!< Fraction of USARTDIV */
|
#define USART_BRR_DIV_FRACTION ((uint32_t)0x000F) /*!< Fraction of USARTDIV */
|
||||||
#define USART_BRR_DIV_MANTISSA ((uint32_t)0xFFF0) /*!< Mantissa of USARTDIV */
|
#define USART_BRR_DIV_MANTISSA ((uint32_t)0xFFF0) /*!< Mantissa of USARTDIV */
|
||||||
|
@ -7775,35 +7784,57 @@ typedef struct
|
||||||
/* */
|
/* */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/******************* Bit definition for WWDG_CR register ********************/
|
/******************* Bit definition for WWDG_CR register ********************/
|
||||||
#define WWDG_CR_T ((uint32_t)0x7F) /*!<T[6:0] bits (7-Bit counter (MSB to LSB)) */
|
#define WWDG_CR_T ((uint32_t)0x7F) /*!<T[6:0] bits (7-Bit counter (MSB to LSB)) */
|
||||||
#define WWDG_CR_T0 ((uint32_t)0x01) /*!<Bit 0 */
|
#define WWDG_CR_T_0 ((uint32_t)0x01) /*!<Bit 0 */
|
||||||
#define WWDG_CR_T1 ((uint32_t)0x02) /*!<Bit 1 */
|
#define WWDG_CR_T_1 ((uint32_t)0x02) /*!<Bit 1 */
|
||||||
#define WWDG_CR_T2 ((uint32_t)0x04) /*!<Bit 2 */
|
#define WWDG_CR_T_2 ((uint32_t)0x04) /*!<Bit 2 */
|
||||||
#define WWDG_CR_T3 ((uint32_t)0x08) /*!<Bit 3 */
|
#define WWDG_CR_T_3 ((uint32_t)0x08) /*!<Bit 3 */
|
||||||
#define WWDG_CR_T4 ((uint32_t)0x10) /*!<Bit 4 */
|
#define WWDG_CR_T_4 ((uint32_t)0x10) /*!<Bit 4 */
|
||||||
#define WWDG_CR_T5 ((uint32_t)0x20) /*!<Bit 5 */
|
#define WWDG_CR_T_5 ((uint32_t)0x20) /*!<Bit 5 */
|
||||||
#define WWDG_CR_T6 ((uint32_t)0x40) /*!<Bit 6 */
|
#define WWDG_CR_T_6 ((uint32_t)0x40) /*!<Bit 6 */
|
||||||
|
|
||||||
#define WWDG_CR_WDGA ((uint32_t)0x80) /*!<Activation bit */
|
/* Legacy defines */
|
||||||
|
#define WWDG_CR_T0 WWDG_CR_T_0 /*!<Bit 0 */
|
||||||
|
#define WWDG_CR_T1 WWDG_CR_T_1 /*!<Bit 1 */
|
||||||
|
#define WWDG_CR_T2 WWDG_CR_T_2 /*!<Bit 2 */
|
||||||
|
#define WWDG_CR_T3 WWDG_CR_T_3 /*!<Bit 3 */
|
||||||
|
#define WWDG_CR_T4 WWDG_CR_T_4 /*!<Bit 4 */
|
||||||
|
#define WWDG_CR_T5 WWDG_CR_T_5 /*!<Bit 5 */
|
||||||
|
#define WWDG_CR_T6 WWDG_CR_T_6 /*!<Bit 6 */
|
||||||
|
|
||||||
|
#define WWDG_CR_WDGA ((uint32_t)0x80) /*!<Activation bit */
|
||||||
|
|
||||||
/******************* Bit definition for WWDG_CFR register *******************/
|
/******************* Bit definition for WWDG_CFR register *******************/
|
||||||
#define WWDG_CFR_W ((uint32_t)0x007F) /*!<W[6:0] bits (7-bit window value) */
|
#define WWDG_CFR_W ((uint32_t)0x007F) /*!<W[6:0] bits (7-bit window value) */
|
||||||
#define WWDG_CFR_W0 ((uint32_t)0x0001) /*!<Bit 0 */
|
#define WWDG_CFR_W_0 ((uint32_t)0x0001) /*!<Bit 0 */
|
||||||
#define WWDG_CFR_W1 ((uint32_t)0x0002) /*!<Bit 1 */
|
#define WWDG_CFR_W_1 ((uint32_t)0x0002) /*!<Bit 1 */
|
||||||
#define WWDG_CFR_W2 ((uint32_t)0x0004) /*!<Bit 2 */
|
#define WWDG_CFR_W_2 ((uint32_t)0x0004) /*!<Bit 2 */
|
||||||
#define WWDG_CFR_W3 ((uint32_t)0x0008) /*!<Bit 3 */
|
#define WWDG_CFR_W_3 ((uint32_t)0x0008) /*!<Bit 3 */
|
||||||
#define WWDG_CFR_W4 ((uint32_t)0x0010) /*!<Bit 4 */
|
#define WWDG_CFR_W_4 ((uint32_t)0x0010) /*!<Bit 4 */
|
||||||
#define WWDG_CFR_W5 ((uint32_t)0x0020) /*!<Bit 5 */
|
#define WWDG_CFR_W_5 ((uint32_t)0x0020) /*!<Bit 5 */
|
||||||
#define WWDG_CFR_W6 ((uint32_t)0x0040) /*!<Bit 6 */
|
#define WWDG_CFR_W_6 ((uint32_t)0x0040) /*!<Bit 6 */
|
||||||
|
|
||||||
#define WWDG_CFR_WDGTB ((uint32_t)0x0180) /*!<WDGTB[1:0] bits (Timer Base) */
|
/* Legacy defines */
|
||||||
#define WWDG_CFR_WDGTB0 ((uint32_t)0x0080) /*!<Bit 0 */
|
#define WWDG_CFR_W0 WWDG_CFR_W_0 /*!<Bit 0 */
|
||||||
#define WWDG_CFR_WDGTB1 ((uint32_t)0x0100) /*!<Bit 1 */
|
#define WWDG_CFR_W1 WWDG_CFR_W_1 /*!<Bit 1 */
|
||||||
|
#define WWDG_CFR_W2 WWDG_CFR_W_2 /*!<Bit 2 */
|
||||||
|
#define WWDG_CFR_W3 WWDG_CFR_W_3 /*!<Bit 3 */
|
||||||
|
#define WWDG_CFR_W4 WWDG_CFR_W_4 /*!<Bit 4 */
|
||||||
|
#define WWDG_CFR_W5 WWDG_CFR_W_5 /*!<Bit 5 */
|
||||||
|
#define WWDG_CFR_W6 WWDG_CFR_W_6 /*!<Bit 6 */
|
||||||
|
|
||||||
#define WWDG_CFR_EWI ((uint32_t)0x0200) /*!<Early Wakeup Interrupt */
|
#define WWDG_CFR_WDGTB ((uint32_t)0x0180) /*!<WDGTB[1:0] bits (Timer Base) */
|
||||||
|
#define WWDG_CFR_WDGTB_0 ((uint32_t)0x0080) /*!<Bit 0 */
|
||||||
|
#define WWDG_CFR_WDGTB_1 ((uint32_t)0x0100) /*!<Bit 1 */
|
||||||
|
|
||||||
|
/* Legacy defines */
|
||||||
|
#define WWDG_CFR_WDGTB0 WWDG_CFR_WDGTB_0 /*!<Bit 0 */
|
||||||
|
#define WWDG_CFR_WDGTB1 WWDG_CFR_WDGTB_1 /*!<Bit 1 */
|
||||||
|
|
||||||
|
#define WWDG_CFR_EWI ((uint32_t)0x0200) /*!<Early Wakeup Interrupt */
|
||||||
|
|
||||||
/******************* Bit definition for WWDG_SR register ********************/
|
/******************* Bit definition for WWDG_SR register ********************/
|
||||||
#define WWDG_SR_EWIF ((uint32_t)0x01) /*!<Early Wakeup Interrupt Flag */
|
#define WWDG_SR_EWIF ((uint32_t)0x01) /*!<Early Wakeup Interrupt Flag */
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -8476,6 +8507,7 @@ typedef struct
|
||||||
#define USB_OTG_DOEPMSK_EPDM ((uint32_t)0x00000002) /*!< Endpoint disabled interrupt mask */
|
#define USB_OTG_DOEPMSK_EPDM ((uint32_t)0x00000002) /*!< Endpoint disabled interrupt mask */
|
||||||
#define USB_OTG_DOEPMSK_STUPM ((uint32_t)0x00000008) /*!< SETUP phase done mask */
|
#define USB_OTG_DOEPMSK_STUPM ((uint32_t)0x00000008) /*!< SETUP phase done mask */
|
||||||
#define USB_OTG_DOEPMSK_OTEPDM ((uint32_t)0x00000010) /*!< OUT token received when endpoint disabled mask */
|
#define USB_OTG_DOEPMSK_OTEPDM ((uint32_t)0x00000010) /*!< OUT token received when endpoint disabled mask */
|
||||||
|
#define USB_OTG_DOEPMSK_OTEPSPRM ((uint32_t)0x00000020) /*!< Status Phase Received mask */
|
||||||
#define USB_OTG_DOEPMSK_B2BSTUP ((uint32_t)0x00000040) /*!< Back-to-back SETUP packets received mask */
|
#define USB_OTG_DOEPMSK_B2BSTUP ((uint32_t)0x00000040) /*!< Back-to-back SETUP packets received mask */
|
||||||
#define USB_OTG_DOEPMSK_OPEM ((uint32_t)0x00000100) /*!< OUT packet error mask */
|
#define USB_OTG_DOEPMSK_OPEM ((uint32_t)0x00000100) /*!< OUT packet error mask */
|
||||||
#define USB_OTG_DOEPMSK_BOIM ((uint32_t)0x00000200) /*!< BNA interrupt mask */
|
#define USB_OTG_DOEPMSK_BOIM ((uint32_t)0x00000200) /*!< BNA interrupt mask */
|
||||||
|
@ -8943,6 +8975,7 @@ typedef struct
|
||||||
#define USB_OTG_DOEPINT_EPDISD ((uint32_t)0x00000002) /*!< Endpoint disabled interrupt */
|
#define USB_OTG_DOEPINT_EPDISD ((uint32_t)0x00000002) /*!< Endpoint disabled interrupt */
|
||||||
#define USB_OTG_DOEPINT_STUP ((uint32_t)0x00000008) /*!< SETUP phase done */
|
#define USB_OTG_DOEPINT_STUP ((uint32_t)0x00000008) /*!< SETUP phase done */
|
||||||
#define USB_OTG_DOEPINT_OTEPDIS ((uint32_t)0x00000010) /*!< OUT token received when endpoint disabled */
|
#define USB_OTG_DOEPINT_OTEPDIS ((uint32_t)0x00000010) /*!< OUT token received when endpoint disabled */
|
||||||
|
#define USB_OTG_DOEPINT_OTEPSPR ((uint32_t)0x00000020) /*!< Status Phase Received For Control Write */
|
||||||
#define USB_OTG_DOEPINT_B2BSTUP ((uint32_t)0x00000040) /*!< Back-to-back SETUP packets received */
|
#define USB_OTG_DOEPINT_B2BSTUP ((uint32_t)0x00000040) /*!< Back-to-back SETUP packets received */
|
||||||
#define USB_OTG_DOEPINT_NYET ((uint32_t)0x00004000) /*!< NYET interrupt */
|
#define USB_OTG_DOEPINT_NYET ((uint32_t)0x00004000) /*!< NYET interrupt */
|
||||||
|
|
||||||
|
@ -8989,6 +9022,7 @@ typedef struct
|
||||||
/******************************* DCMI Instances *******************************/
|
/******************************* DCMI Instances *******************************/
|
||||||
#define IS_DCMI_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == DCMI)
|
#define IS_DCMI_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == DCMI)
|
||||||
|
|
||||||
|
|
||||||
/******************************* DMA2D Instances *******************************/
|
/******************************* DMA2D Instances *******************************/
|
||||||
#define IS_DMA2D_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == DMA2D)
|
#define IS_DMA2D_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == DMA2D)
|
||||||
|
|
||||||
|
@ -9059,6 +9093,7 @@ typedef struct
|
||||||
/****************************** LTDC Instances ********************************/
|
/****************************** LTDC Instances ********************************/
|
||||||
#define IS_LTDC_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == LTDC)
|
#define IS_LTDC_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == LTDC)
|
||||||
|
|
||||||
|
|
||||||
/******************************* RNG Instances ********************************/
|
/******************************* RNG Instances ********************************/
|
||||||
#define IS_RNG_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == RNG)
|
#define IS_RNG_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == RNG)
|
||||||
|
|
||||||
|
@ -9075,7 +9110,6 @@ typedef struct
|
||||||
/******************************** SDMMC Instances *******************************/
|
/******************************** SDMMC Instances *******************************/
|
||||||
#define IS_SDMMC_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == SDMMC1)
|
#define IS_SDMMC_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == SDMMC1)
|
||||||
|
|
||||||
|
|
||||||
/****************************** SPDIFRX Instances *********************************/
|
/****************************** SPDIFRX Instances *********************************/
|
||||||
#define IS_SPDIFRX_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == SPDIFRX)
|
#define IS_SPDIFRX_ALL_INSTANCE(__INSTANCE__) ((__INSTANCE__) == SPDIFRX)
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @file stm32f7xx.h
|
* @file stm32f7xx.h
|
||||||
* @author MCD Application Team
|
* @author MCD Application Team
|
||||||
* @version V1.0.1
|
* @version V1.0.2
|
||||||
* @date 25-June-2015
|
* @date 21-September-2015
|
||||||
* @brief CMSIS STM32F7xx Device Peripheral Access Layer Header File.
|
* @brief CMSIS STM32F7xx Device Peripheral Access Layer Header File.
|
||||||
*
|
*
|
||||||
* The file is the unique include file that the application programmer
|
* The file is the unique include file that the application programmer
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @attention
|
* @attention
|
||||||
*
|
*
|
||||||
* <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
|
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without modification,
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
* are permitted provided that the following conditions are met:
|
* are permitted provided that the following conditions are met:
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @file stm32f7xx_hal_conf_template.h
|
* @file stm32f7xx_hal_conf_template.h
|
||||||
* @author MCD Application Team
|
* @author MCD Application Team
|
||||||
* @version V1.0.1
|
* @version V1.0.4
|
||||||
* @date 25-June-2015
|
* @date 09-December-2015
|
||||||
* @brief HAL configuration template file.
|
* @brief HAL configuration template file.
|
||||||
* This file should be copied to the application folder and renamed
|
* This file should be copied to the application folder and renamed
|
||||||
* to stm32f7xx_hal_conf.h.
|
* to stm32f7xx_hal_conf.h.
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @attention
|
* @attention
|
||||||
*
|
*
|
||||||
* <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
|
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without modification,
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
* are permitted provided that the following conditions are met:
|
* are permitted provided that the following conditions are met:
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @file system_stm32f7xx.c
|
* @file system_stm32f7xx.c
|
||||||
* @author MCD Application Team
|
* @author MCD Application Team
|
||||||
* @version V1.0.1
|
* @version V1.0.2
|
||||||
* @date 25-June-2015
|
* @date 21-September-2015
|
||||||
* @brief CMSIS Cortex-M7 Device Peripheral Access Layer System Source File.
|
* @brief CMSIS Cortex-M7 Device Peripheral Access Layer System Source File.
|
||||||
*
|
*
|
||||||
* This file provides two functions and one global variable to be called from
|
* This file provides two functions and one global variable to be called from
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @attention
|
* @attention
|
||||||
*
|
*
|
||||||
* <h2><center>© COPYRIGHT 2015 STMicroelectronics</center></h2>
|
* <h2><center>© COPYRIGHT 2016 STMicroelectronics</center></h2>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without modification,
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
* are permitted provided that the following conditions are met:
|
* are permitted provided that the following conditions are met:
|
||||||
|
@ -109,14 +109,13 @@ HAL_StatusTypeDef HAL_Init(void);
|
||||||
|
|
||||||
/************************* Miscellaneous Configuration ************************/
|
/************************* Miscellaneous Configuration ************************/
|
||||||
/*!< Uncomment the following line if you need to use external SRAM or SDRAM mounted
|
/*!< Uncomment the following line if you need to use external SRAM or SDRAM mounted
|
||||||
on EVAL board as data memory */
|
on STMicroelectronics EVAL/Discovery boards as data memory */
|
||||||
|
/*!< In case of EVAL/Discovery’s LCD use in application code, the DATA_IN_ExtSDRAM define
|
||||||
|
need to be added in the project preprocessor to avoid SDRAM multiple configuration
|
||||||
|
(the LCD uses SDRAM as frame buffer, and its configuration is done by the BSP_SDRAM_Init()) */
|
||||||
/* #define DATA_IN_ExtSRAM */
|
/* #define DATA_IN_ExtSRAM */
|
||||||
/* #define DATA_IN_ExtSDRAM */
|
/* #define DATA_IN_ExtSDRAM */
|
||||||
|
|
||||||
#if defined(DATA_IN_ExtSRAM) && defined(DATA_IN_ExtSDRAM)
|
|
||||||
#error "Please select DATA_IN_ExtSRAM or DATA_IN_ExtSDRAM "
|
|
||||||
#endif /* DATA_IN_ExtSRAM && DATA_IN_ExtSDRAM */
|
|
||||||
|
|
||||||
/*!< Uncomment the following line if you need to relocate your vector Table in
|
/*!< Uncomment the following line if you need to relocate your vector Table in
|
||||||
Internal SRAM. */
|
Internal SRAM. */
|
||||||
/* #define VECT_TAB_SRAM */
|
/* #define VECT_TAB_SRAM */
|
||||||
|
@ -218,7 +217,7 @@ void SystemInit(void)
|
||||||
|
|
||||||
/* Configure the Vector Table location add offset address ------------------*/
|
/* Configure the Vector Table location add offset address ------------------*/
|
||||||
#ifdef VECT_TAB_SRAM
|
#ifdef VECT_TAB_SRAM
|
||||||
SCB->VTOR = SRAM1_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
|
SCB->VTOR = RAMDTCM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
|
||||||
#else
|
#else
|
||||||
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
|
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
|
||||||
#endif
|
#endif
|
||||||
|
@ -336,7 +335,151 @@ void SystemCoreClockUpdate(void)
|
||||||
void SystemInit_ExtMemCtl(void)
|
void SystemInit_ExtMemCtl(void)
|
||||||
{
|
{
|
||||||
__IO uint32_t tmp = 0;
|
__IO uint32_t tmp = 0;
|
||||||
#if defined (DATA_IN_ExtSDRAM)
|
#if defined (DATA_IN_ExtSDRAM) && defined (DATA_IN_ExtSRAM)
|
||||||
|
register uint32_t tmpreg = 0, timeout = 0xFFFF;
|
||||||
|
register uint32_t index;
|
||||||
|
|
||||||
|
/* Enable GPIOD, GPIOE, GPIOF, GPIOG, GPIOH and GPIOI interface
|
||||||
|
clock */
|
||||||
|
RCC->AHB1ENR |= 0x000001F8;
|
||||||
|
|
||||||
|
/* Delay after an RCC peripheral clock enabling */
|
||||||
|
tmp = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOEEN);
|
||||||
|
|
||||||
|
/* Connect PDx pins to FMC Alternate function */
|
||||||
|
GPIOD->AFR[0] = 0x00CCC0CC;
|
||||||
|
GPIOD->AFR[1] = 0xCCCCCCCC;
|
||||||
|
/* Configure PDx pins in Alternate function mode */
|
||||||
|
GPIOD->MODER = 0xAAAA0A8A;
|
||||||
|
|
||||||
|
/* Configure PDx pins speed to 100 MHz */
|
||||||
|
GPIOD->OSPEEDR = 0xFFFF0FCF;
|
||||||
|
/* Configure PDx pins Output type to push-pull */
|
||||||
|
GPIOD->OTYPER = 0x00000000;
|
||||||
|
/* No pull-up, pull-down for PDx pins */
|
||||||
|
GPIOD->PUPDR = 0x55550545;
|
||||||
|
|
||||||
|
/* Connect PEx pins to FMC Alternate function */
|
||||||
|
GPIOE->AFR[0] = 0xC00CC0CC;
|
||||||
|
GPIOE->AFR[1] = 0xCCCCCCCC;
|
||||||
|
/* Configure PEx pins in Alternate function mode */
|
||||||
|
GPIOE->MODER = 0xAAAA828A;
|
||||||
|
/* Configure PEx pins speed to 50 MHz */
|
||||||
|
GPIOE->OSPEEDR = 0xFFFFC3CF;
|
||||||
|
/* Configure PEx pins Output type to push-pull */
|
||||||
|
GPIOE->OTYPER = 0x00000000;
|
||||||
|
/* No pull-up, pull-down for PEx pins */
|
||||||
|
GPIOE->PUPDR = 0x55554145;
|
||||||
|
|
||||||
|
/* Connect PFx pins to FMC Alternate function */
|
||||||
|
GPIOF->AFR[0] = 0x00CCCCCC;
|
||||||
|
GPIOF->AFR[1] = 0xCCCCC000;
|
||||||
|
/* Configure PFx pins in Alternate function mode */
|
||||||
|
GPIOF->MODER = 0xAA800AAA;
|
||||||
|
/* Configure PFx pins speed to 50 MHz */
|
||||||
|
GPIOF->OSPEEDR = 0xFF800FFF;
|
||||||
|
/* Configure PFx pins Output type to push-pull */
|
||||||
|
GPIOF->OTYPER = 0x00000000;
|
||||||
|
/* No pull-up, pull-down for PFx pins */
|
||||||
|
GPIOF->PUPDR = 0x55400555;
|
||||||
|
|
||||||
|
/* Connect PGx pins to FMC Alternate function */
|
||||||
|
GPIOG->AFR[0] = 0x00CC00CC;
|
||||||
|
GPIOG->AFR[1] = 0xC00000CC;
|
||||||
|
/* Configure PGx pins in Alternate function mode */
|
||||||
|
GPIOG->MODER = 0x80220AAA;
|
||||||
|
/* Configure PGx pins speed to 50 MHz */
|
||||||
|
GPIOG->OSPEEDR = 0x80320FFF;
|
||||||
|
/* Configure PGx pins Output type to push-pull */
|
||||||
|
GPIOG->OTYPER = 0x00000000;
|
||||||
|
/* No pull-up, pull-down for PGx pins */
|
||||||
|
GPIOG->PUPDR = 0x40110555;
|
||||||
|
|
||||||
|
/* Connect PHx pins to FMC Alternate function */
|
||||||
|
GPIOH->AFR[0] = 0x00C0CC00;
|
||||||
|
GPIOH->AFR[1] = 0xCCCCCCCC;
|
||||||
|
/* Configure PHx pins in Alternate function mode */
|
||||||
|
GPIOH->MODER = 0xAAAA08A0;
|
||||||
|
/* Configure PHx pins speed to 50 MHz */
|
||||||
|
GPIOH->OSPEEDR = 0xAAAA08A0;
|
||||||
|
/* Configure PHx pins Output type to push-pull */
|
||||||
|
GPIOH->OTYPER = 0x00000000;
|
||||||
|
/* No pull-up, pull-down for PHx pins */
|
||||||
|
GPIOH->PUPDR = 0x55550450;
|
||||||
|
|
||||||
|
/* Connect PIx pins to FMC Alternate function */
|
||||||
|
GPIOI->AFR[0] = 0xCCCCCCCC;
|
||||||
|
GPIOI->AFR[1] = 0x00000CC0;
|
||||||
|
/* Configure PIx pins in Alternate function mode */
|
||||||
|
GPIOI->MODER = 0x0028AAAA;
|
||||||
|
/* Configure PIx pins speed to 50 MHz */
|
||||||
|
GPIOI->OSPEEDR = 0x0028AAAA;
|
||||||
|
/* Configure PIx pins Output type to push-pull */
|
||||||
|
GPIOI->OTYPER = 0x00000000;
|
||||||
|
/* No pull-up, pull-down for PIx pins */
|
||||||
|
GPIOI->PUPDR = 0x00145555;
|
||||||
|
|
||||||
|
/*-- FMC Configuration ------------------------------------------------------*/
|
||||||
|
/* Enable the FMC interface clock */
|
||||||
|
RCC->AHB3ENR |= 0x00000001;
|
||||||
|
|
||||||
|
/* Delay after an RCC peripheral clock enabling */
|
||||||
|
tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);
|
||||||
|
|
||||||
|
/* Configure and enable Bank1_SRAM2 */
|
||||||
|
FMC_Bank1->BTCR[4] = 0x00001091;
|
||||||
|
FMC_Bank1->BTCR[5] = 0x00110212;
|
||||||
|
FMC_Bank1E->BWTR[4] = 0x0FFFFFFF;
|
||||||
|
|
||||||
|
/* Configure and enable SDRAM bank1 */
|
||||||
|
FMC_Bank5_6->SDCR[0] = 0x000019E5;
|
||||||
|
FMC_Bank5_6->SDTR[0] = 0x01116361;
|
||||||
|
|
||||||
|
/* SDRAM initialization sequence */
|
||||||
|
/* Clock enable command */
|
||||||
|
FMC_Bank5_6->SDCMR = 0x00000011;
|
||||||
|
tmpreg = FMC_Bank5_6->SDSR & 0x00000020;
|
||||||
|
while((tmpreg != 0) && (timeout-- > 0))
|
||||||
|
{
|
||||||
|
tmpreg = FMC_Bank5_6->SDSR & 0x00000020;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Delay */
|
||||||
|
for (index = 0; index<1000; index++);
|
||||||
|
|
||||||
|
/* PALL command */
|
||||||
|
FMC_Bank5_6->SDCMR = 0x00000012;
|
||||||
|
timeout = 0xFFFF;
|
||||||
|
while((tmpreg != 0) && (timeout-- > 0))
|
||||||
|
{
|
||||||
|
tmpreg = FMC_Bank5_6->SDSR & 0x00000020;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Auto refresh command */
|
||||||
|
FMC_Bank5_6->SDCMR = 0x000000F3;
|
||||||
|
timeout = 0xFFFF;
|
||||||
|
while((tmpreg != 0) && (timeout-- > 0))
|
||||||
|
{
|
||||||
|
tmpreg = FMC_Bank5_6->SDSR & 0x00000020;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* MRD register program */
|
||||||
|
FMC_Bank5_6->SDCMR = 0x00046014;
|
||||||
|
timeout = 0xFFFF;
|
||||||
|
while((tmpreg != 0) && (timeout-- > 0))
|
||||||
|
{
|
||||||
|
tmpreg = FMC_Bank5_6->SDSR & 0x00000020;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set refresh count */
|
||||||
|
tmpreg = FMC_Bank5_6->SDRTR;
|
||||||
|
FMC_Bank5_6->SDRTR = (tmpreg | (0x00000603<<1));
|
||||||
|
|
||||||
|
/* Disable write protection */
|
||||||
|
tmpreg = FMC_Bank5_6->SDCR[0];
|
||||||
|
FMC_Bank5_6->SDCR[0] = (tmpreg & 0xFFFFFDFF);
|
||||||
|
|
||||||
|
#elif defined (DATA_IN_ExtSDRAM)
|
||||||
register uint32_t tmpreg = 0, timeout = 0xFFFF;
|
register uint32_t tmpreg = 0, timeout = 0xFFFF;
|
||||||
register uint32_t index;
|
register uint32_t index;
|
||||||
|
|
||||||
|
@ -473,9 +616,8 @@ void SystemInit_ExtMemCtl(void)
|
||||||
/* Disable write protection */
|
/* Disable write protection */
|
||||||
tmpreg = FMC_Bank5_6->SDCR[0];
|
tmpreg = FMC_Bank5_6->SDCR[0];
|
||||||
FMC_Bank5_6->SDCR[0] = (tmpreg & 0xFFFFFDFF);
|
FMC_Bank5_6->SDCR[0] = (tmpreg & 0xFFFFFDFF);
|
||||||
#endif /* DATA_IN_ExtSDRAM */
|
|
||||||
|
#elif defined(DATA_IN_ExtSRAM)
|
||||||
#if defined(DATA_IN_ExtSRAM)
|
|
||||||
/*-- GPIOs Configuration -----------------------------------------------------*/
|
/*-- GPIOs Configuration -----------------------------------------------------*/
|
||||||
/* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */
|
/* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */
|
||||||
RCC->AHB1ENR |= 0x00000078;
|
RCC->AHB1ENR |= 0x00000078;
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @file system_stm32f7xx.h
|
* @file system_stm32f7xx.h
|
||||||
* @author MCD Application Team
|
* @author MCD Application Team
|
||||||
* @version V1.0.1
|
* @version V1.0.2
|
||||||
* @date 25-June-2015
|
* @date 21-September-2015
|
||||||
* @brief CMSIS Cortex-M7 Device System Source File for STM32F7xx devices.
|
* @brief CMSIS Cortex-M7 Device System Source File for STM32F7xx devices.
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* @attention
|
* @attention
|
||||||
*
|
*
|
||||||
* <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
|
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without modification,
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
* are permitted provided that the following conditions are met:
|
* are permitted provided that the following conditions are met:
|
||||||
|
|
|
@ -0,0 +1,463 @@
|
||||||
|
;******************** (C) COPYRIGHT 2015 STMicroelectronics ********************
|
||||||
|
;* File Name : startup_stm32f746xx.s
|
||||||
|
;* Author : MCD Application Team
|
||||||
|
;* Version : V1.0.2
|
||||||
|
;* Date : 21-September-2015
|
||||||
|
;* Description : STM32F746xx devices vector table for MDK-ARM toolchain.
|
||||||
|
;* This module performs:
|
||||||
|
;* - Set the initial SP
|
||||||
|
;* - Set the initial PC == Reset_Handler
|
||||||
|
;* - Set the vector table entries with the exceptions ISR address
|
||||||
|
;* - Branches to __main in the C library (which eventually
|
||||||
|
;* calls main()).
|
||||||
|
;* After Reset the CortexM7 processor is in Thread mode,
|
||||||
|
;* priority is Privileged, and the Stack is set to Main.
|
||||||
|
;* <<< Use Configuration Wizard in Context Menu >>>
|
||||||
|
;*******************************************************************************
|
||||||
|
;
|
||||||
|
;* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
;* are permitted provided that the following conditions are met:
|
||||||
|
;* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
;* this list of conditions and the following disclaimer.
|
||||||
|
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
;* this list of conditions and the following disclaimer in the documentation
|
||||||
|
;* and/or other materials provided with the distribution.
|
||||||
|
;* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||||
|
;* may be used to endorse or promote products derived from this software
|
||||||
|
;* without specific prior written permission.
|
||||||
|
;*
|
||||||
|
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
;
|
||||||
|
;*******************************************************************************
|
||||||
|
|
||||||
|
; Amount of memory (in bytes) allocated for Stack
|
||||||
|
; Tailor this value to your application needs
|
||||||
|
; <h> Stack Configuration
|
||||||
|
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
||||||
|
; </h>
|
||||||
|
|
||||||
|
Stack_Size EQU 0x00000400
|
||||||
|
|
||||||
|
AREA STACK, NOINIT, READWRITE, ALIGN=3
|
||||||
|
EXPORT __initial_sp
|
||||||
|
|
||||||
|
Stack_Mem SPACE Stack_Size
|
||||||
|
__initial_sp EQU 0x20050000 ; Top of RAM
|
||||||
|
|
||||||
|
|
||||||
|
; <h> Heap Configuration
|
||||||
|
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
||||||
|
; </h>
|
||||||
|
|
||||||
|
Heap_Size EQU 0x00000400
|
||||||
|
|
||||||
|
AREA HEAP, NOINIT, READWRITE, ALIGN=3
|
||||||
|
EXPORT __heap_base
|
||||||
|
EXPORT __heap_limit
|
||||||
|
|
||||||
|
__heap_base
|
||||||
|
Heap_Mem SPACE Heap_Size
|
||||||
|
__heap_limit EQU (__initial_sp - Stack_Size)
|
||||||
|
|
||||||
|
PRESERVE8
|
||||||
|
THUMB
|
||||||
|
|
||||||
|
|
||||||
|
; Vector Table Mapped to Address 0 at Reset
|
||||||
|
AREA RESET, DATA, READONLY
|
||||||
|
EXPORT __Vectors
|
||||||
|
EXPORT __Vectors_End
|
||||||
|
EXPORT __Vectors_Size
|
||||||
|
|
||||||
|
__Vectors DCD __initial_sp ; Top of Stack
|
||||||
|
DCD Reset_Handler ; Reset Handler
|
||||||
|
DCD NMI_Handler ; NMI Handler
|
||||||
|
DCD HardFault_Handler ; Hard Fault Handler
|
||||||
|
DCD MemManage_Handler ; MPU Fault Handler
|
||||||
|
DCD BusFault_Handler ; Bus Fault Handler
|
||||||
|
DCD UsageFault_Handler ; Usage Fault Handler
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD SVC_Handler ; SVCall Handler
|
||||||
|
DCD DebugMon_Handler ; Debug Monitor Handler
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD PendSV_Handler ; PendSV Handler
|
||||||
|
DCD SysTick_Handler ; SysTick Handler
|
||||||
|
|
||||||
|
; External Interrupts
|
||||||
|
DCD WWDG_IRQHandler ; Window WatchDog
|
||||||
|
DCD PVD_IRQHandler ; PVD through EXTI Line detection
|
||||||
|
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
|
||||||
|
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
|
||||||
|
DCD FLASH_IRQHandler ; FLASH
|
||||||
|
DCD RCC_IRQHandler ; RCC
|
||||||
|
DCD EXTI0_IRQHandler ; EXTI Line0
|
||||||
|
DCD EXTI1_IRQHandler ; EXTI Line1
|
||||||
|
DCD EXTI2_IRQHandler ; EXTI Line2
|
||||||
|
DCD EXTI3_IRQHandler ; EXTI Line3
|
||||||
|
DCD EXTI4_IRQHandler ; EXTI Line4
|
||||||
|
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0
|
||||||
|
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1
|
||||||
|
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2
|
||||||
|
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3
|
||||||
|
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4
|
||||||
|
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5
|
||||||
|
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6
|
||||||
|
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s
|
||||||
|
DCD CAN1_TX_IRQHandler ; CAN1 TX
|
||||||
|
DCD CAN1_RX0_IRQHandler ; CAN1 RX0
|
||||||
|
DCD CAN1_RX1_IRQHandler ; CAN1 RX1
|
||||||
|
DCD CAN1_SCE_IRQHandler ; CAN1 SCE
|
||||||
|
DCD EXTI9_5_IRQHandler ; External Line[9:5]s
|
||||||
|
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9
|
||||||
|
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10
|
||||||
|
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11
|
||||||
|
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
|
||||||
|
DCD TIM2_IRQHandler ; TIM2
|
||||||
|
DCD TIM3_IRQHandler ; TIM3
|
||||||
|
DCD TIM4_IRQHandler ; TIM4
|
||||||
|
DCD I2C1_EV_IRQHandler ; I2C1 Event
|
||||||
|
DCD I2C1_ER_IRQHandler ; I2C1 Error
|
||||||
|
DCD I2C2_EV_IRQHandler ; I2C2 Event
|
||||||
|
DCD I2C2_ER_IRQHandler ; I2C2 Error
|
||||||
|
DCD SPI1_IRQHandler ; SPI1
|
||||||
|
DCD SPI2_IRQHandler ; SPI2
|
||||||
|
DCD USART1_IRQHandler ; USART1
|
||||||
|
DCD USART2_IRQHandler ; USART2
|
||||||
|
DCD USART3_IRQHandler ; USART3
|
||||||
|
DCD EXTI15_10_IRQHandler ; External Line[15:10]s
|
||||||
|
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
|
||||||
|
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line
|
||||||
|
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12
|
||||||
|
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13
|
||||||
|
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14
|
||||||
|
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare
|
||||||
|
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7
|
||||||
|
DCD FMC_IRQHandler ; FMC
|
||||||
|
DCD SDMMC1_IRQHandler ; SDMMC1
|
||||||
|
DCD TIM5_IRQHandler ; TIM5
|
||||||
|
DCD SPI3_IRQHandler ; SPI3
|
||||||
|
DCD UART4_IRQHandler ; UART4
|
||||||
|
DCD UART5_IRQHandler ; UART5
|
||||||
|
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors
|
||||||
|
DCD TIM7_IRQHandler ; TIM7
|
||||||
|
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0
|
||||||
|
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1
|
||||||
|
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2
|
||||||
|
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3
|
||||||
|
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4
|
||||||
|
DCD ETH_IRQHandler ; Ethernet
|
||||||
|
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line
|
||||||
|
DCD CAN2_TX_IRQHandler ; CAN2 TX
|
||||||
|
DCD CAN2_RX0_IRQHandler ; CAN2 RX0
|
||||||
|
DCD CAN2_RX1_IRQHandler ; CAN2 RX1
|
||||||
|
DCD CAN2_SCE_IRQHandler ; CAN2 SCE
|
||||||
|
DCD OTG_FS_IRQHandler ; USB OTG FS
|
||||||
|
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5
|
||||||
|
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6
|
||||||
|
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7
|
||||||
|
DCD USART6_IRQHandler ; USART6
|
||||||
|
DCD I2C3_EV_IRQHandler ; I2C3 event
|
||||||
|
DCD I2C3_ER_IRQHandler ; I2C3 error
|
||||||
|
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out
|
||||||
|
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In
|
||||||
|
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI
|
||||||
|
DCD OTG_HS_IRQHandler ; USB OTG HS
|
||||||
|
DCD DCMI_IRQHandler ; DCMI
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD RNG_IRQHandler ; Hash and Rng
|
||||||
|
DCD FPU_IRQHandler ; FPU
|
||||||
|
DCD UART7_IRQHandler ; UART7
|
||||||
|
DCD UART8_IRQHandler ; UART8
|
||||||
|
DCD SPI4_IRQHandler ; SPI4
|
||||||
|
DCD SPI5_IRQHandler ; SPI5
|
||||||
|
DCD SPI6_IRQHandler ; SPI6
|
||||||
|
DCD SAI1_IRQHandler ; SAI1
|
||||||
|
DCD LTDC_IRQHandler ; LTDC
|
||||||
|
DCD LTDC_ER_IRQHandler ; LTDC error
|
||||||
|
DCD DMA2D_IRQHandler ; DMA2D
|
||||||
|
DCD SAI2_IRQHandler ; SAI2
|
||||||
|
DCD QUADSPI_IRQHandler ; QUADSPI
|
||||||
|
DCD LPTIM1_IRQHandler ; LPTIM1
|
||||||
|
DCD CEC_IRQHandler ; HDMI_CEC
|
||||||
|
DCD I2C4_EV_IRQHandler ; I2C4 Event
|
||||||
|
DCD I2C4_ER_IRQHandler ; I2C4 Error
|
||||||
|
DCD SPDIF_RX_IRQHandler ; SPDIF_RX
|
||||||
|
__Vectors_End
|
||||||
|
|
||||||
|
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||||
|
|
||||||
|
AREA |.text|, CODE, READONLY
|
||||||
|
|
||||||
|
; Reset handler
|
||||||
|
Reset_Handler PROC
|
||||||
|
EXPORT Reset_Handler [WEAK]
|
||||||
|
IMPORT SystemInit
|
||||||
|
IMPORT __main
|
||||||
|
|
||||||
|
LDR R0, =SystemInit
|
||||||
|
BLX R0
|
||||||
|
LDR R0, =__main
|
||||||
|
BX R0
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
; Dummy Exception Handlers (infinite loops which can be modified)
|
||||||
|
|
||||||
|
NMI_Handler PROC
|
||||||
|
EXPORT NMI_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
HardFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT HardFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
MemManage_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT MemManage_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
BusFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT BusFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
UsageFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT UsageFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
SVC_Handler PROC
|
||||||
|
EXPORT SVC_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
DebugMon_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT DebugMon_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
PendSV_Handler PROC
|
||||||
|
EXPORT PendSV_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
SysTick_Handler PROC
|
||||||
|
EXPORT SysTick_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
Default_Handler PROC
|
||||||
|
|
||||||
|
EXPORT WWDG_IRQHandler [WEAK]
|
||||||
|
EXPORT PVD_IRQHandler [WEAK]
|
||||||
|
EXPORT TAMP_STAMP_IRQHandler [WEAK]
|
||||||
|
EXPORT RTC_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT FLASH_IRQHandler [WEAK]
|
||||||
|
EXPORT RCC_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI0_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI1_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI2_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI3_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI4_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream0_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream1_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream2_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream3_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream4_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream5_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream6_IRQHandler [WEAK]
|
||||||
|
EXPORT ADC_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_TX_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_RX0_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_RX1_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_SCE_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI9_5_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_BRK_TIM9_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_UP_TIM10_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_TRG_COM_TIM11_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_CC_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM2_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM3_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM4_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C1_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C1_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C2_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C2_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI1_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI2_IRQHandler [WEAK]
|
||||||
|
EXPORT USART1_IRQHandler [WEAK]
|
||||||
|
EXPORT USART2_IRQHandler [WEAK]
|
||||||
|
EXPORT USART3_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI15_10_IRQHandler [WEAK]
|
||||||
|
EXPORT RTC_Alarm_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_FS_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_BRK_TIM12_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_UP_TIM13_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_TRG_COM_TIM14_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_CC_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream7_IRQHandler [WEAK]
|
||||||
|
EXPORT FMC_IRQHandler [WEAK]
|
||||||
|
EXPORT SDMMC1_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM5_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI3_IRQHandler [WEAK]
|
||||||
|
EXPORT UART4_IRQHandler [WEAK]
|
||||||
|
EXPORT UART5_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM6_DAC_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM7_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream0_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream1_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream2_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream3_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream4_IRQHandler [WEAK]
|
||||||
|
EXPORT ETH_IRQHandler [WEAK]
|
||||||
|
EXPORT ETH_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_TX_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_RX0_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_RX1_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_SCE_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_FS_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream5_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream6_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream7_IRQHandler [WEAK]
|
||||||
|
EXPORT USART6_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C3_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C3_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_EP1_OUT_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_EP1_IN_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_IRQHandler [WEAK]
|
||||||
|
EXPORT DCMI_IRQHandler [WEAK]
|
||||||
|
EXPORT RNG_IRQHandler [WEAK]
|
||||||
|
EXPORT FPU_IRQHandler [WEAK]
|
||||||
|
EXPORT UART7_IRQHandler [WEAK]
|
||||||
|
EXPORT UART8_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI4_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI5_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI6_IRQHandler [WEAK]
|
||||||
|
EXPORT SAI1_IRQHandler [WEAK]
|
||||||
|
EXPORT LTDC_IRQHandler [WEAK]
|
||||||
|
EXPORT LTDC_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2D_IRQHandler [WEAK]
|
||||||
|
EXPORT SAI2_IRQHandler [WEAK]
|
||||||
|
EXPORT QUADSPI_IRQHandler [WEAK]
|
||||||
|
EXPORT LPTIM1_IRQHandler [WEAK]
|
||||||
|
EXPORT CEC_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C4_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C4_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT SPDIF_RX_IRQHandler [WEAK]
|
||||||
|
|
||||||
|
WWDG_IRQHandler
|
||||||
|
PVD_IRQHandler
|
||||||
|
TAMP_STAMP_IRQHandler
|
||||||
|
RTC_WKUP_IRQHandler
|
||||||
|
FLASH_IRQHandler
|
||||||
|
RCC_IRQHandler
|
||||||
|
EXTI0_IRQHandler
|
||||||
|
EXTI1_IRQHandler
|
||||||
|
EXTI2_IRQHandler
|
||||||
|
EXTI3_IRQHandler
|
||||||
|
EXTI4_IRQHandler
|
||||||
|
DMA1_Stream0_IRQHandler
|
||||||
|
DMA1_Stream1_IRQHandler
|
||||||
|
DMA1_Stream2_IRQHandler
|
||||||
|
DMA1_Stream3_IRQHandler
|
||||||
|
DMA1_Stream4_IRQHandler
|
||||||
|
DMA1_Stream5_IRQHandler
|
||||||
|
DMA1_Stream6_IRQHandler
|
||||||
|
ADC_IRQHandler
|
||||||
|
CAN1_TX_IRQHandler
|
||||||
|
CAN1_RX0_IRQHandler
|
||||||
|
CAN1_RX1_IRQHandler
|
||||||
|
CAN1_SCE_IRQHandler
|
||||||
|
EXTI9_5_IRQHandler
|
||||||
|
TIM1_BRK_TIM9_IRQHandler
|
||||||
|
TIM1_UP_TIM10_IRQHandler
|
||||||
|
TIM1_TRG_COM_TIM11_IRQHandler
|
||||||
|
TIM1_CC_IRQHandler
|
||||||
|
TIM2_IRQHandler
|
||||||
|
TIM3_IRQHandler
|
||||||
|
TIM4_IRQHandler
|
||||||
|
I2C1_EV_IRQHandler
|
||||||
|
I2C1_ER_IRQHandler
|
||||||
|
I2C2_EV_IRQHandler
|
||||||
|
I2C2_ER_IRQHandler
|
||||||
|
SPI1_IRQHandler
|
||||||
|
SPI2_IRQHandler
|
||||||
|
USART1_IRQHandler
|
||||||
|
USART2_IRQHandler
|
||||||
|
USART3_IRQHandler
|
||||||
|
EXTI15_10_IRQHandler
|
||||||
|
RTC_Alarm_IRQHandler
|
||||||
|
OTG_FS_WKUP_IRQHandler
|
||||||
|
TIM8_BRK_TIM12_IRQHandler
|
||||||
|
TIM8_UP_TIM13_IRQHandler
|
||||||
|
TIM8_TRG_COM_TIM14_IRQHandler
|
||||||
|
TIM8_CC_IRQHandler
|
||||||
|
DMA1_Stream7_IRQHandler
|
||||||
|
FMC_IRQHandler
|
||||||
|
SDMMC1_IRQHandler
|
||||||
|
TIM5_IRQHandler
|
||||||
|
SPI3_IRQHandler
|
||||||
|
UART4_IRQHandler
|
||||||
|
UART5_IRQHandler
|
||||||
|
TIM6_DAC_IRQHandler
|
||||||
|
TIM7_IRQHandler
|
||||||
|
DMA2_Stream0_IRQHandler
|
||||||
|
DMA2_Stream1_IRQHandler
|
||||||
|
DMA2_Stream2_IRQHandler
|
||||||
|
DMA2_Stream3_IRQHandler
|
||||||
|
DMA2_Stream4_IRQHandler
|
||||||
|
ETH_IRQHandler
|
||||||
|
ETH_WKUP_IRQHandler
|
||||||
|
CAN2_TX_IRQHandler
|
||||||
|
CAN2_RX0_IRQHandler
|
||||||
|
CAN2_RX1_IRQHandler
|
||||||
|
CAN2_SCE_IRQHandler
|
||||||
|
OTG_FS_IRQHandler
|
||||||
|
DMA2_Stream5_IRQHandler
|
||||||
|
DMA2_Stream6_IRQHandler
|
||||||
|
DMA2_Stream7_IRQHandler
|
||||||
|
USART6_IRQHandler
|
||||||
|
I2C3_EV_IRQHandler
|
||||||
|
I2C3_ER_IRQHandler
|
||||||
|
OTG_HS_EP1_OUT_IRQHandler
|
||||||
|
OTG_HS_EP1_IN_IRQHandler
|
||||||
|
OTG_HS_WKUP_IRQHandler
|
||||||
|
OTG_HS_IRQHandler
|
||||||
|
DCMI_IRQHandler
|
||||||
|
RNG_IRQHandler
|
||||||
|
FPU_IRQHandler
|
||||||
|
UART7_IRQHandler
|
||||||
|
UART8_IRQHandler
|
||||||
|
SPI4_IRQHandler
|
||||||
|
SPI5_IRQHandler
|
||||||
|
SPI6_IRQHandler
|
||||||
|
SAI1_IRQHandler
|
||||||
|
LTDC_IRQHandler
|
||||||
|
LTDC_ER_IRQHandler
|
||||||
|
DMA2D_IRQHandler
|
||||||
|
SAI2_IRQHandler
|
||||||
|
QUADSPI_IRQHandler
|
||||||
|
LPTIM1_IRQHandler
|
||||||
|
CEC_IRQHandler
|
||||||
|
I2C4_EV_IRQHandler
|
||||||
|
I2C4_ER_IRQHandler
|
||||||
|
SPDIF_RX_IRQHandler
|
||||||
|
B .
|
||||||
|
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
ALIGN
|
||||||
|
END
|
||||||
|
|
||||||
|
;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
|
|
@ -0,0 +1,45 @@
|
||||||
|
; Scatter-Loading Description File
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
; Copyright (c) 2016, STMicroelectronics
|
||||||
|
; All rights reserved.
|
||||||
|
;
|
||||||
|
; Redistribution and use in source and binary forms, with or without
|
||||||
|
; modification, are permitted provided that the following conditions are met:
|
||||||
|
;
|
||||||
|
; 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
; this list of conditions and the following disclaimer.
|
||||||
|
; 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
; this list of conditions and the following disclaimer in the documentation
|
||||||
|
; and/or other materials provided with the distribution.
|
||||||
|
; 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||||
|
; may be used to endorse or promote products derived from this software
|
||||||
|
; without specific prior written permission.
|
||||||
|
;
|
||||||
|
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
; CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
; STM32F746ZG: 1024 KB FLASH (0x100000) + 320 KB SRAM (0x50000)
|
||||||
|
LR_IROM1 0x08000000 0x100000 { ; load region size_region
|
||||||
|
|
||||||
|
ER_IROM1 0x08000000 0x100000 { ; load address = execution address
|
||||||
|
*.o (RESET, +First)
|
||||||
|
*(InRoot$$Sections)
|
||||||
|
.ANY (+RO)
|
||||||
|
}
|
||||||
|
|
||||||
|
; Total: 114 vectors = 456 bytes (0x1C8) to be reserved in RAM
|
||||||
|
RW_IRAM1 (0x20000000+0x1C8) (0x50000-0x1C8) { ; RW data
|
||||||
|
.ANY (+RW +ZI)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
/* mbed Microcontroller Library - stackheap
|
||||||
|
* Setup a fixed single stack/heap memory model,
|
||||||
|
* between the top of the RW/ZI region and the stackpointer
|
||||||
|
*******************************************************************************
|
||||||
|
* Copyright (c) 2014, STMicroelectronics
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <rt_misc.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
||||||
|
|
||||||
|
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
||||||
|
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
||||||
|
uint32_t sp_limit = __current_sp();
|
||||||
|
|
||||||
|
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
||||||
|
|
||||||
|
struct __initial_stackheap r;
|
||||||
|
r.heap_base = zi_limit;
|
||||||
|
r.heap_limit = sp_limit;
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
|
@ -0,0 +1,436 @@
|
||||||
|
;******************** (C) COPYRIGHT 2015 STMicroelectronics ********************
|
||||||
|
;* File Name : startup_stm32f746xx.s
|
||||||
|
;* Author : MCD Application Team
|
||||||
|
;* Version : V1.0.2
|
||||||
|
;* Date : 21-September-2015
|
||||||
|
;* Description : STM32F746xx devices vector table for MDK-ARM toolchain.
|
||||||
|
;* This module performs:
|
||||||
|
;* - Set the initial SP
|
||||||
|
;* - Set the initial PC == Reset_Handler
|
||||||
|
;* - Set the vector table entries with the exceptions ISR address
|
||||||
|
;* - Branches to __main in the C library (which eventually
|
||||||
|
;* calls main()).
|
||||||
|
;* After Reset the CortexM7 processor is in Thread mode,
|
||||||
|
;* priority is Privileged, and the Stack is set to Main.
|
||||||
|
;* <<< Use Configuration Wizard in Context Menu >>>
|
||||||
|
;*******************************************************************************
|
||||||
|
;
|
||||||
|
;* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
;* are permitted provided that the following conditions are met:
|
||||||
|
;* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
;* this list of conditions and the following disclaimer.
|
||||||
|
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
;* this list of conditions and the following disclaimer in the documentation
|
||||||
|
;* and/or other materials provided with the distribution.
|
||||||
|
;* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||||
|
;* may be used to endorse or promote products derived from this software
|
||||||
|
;* without specific prior written permission.
|
||||||
|
;*
|
||||||
|
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
;
|
||||||
|
;*******************************************************************************
|
||||||
|
|
||||||
|
__initial_sp EQU 0x20050000 ; Top of RAM
|
||||||
|
|
||||||
|
PRESERVE8
|
||||||
|
THUMB
|
||||||
|
|
||||||
|
|
||||||
|
; Vector Table Mapped to Address 0 at Reset
|
||||||
|
AREA RESET, DATA, READONLY
|
||||||
|
EXPORT __Vectors
|
||||||
|
EXPORT __Vectors_End
|
||||||
|
EXPORT __Vectors_Size
|
||||||
|
|
||||||
|
__Vectors DCD __initial_sp ; Top of Stack
|
||||||
|
DCD Reset_Handler ; Reset Handler
|
||||||
|
DCD NMI_Handler ; NMI Handler
|
||||||
|
DCD HardFault_Handler ; Hard Fault Handler
|
||||||
|
DCD MemManage_Handler ; MPU Fault Handler
|
||||||
|
DCD BusFault_Handler ; Bus Fault Handler
|
||||||
|
DCD UsageFault_Handler ; Usage Fault Handler
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD SVC_Handler ; SVCall Handler
|
||||||
|
DCD DebugMon_Handler ; Debug Monitor Handler
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD PendSV_Handler ; PendSV Handler
|
||||||
|
DCD SysTick_Handler ; SysTick Handler
|
||||||
|
|
||||||
|
; External Interrupts
|
||||||
|
DCD WWDG_IRQHandler ; Window WatchDog
|
||||||
|
DCD PVD_IRQHandler ; PVD through EXTI Line detection
|
||||||
|
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
|
||||||
|
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
|
||||||
|
DCD FLASH_IRQHandler ; FLASH
|
||||||
|
DCD RCC_IRQHandler ; RCC
|
||||||
|
DCD EXTI0_IRQHandler ; EXTI Line0
|
||||||
|
DCD EXTI1_IRQHandler ; EXTI Line1
|
||||||
|
DCD EXTI2_IRQHandler ; EXTI Line2
|
||||||
|
DCD EXTI3_IRQHandler ; EXTI Line3
|
||||||
|
DCD EXTI4_IRQHandler ; EXTI Line4
|
||||||
|
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0
|
||||||
|
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1
|
||||||
|
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2
|
||||||
|
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3
|
||||||
|
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4
|
||||||
|
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5
|
||||||
|
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6
|
||||||
|
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s
|
||||||
|
DCD CAN1_TX_IRQHandler ; CAN1 TX
|
||||||
|
DCD CAN1_RX0_IRQHandler ; CAN1 RX0
|
||||||
|
DCD CAN1_RX1_IRQHandler ; CAN1 RX1
|
||||||
|
DCD CAN1_SCE_IRQHandler ; CAN1 SCE
|
||||||
|
DCD EXTI9_5_IRQHandler ; External Line[9:5]s
|
||||||
|
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9
|
||||||
|
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10
|
||||||
|
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11
|
||||||
|
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
|
||||||
|
DCD TIM2_IRQHandler ; TIM2
|
||||||
|
DCD TIM3_IRQHandler ; TIM3
|
||||||
|
DCD TIM4_IRQHandler ; TIM4
|
||||||
|
DCD I2C1_EV_IRQHandler ; I2C1 Event
|
||||||
|
DCD I2C1_ER_IRQHandler ; I2C1 Error
|
||||||
|
DCD I2C2_EV_IRQHandler ; I2C2 Event
|
||||||
|
DCD I2C2_ER_IRQHandler ; I2C2 Error
|
||||||
|
DCD SPI1_IRQHandler ; SPI1
|
||||||
|
DCD SPI2_IRQHandler ; SPI2
|
||||||
|
DCD USART1_IRQHandler ; USART1
|
||||||
|
DCD USART2_IRQHandler ; USART2
|
||||||
|
DCD USART3_IRQHandler ; USART3
|
||||||
|
DCD EXTI15_10_IRQHandler ; External Line[15:10]s
|
||||||
|
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
|
||||||
|
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line
|
||||||
|
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12
|
||||||
|
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13
|
||||||
|
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14
|
||||||
|
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare
|
||||||
|
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7
|
||||||
|
DCD FMC_IRQHandler ; FMC
|
||||||
|
DCD SDMMC1_IRQHandler ; SDMMC1
|
||||||
|
DCD TIM5_IRQHandler ; TIM5
|
||||||
|
DCD SPI3_IRQHandler ; SPI3
|
||||||
|
DCD UART4_IRQHandler ; UART4
|
||||||
|
DCD UART5_IRQHandler ; UART5
|
||||||
|
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors
|
||||||
|
DCD TIM7_IRQHandler ; TIM7
|
||||||
|
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0
|
||||||
|
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1
|
||||||
|
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2
|
||||||
|
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3
|
||||||
|
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4
|
||||||
|
DCD ETH_IRQHandler ; Ethernet
|
||||||
|
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line
|
||||||
|
DCD CAN2_TX_IRQHandler ; CAN2 TX
|
||||||
|
DCD CAN2_RX0_IRQHandler ; CAN2 RX0
|
||||||
|
DCD CAN2_RX1_IRQHandler ; CAN2 RX1
|
||||||
|
DCD CAN2_SCE_IRQHandler ; CAN2 SCE
|
||||||
|
DCD OTG_FS_IRQHandler ; USB OTG FS
|
||||||
|
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5
|
||||||
|
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6
|
||||||
|
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7
|
||||||
|
DCD USART6_IRQHandler ; USART6
|
||||||
|
DCD I2C3_EV_IRQHandler ; I2C3 event
|
||||||
|
DCD I2C3_ER_IRQHandler ; I2C3 error
|
||||||
|
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out
|
||||||
|
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In
|
||||||
|
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI
|
||||||
|
DCD OTG_HS_IRQHandler ; USB OTG HS
|
||||||
|
DCD DCMI_IRQHandler ; DCMI
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD RNG_IRQHandler ; Hash and Rng
|
||||||
|
DCD FPU_IRQHandler ; FPU
|
||||||
|
DCD UART7_IRQHandler ; UART7
|
||||||
|
DCD UART8_IRQHandler ; UART8
|
||||||
|
DCD SPI4_IRQHandler ; SPI4
|
||||||
|
DCD SPI5_IRQHandler ; SPI5
|
||||||
|
DCD SPI6_IRQHandler ; SPI6
|
||||||
|
DCD SAI1_IRQHandler ; SAI1
|
||||||
|
DCD LTDC_IRQHandler ; LTDC
|
||||||
|
DCD LTDC_ER_IRQHandler ; LTDC error
|
||||||
|
DCD DMA2D_IRQHandler ; DMA2D
|
||||||
|
DCD SAI2_IRQHandler ; SAI2
|
||||||
|
DCD QUADSPI_IRQHandler ; QUADSPI
|
||||||
|
DCD LPTIM1_IRQHandler ; LPTIM1
|
||||||
|
DCD CEC_IRQHandler ; HDMI_CEC
|
||||||
|
DCD I2C4_EV_IRQHandler ; I2C4 Event
|
||||||
|
DCD I2C4_ER_IRQHandler ; I2C4 Error
|
||||||
|
DCD SPDIF_RX_IRQHandler ; SPDIF_RX
|
||||||
|
__Vectors_End
|
||||||
|
|
||||||
|
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||||
|
|
||||||
|
AREA |.text|, CODE, READONLY
|
||||||
|
|
||||||
|
; Reset handler
|
||||||
|
Reset_Handler PROC
|
||||||
|
EXPORT Reset_Handler [WEAK]
|
||||||
|
IMPORT SystemInit
|
||||||
|
IMPORT __main
|
||||||
|
|
||||||
|
LDR R0, =SystemInit
|
||||||
|
BLX R0
|
||||||
|
LDR R0, =__main
|
||||||
|
BX R0
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
; Dummy Exception Handlers (infinite loops which can be modified)
|
||||||
|
|
||||||
|
NMI_Handler PROC
|
||||||
|
EXPORT NMI_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
HardFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT HardFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
MemManage_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT MemManage_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
BusFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT BusFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
UsageFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT UsageFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
SVC_Handler PROC
|
||||||
|
EXPORT SVC_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
DebugMon_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT DebugMon_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
PendSV_Handler PROC
|
||||||
|
EXPORT PendSV_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
SysTick_Handler PROC
|
||||||
|
EXPORT SysTick_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
Default_Handler PROC
|
||||||
|
|
||||||
|
EXPORT WWDG_IRQHandler [WEAK]
|
||||||
|
EXPORT PVD_IRQHandler [WEAK]
|
||||||
|
EXPORT TAMP_STAMP_IRQHandler [WEAK]
|
||||||
|
EXPORT RTC_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT FLASH_IRQHandler [WEAK]
|
||||||
|
EXPORT RCC_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI0_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI1_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI2_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI3_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI4_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream0_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream1_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream2_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream3_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream4_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream5_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream6_IRQHandler [WEAK]
|
||||||
|
EXPORT ADC_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_TX_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_RX0_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_RX1_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_SCE_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI9_5_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_BRK_TIM9_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_UP_TIM10_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_TRG_COM_TIM11_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_CC_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM2_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM3_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM4_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C1_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C1_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C2_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C2_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI1_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI2_IRQHandler [WEAK]
|
||||||
|
EXPORT USART1_IRQHandler [WEAK]
|
||||||
|
EXPORT USART2_IRQHandler [WEAK]
|
||||||
|
EXPORT USART3_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI15_10_IRQHandler [WEAK]
|
||||||
|
EXPORT RTC_Alarm_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_FS_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_BRK_TIM12_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_UP_TIM13_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_TRG_COM_TIM14_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_CC_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream7_IRQHandler [WEAK]
|
||||||
|
EXPORT FMC_IRQHandler [WEAK]
|
||||||
|
EXPORT SDMMC1_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM5_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI3_IRQHandler [WEAK]
|
||||||
|
EXPORT UART4_IRQHandler [WEAK]
|
||||||
|
EXPORT UART5_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM6_DAC_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM7_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream0_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream1_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream2_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream3_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream4_IRQHandler [WEAK]
|
||||||
|
EXPORT ETH_IRQHandler [WEAK]
|
||||||
|
EXPORT ETH_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_TX_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_RX0_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_RX1_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_SCE_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_FS_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream5_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream6_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream7_IRQHandler [WEAK]
|
||||||
|
EXPORT USART6_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C3_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C3_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_EP1_OUT_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_EP1_IN_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_IRQHandler [WEAK]
|
||||||
|
EXPORT DCMI_IRQHandler [WEAK]
|
||||||
|
EXPORT RNG_IRQHandler [WEAK]
|
||||||
|
EXPORT FPU_IRQHandler [WEAK]
|
||||||
|
EXPORT UART7_IRQHandler [WEAK]
|
||||||
|
EXPORT UART8_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI4_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI5_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI6_IRQHandler [WEAK]
|
||||||
|
EXPORT SAI1_IRQHandler [WEAK]
|
||||||
|
EXPORT LTDC_IRQHandler [WEAK]
|
||||||
|
EXPORT LTDC_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2D_IRQHandler [WEAK]
|
||||||
|
EXPORT SAI2_IRQHandler [WEAK]
|
||||||
|
EXPORT QUADSPI_IRQHandler [WEAK]
|
||||||
|
EXPORT LPTIM1_IRQHandler [WEAK]
|
||||||
|
EXPORT CEC_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C4_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C4_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT SPDIF_RX_IRQHandler [WEAK]
|
||||||
|
|
||||||
|
WWDG_IRQHandler
|
||||||
|
PVD_IRQHandler
|
||||||
|
TAMP_STAMP_IRQHandler
|
||||||
|
RTC_WKUP_IRQHandler
|
||||||
|
FLASH_IRQHandler
|
||||||
|
RCC_IRQHandler
|
||||||
|
EXTI0_IRQHandler
|
||||||
|
EXTI1_IRQHandler
|
||||||
|
EXTI2_IRQHandler
|
||||||
|
EXTI3_IRQHandler
|
||||||
|
EXTI4_IRQHandler
|
||||||
|
DMA1_Stream0_IRQHandler
|
||||||
|
DMA1_Stream1_IRQHandler
|
||||||
|
DMA1_Stream2_IRQHandler
|
||||||
|
DMA1_Stream3_IRQHandler
|
||||||
|
DMA1_Stream4_IRQHandler
|
||||||
|
DMA1_Stream5_IRQHandler
|
||||||
|
DMA1_Stream6_IRQHandler
|
||||||
|
ADC_IRQHandler
|
||||||
|
CAN1_TX_IRQHandler
|
||||||
|
CAN1_RX0_IRQHandler
|
||||||
|
CAN1_RX1_IRQHandler
|
||||||
|
CAN1_SCE_IRQHandler
|
||||||
|
EXTI9_5_IRQHandler
|
||||||
|
TIM1_BRK_TIM9_IRQHandler
|
||||||
|
TIM1_UP_TIM10_IRQHandler
|
||||||
|
TIM1_TRG_COM_TIM11_IRQHandler
|
||||||
|
TIM1_CC_IRQHandler
|
||||||
|
TIM2_IRQHandler
|
||||||
|
TIM3_IRQHandler
|
||||||
|
TIM4_IRQHandler
|
||||||
|
I2C1_EV_IRQHandler
|
||||||
|
I2C1_ER_IRQHandler
|
||||||
|
I2C2_EV_IRQHandler
|
||||||
|
I2C2_ER_IRQHandler
|
||||||
|
SPI1_IRQHandler
|
||||||
|
SPI2_IRQHandler
|
||||||
|
USART1_IRQHandler
|
||||||
|
USART2_IRQHandler
|
||||||
|
USART3_IRQHandler
|
||||||
|
EXTI15_10_IRQHandler
|
||||||
|
RTC_Alarm_IRQHandler
|
||||||
|
OTG_FS_WKUP_IRQHandler
|
||||||
|
TIM8_BRK_TIM12_IRQHandler
|
||||||
|
TIM8_UP_TIM13_IRQHandler
|
||||||
|
TIM8_TRG_COM_TIM14_IRQHandler
|
||||||
|
TIM8_CC_IRQHandler
|
||||||
|
DMA1_Stream7_IRQHandler
|
||||||
|
FMC_IRQHandler
|
||||||
|
SDMMC1_IRQHandler
|
||||||
|
TIM5_IRQHandler
|
||||||
|
SPI3_IRQHandler
|
||||||
|
UART4_IRQHandler
|
||||||
|
UART5_IRQHandler
|
||||||
|
TIM6_DAC_IRQHandler
|
||||||
|
TIM7_IRQHandler
|
||||||
|
DMA2_Stream0_IRQHandler
|
||||||
|
DMA2_Stream1_IRQHandler
|
||||||
|
DMA2_Stream2_IRQHandler
|
||||||
|
DMA2_Stream3_IRQHandler
|
||||||
|
DMA2_Stream4_IRQHandler
|
||||||
|
ETH_IRQHandler
|
||||||
|
ETH_WKUP_IRQHandler
|
||||||
|
CAN2_TX_IRQHandler
|
||||||
|
CAN2_RX0_IRQHandler
|
||||||
|
CAN2_RX1_IRQHandler
|
||||||
|
CAN2_SCE_IRQHandler
|
||||||
|
OTG_FS_IRQHandler
|
||||||
|
DMA2_Stream5_IRQHandler
|
||||||
|
DMA2_Stream6_IRQHandler
|
||||||
|
DMA2_Stream7_IRQHandler
|
||||||
|
USART6_IRQHandler
|
||||||
|
I2C3_EV_IRQHandler
|
||||||
|
I2C3_ER_IRQHandler
|
||||||
|
OTG_HS_EP1_OUT_IRQHandler
|
||||||
|
OTG_HS_EP1_IN_IRQHandler
|
||||||
|
OTG_HS_WKUP_IRQHandler
|
||||||
|
OTG_HS_IRQHandler
|
||||||
|
DCMI_IRQHandler
|
||||||
|
RNG_IRQHandler
|
||||||
|
FPU_IRQHandler
|
||||||
|
UART7_IRQHandler
|
||||||
|
UART8_IRQHandler
|
||||||
|
SPI4_IRQHandler
|
||||||
|
SPI5_IRQHandler
|
||||||
|
SPI6_IRQHandler
|
||||||
|
SAI1_IRQHandler
|
||||||
|
LTDC_IRQHandler
|
||||||
|
LTDC_ER_IRQHandler
|
||||||
|
DMA2D_IRQHandler
|
||||||
|
SAI2_IRQHandler
|
||||||
|
QUADSPI_IRQHandler
|
||||||
|
LPTIM1_IRQHandler
|
||||||
|
CEC_IRQHandler
|
||||||
|
I2C4_EV_IRQHandler
|
||||||
|
I2C4_ER_IRQHandler
|
||||||
|
SPDIF_RX_IRQHandler
|
||||||
|
B .
|
||||||
|
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
ALIGN
|
||||||
|
END
|
||||||
|
|
||||||
|
;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue