blob: 37d704ace187be68316f14cb35e475b6bde0d5d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
diff -ur 1.2.3-orig/common/cyfxtx.c 1.2.3/common/cyfxtx.c
--- 1.2.3-orig/common/cyfxtx.c 2013-02-07 17:16:54.000000000 -0800
+++ 1.2.3/common/cyfxtx.c 2014-03-25 16:56:12.484602382 -0700
@@ -33,7 +33,7 @@
such as thread stacks and memory for message queues. The Cypress FX3
libraries require a Mem heap size of at least 32 KB.
*/
-#define CY_U3P_MEM_HEAP_BASE ((uint8_t *)0x40038000)
+#define CY_U3P_MEM_HEAP_BASE ((uint8_t *)0x40044000)
#define CY_U3P_MEM_HEAP_SIZE (0x8000)
/* The last 32 KB of RAM is reserved for 2-stage boot operation. This value can be changed to
diff -ur 1.2.3-orig/common/fx3.ld 1.2.3/common/fx3.ld
--- 1.2.3-orig/common/fx3.ld 2013-02-07 17:16:54.000000000 -0800
+++ 1.2.3/common/fx3.ld 2014-03-25 16:59:40.872240377 -0700
@@ -26,10 +26,11 @@
The default memory map used for FX3 applications is as follows:
Descriptor area Base: 0x40000000 Size: 12KB
- Code area Base: 0x40003000 Size: 180KB
- Data area Base: 0x40030000 Size: 32KB
- Driver heap Base: 0x40038000 Size: 32KB (Update cyfxtx.c to change this.)
- Buffer area Base: 0x40040000 Size: 256KB (Update cyfxtx.c to change this.)
+ Code area Base: 0x40003000 Size: 212KB
+ Data area Base: 0x40038000 Size: 32KB
+ Heap Base: 0x40040000 Size: 16KB
+ Driver heap Base: 0x40044000 Size: 32KB (Update cyfxtx.c to change this.)
+ Buffer area Base: 0x4004C000 Size: 208KB (Update cyfxtx.c to change this.)
Interrupt handlers to be placed in I-TCM (16KB).
The first 256 bytes of ITCM are reserved for Exception Vectors.
@@ -52,8 +53,8 @@
MEMORY
{
I-TCM : ORIGIN = 0x100, LENGTH = 0x3F00
- SYS_MEM : ORIGIN = 0x40003000 LENGTH = 0x2D000
- DATA : ORIGIN = 0x40030000 LENGTH = 0x8000
+ SYS_MEM : ORIGIN = 0x40003000 LENGTH = 0x35000
+ DATA : ORIGIN = 0x40038000 LENGTH = 0x8000
}
SECTIONS
@@ -75,7 +76,7 @@
_etext = .;
} > SYS_MEM
- . = 0x40030000;
+ . = 0x40038000;
.data :
{
_data = .;
@@ -104,5 +105,16 @@
} > DATA
__exidx_end = .;
+ PROVIDE(__exidx_end = __exidx_end);
+
+ . = ALIGN(4);
+ __heap_start = 0x40040000;
+ PROVIDE(__heap_start = __heap_start);
+
+ . = ALIGN(4);
+ __heap_end = 0x40044000;
+ PROVIDE(__heap_end = __heap_end);
+
+ PROVIDE(__heap_size = __heap_end - __heap_start);
}
|