📄 start.lst
字号:
180 ; acceptable, the above setting should be set to
the correct model.
181
182 ;===============================================
=====================
183 ; 4.3 Constant Data Handling
184 ;===============================================
=====================
185
186 #set ROMCONST 0 ; works only
with compiler ROMCONST
187 #set RAMCONST 1 ; works with
BOTH compiler settings
188 #set AUTOCONST RAMCONST ; works with
BOTH compiler settings
_____________________________________________________________________________
F2MC-16 Family SOFTUNE Assembler V30L11 2007-03-02 13:17:36 Page: 7
STARTUP FILE FOR MEMORY INITIALISATION
SN LOC OBJ LLINE SOURCE
189
190 #set CONSTDATA AUTOCONST ; <<< set RAM
/ROM/AUTOCONST
191
192 ; - AUTOCONST (default) is a the same as RAMCONS
T
193 ; - RAMCONST/AUTOCONST should always work, even
if compiler is set to
194 ; ROMCONST. If compiler is set to ROMCONST and
this startup file is
195 ; set to RAMCONST or AUTOCONST, this startup f
ile will only generate
196 ; an empty section CINIT. The code, which copi
es from CONST to CINIT
197 ; will not have any effect then.
198 ; - It is highly recommended to set the compiler
to ROMCONST for
199 ; single-chip mode or internal ROM+ext bus. Th
e start-up file
200 ; should be set to AUTOCONST.
201 ; - ROMCONST setting on systems with full extern
al bus requires exter-
202 ; nal address mapping.
203 ; Single-chip can be emulated by the emulator
debugger.
204 ; ROM mirror can also be used with simulator.
205 ;
206 ; see also MIRROR options of external bus settin
gs
207
208 ;===============================================
=====================
209 ; 4.4 Stack Type and Stack Size
210 ;===============================================
=====================
211
212 #set USRSTACK 0 ; use user stack, syste
m stack for interrupts
213 #set SYSSTACK 1 ; use system stack for
all (program + inter)
214
215 #set STACKUSE SYSSTACK ; <<< set use
d stacks
216
217 ; - If only system stack is used and SSB is link
ed to a different bank
218 ; than USB, make sure that all C-modules (whic
h generate far pointers
219 ; to stack data) have "#pragma SSB". Applies o
nly to exclusive confi-
220 ; gurations.
221 ; - Note, several library functions require quit
e a big stack (due to
222 ; ANSI). Check the stack information files (*.
_____________________________________________________________________________
F2MC-16 Family SOFTUNE Assembler V30L11 2007-03-02 13:17:36 Page: 8
STARTUP FILE FOR MEMORY INITIALISATION
SN LOC OBJ LLINE SOURCE
stk) in the LIB\907
223 ; directory.
224
= 00000180 225 SSSIZE .EQU 384 ; <<< system
stack size in words
226 #if STACKUSE == USRSTACK
227 X USSIZE .EQU 384 ; <<< user st
ack size, if used
228 #else
= 00000001 229 USSIZE .EQU 1 ; just a dumm
y
230 #endif
231
232
233 #if STACKUSE == USRSTACK
234 X # macro RELOAD_SP ; used after
function call
235 X MOVW A, #USTACK_TOP ; repair stac
k, if stream_init
236 X MOVW SP,A ; was complet
ed by RET (not RETP)
237 X # endm
238 #else
239 # macro RELOAD_SP ; used after
function call
240 MOVW A, #SSTACK_TOP ; repair stac
k, in case stream_init
241 MOVW SP,A ; was complet
ed by RET (not RETP)
242 # endm
243 #endif
244
245 ;===============================================
=====================
246 ; 4.5 General Register Bank
247 ;===============================================
=====================
248
249 #set REGBANK 0 ; <<< set def
ault register bank
250
251 ; set the General Register Bank that is to be us
ed after startup.
252 ; Usually, this is bank 0, which applies to addr
ess H'180..H'18F. Set
253 ; in the range from 0 to 31.
254 ; Note: All used register banks have to be reser
ved (linker options).
255
256 #if REGBANK > 31 || REGBANK < 0
257 X # error REGBANK setting out of range
258 #endif
259
260 ;===============================================
_____________________________________________________________________________
F2MC-16 Family SOFTUNE Assembler V30L11 2007-03-02 13:17:36 Page: 9
STARTUP FILE FOR MEMORY INITIALISATION
SN LOC OBJ LLINE SOURCE
=====================
261 ; 4.6 Low-Level Library Interface
262 ;===============================================
=====================
263
264 #set CLIBINIT OFF ; <<< select
extended libray usage
265
266 ; This option has only to be set, if stream-IO/s
tandard-IO function of
267 ; the C-libraray have to be used (printf(), fope
n()...). This also
268 ; requires low-level functions to be defined by
the application
269 ; software.
270 ; For other library functions like (e.g. sprintf
()) all this is not
271 ; necessary. However, several functions consume
a large amount of stack.
272
273 ;===============================================
=====================
274 ; 4.7 Clock Selection
275 ;===============================================
=====================
276
277 #set NOCLOCK 0 ; do not touc
h CKSCR register
278 #set MAINCLOCK 1 ; select main
clock (1/2 external)
279 #set PLLx1 2 ; set PLL to
x1 ext. clock/quartz
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -