aboutsummaryrefslogtreecommitdiff
path: root/nuttx/arch/z80/src/z180/Kconfig
blob: 58abbd6f2a6f7a2db0ca91db7993570672e9b230 (plain) (blame)
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#

if ARCH_CHIP_Z180

choice
	prompt "Toolchain Selection"
	default Z180_TOOLCHAIN_SDCCW if HOST_WINDOWS
	default Z180_TOOLCHAIN_SDCCL if !HOST_WINDOWS

config Z180_TOOLCHAIN_SDCCL
        bool "SDCC for Linux, MAC OSX, or Cygwin"
	depends on !WINDOWS_NATIVE

config Z180_TOOLCHAIN_SDCCW
	bool "SDCC for Windows"
	depends on HOST_WINDOWS

endchoice

config LINKER_HOME_AREA
	hex "Physical start of _HOME area"
	default 0x0000
	---help---
		Physical address of the start of the linker HOME area.  Default: 0x0000

config LINKER_CODE_AREA
	hex "Physical start of _CODE area"
	default 0x0200
	---help---
		Physical address of the start of the linker _CODE area.  Default: 0x0200

config LINKER_DATA_AREA
	hex "Physical start of _DATA area"
	default 0x8000
	---help---
		Physical address of the start of the linker _DATA area.  Default: 0x8000

config LINKER_ROM_AT_0000
	bool "ROM at Physical 0x0000"
	default n
	---help---
		Some architectures may have ROM located at physical address zero.  In this
		case, a special version of the "head" file must be used.

config Z180_BANKAREA_VIRTBASE
	hex "Virtual Start of Bank Area"
	default 0x8000
	---help---
		This setting provides the virtual address of the start of the Bank Area.
		NOTE that 0x0000 <= Z180_BANKAREA_BASE <= Z180_COMMONAREA_BASE is required!
		Default: 0x8000

		NuttX Memory Organization:

			Common Area 0:  This area holds the common NuttX code that is
			directly call-able from all application threads.  Common Area
			always starts at virtual address 0x0000 and extends to the
			Bank Area

			Base Area: This area holds the common NuttX data (including the
			share-able heap) that is accessible from all applications and
			extends to Common Area 1.

			NOTE:  That is execution from RAM, the common NuttX code and
			data may be contiguous and lie in the same region (either
			Common Area 0 or the Bank Area).  The two regions above would
			apply in a ROM'ed system, where Common Area 1 is ROM and the
			Base Area is RAM.

			Common Area 1:  This area holds the code and data that is unique
			to a particular task.  his area extends to the end of the virtual
			address space.  All tasks share the same virtual Common Area 2
			virtual address (but each has a unique mapping to different,
			underlying physical addresses).

config Z180_BANKAREA_PHYSBASE
	hex "Physical Start of Bank Area"
	default 0x08000
	---help---
		This setting provides the physical address of the start of the Bank Area.
		Default: 0x08000

config Z180_COMMON1AREA_VIRTBASE
	hex "Virtual Start of Common Area 1"
	default 0xc000
	---help---
		This setting provides the virtual address of the start of the Common
		Area 1. NOTE that 0x0000 <= Z180_BANKAREA_BASE <= Z180_COMMONAREA_BASE
		is required! Default: 0xc000

		NuttX Memory Organization:

			Common Area 0:  This area holds the common NuttX code that is
			directly call-able from all application threads.  Common Area
			always starts at virtual address 0x0000 and extends to the
			Bank Area

			Base Area: This area holds the common NuttX data (including the
			share-able heap) that is accessible from all applications and
			extends to Common Area 1.

			NOTE:  That is execution from RAM, the common NuttX code and
			data may be contiguous and lie in the same region (either
			Common Area 0 or the Bank Area).  The two regions above would
			apply in a ROM'ed system, where Common Area 1 is ROM and the
			Base Area is RAM.

			Common Area 1:  This area holds the code and data that is unique
			to a particular task.  his area extends to the end of the virtual
			address space.  All tasks share the same virtual Common Area 2
			virtual address (but each has a unique mapping to different,
			underlying physical addresses).

config Z180_PHYSHEAP_START
	hex "Physical Start of Free Memory"
	default 0x0c000
	---help---
		This setting provides the physical address of the start of free physical
		memory that will be used to allocate memory for tasks (Common Area 1).
		Default: 0x0c000

config Z180_PHYSHEAP_END
	hex "Physical End(+1) of Free Memory"
	default 0x100000
	---help---
		This setting provides the physical address of the end(+1) of free physical
		memory that will be used to allocate memory for tasks (Common Area 1).
		Default: 0x100000

config ARCH_HAVEHEAD
	bool "Board-specific Head File"
	default n
	---help---
		Use a board-specific version of the "head" file in the
		configs/<board-name>/src directory

endif