LPCOpen Platform
LPCOpen Platform for NXP LPC Microcontrollers
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
lpc43xx_dualcore_config.h
Go to the documentation of this file.
1
/*
2
* @brief LPC43xx dual-core example configuration file
3
*
4
* @note
5
* Copyright(C) NXP Semiconductors, 2012
6
* All rights reserved.
7
*
8
* @par
9
* Software that is described herein is for illustrative purposes only
10
* which provides customers with programming information regarding the
11
* LPC products. This software is supplied "AS IS" without any warranties of
12
* any kind, and NXP Semiconductors and its licensor disclaim any and
13
* all warranties, express or implied, including all implied warranties of
14
* merchantability, fitness for a particular purpose and non-infringement of
15
* intellectual property rights. NXP Semiconductors assumes no responsibility
16
* or liability for the use of the software, conveys no license or rights under any
17
* patent, copyright, mask work right, or any other intellectual property rights in
18
* or to any products. NXP Semiconductors reserves the right to make changes
19
* in the software without notification. NXP Semiconductors also makes no
20
* representation or warranty that such application will be suitable for the
21
* specified use without further testing or modification.
22
*
23
* @par
24
* Permission to use, copy, modify, and distribute this software and its
25
* documentation is hereby granted, under NXP Semiconductors' and its
26
* licensor's relevant copyrights in the software, without fee, provided that it
27
* is used in conjunction with NXP Semiconductors microcontrollers. This
28
* copyright, permission, and disclaimer notice must appear in all copies of
29
* this code.
30
*/
31
32
#ifndef __LPC43XX_DUALCORE_CONFIG_H_
33
#define __LPC43XX_DUALCORE_CONFIG_H_
34
35
#include "board.h"
36
37
/*
38
* Users can enable any of the following macros so that the examples will be
39
* built with that functionality.
40
*/
41
#define EXAMPLE_BLINKY
42
#define EXAMPLE_USB_DEVICE
43
#undef EXAMPLE_USB_HOST
44
#undef EXAMPLE_LWIP
45
#undef EXAMPLE_EMWIN
46
47
/*
48
* Users can define any one of the following macros to use the appropriate OS.
49
* For standalone executables both the macros should be disabled.
50
*/
51
#undef OS_FREE_RTOS
52
#undef OS_UCOS_III
53
54
/*
55
* The Stack sizes are currently used by Code Red LPCXpresso tool chain
56
* only. In future, this will be used by Keil & IAR tool chains also
57
*/
58
#define STACK_SIZE 0x800
59
#define HEAP_SIZE 0x400
60
61
/*
62
* The following defines are used by the M4 image to locate the M0 image, and
63
* one of the below macro must be defined based on your linker definition file.
64
* If the linker file is made to generate image in SPIFI area then define
65
* TARGET_SPIFI macro (so that M4 image will locate the corresponding M0 in the
66
* SPIFI region). If none of them r defined the following defaults will be used
67
* For LPC4330 NGX XPLORER BOARD: TARGET_SPIFI
68
* For LPC4357 KEIL MCB BOARD: TARGET_IFLASH
69
* For LPC4350 HITEX EVALUATION BOARD: TARGET_SPIFI
70
*/
71
#undef TARGET_SPIFI
/* SPIFI Flash */
72
#undef TARGET_IFLASH
/* Internal Flash */
73
#undef TARGET_XFLASH
/* External NOR Flash */
74
75
/* Priority of various tasks in dual-core examples */
76
/* LWIP thread priority should always be greater than the
77
* MAC priority ie., greater than TASK_PRIO_ETHERNET
78
*/
79
#ifdef OS_FREE_RTOS
80
/* higher the number higher the priority */
81
#define TASK_PRIO_LCD (tskIDLE_PRIORITY + 0UL)
82
#define TASK_PRIO_TOUCHSCREEN (tskIDLE_PRIORITY + 1UL)
83
#define TASK_PRIO_BLINKY_EVENT (tskIDLE_PRIORITY + 1UL)
84
#define TASK_PRIO_ETHERNET (tskIDLE_PRIORITY + 2UL)
85
#define TASK_PRIO_IPC_DISPATCH (tskIDLE_PRIORITY + 3UL)
86
#define TASK_PRIO_USBDEVICE (tskIDLE_PRIORITY + 4UL)
87
#define TASK_PRIO_LWIP_THREAD (tskIDLE_PRIORITY + 5UL)
88
89
#elif defined(OS_UCOS_III)
90
/* lower the number higher the priority */
91
#define TASK_PRIO_BLINKY_EVENT 14
92
#define TASK_PRIO_LCD 14
93
#define TASK_PRIO_TOUCHSCREEN 13
94
#define TASK_PRIO_ETHERNET 13
95
#define TASK_PRIO_IPC_DISPATCH 12
96
#define TASK_PRIO_USBDEVICE 11
97
#define TASK_PRIO_LWIP_THREAD 10
98
#endif
99
100
/* Priority of various IRQs used in dual-core examples */
101
/* lower the number higher the priority */
102
#define IRQ_PRIO_IPC 7
103
#define IRQ_PRIO_ETHERNET 6
104
#define IRQ_PRIO_USBDEV 5
105
106
/* Minimum stack size for UCOS-III Tasks */
107
#define UCOS_MIN_STACK_SZ 128
108
109
/*
110
* Offset of M0 image from the starting of M4 image
111
* Usually the size allocated for M0 image in scatter
112
* file/ Linker Definition file / Memory configuration
113
* in the IDE.
114
* ####Don't change this value unless you are sure about what you are doing ####
115
*/
116
#define M0_IMAGE_OFFSET 0x40000
117
118
/*
119
* Absolute addresses used by both cores.
120
* ####Don't change these values unless you are sure about what you are doing ####
121
*/
122
#define SHARED_MEM_M0 0x20000000
123
#define SHARED_MEM_M4 0x20000020
124
#define FAT12_DISK_IMAGE 0x20002000
125
126
#ifdef CORE_M4
127
/* Delay and LED to be blinked by M4 Core */
128
#define BLINKY_DEFAULT_DELAY 1000
129
#define BLINK_LED 1
130
#endif
/* CORE_M4 */
131
132
#ifdef CORE_M0
133
/* Delay and LED to be blinked by M4 Core */
134
#define BLINK_LED 0
135
#define BLINKY_DEFAULT_DELAY 500
136
#endif
/* CORE_M0 */
137
138
/* Base address of various flashes */
139
#define SPIFI_BASE_ADDR 0x14000000
140
#define XFLASH_BASE_ADDR 0x1C000000
141
#define IFLASH_BASE_ADDR 0x1A000000
142
143
/* Include Common header here */
144
#include "
dualcore_common.h
"
145
146
#endif
/* ifndef __LPC43XX_DUALCORE_CONFIG_H_ */
applications
lpc18xx_43xx
examples
43xx_dualcore
LPCUSBlib
MassStorageDevice
lpc43xx_dualcore_config.h
Generated on Fri Nov 16 2012 13:36:31 for LPCOpen Platform by
1.8.2