nuttx/boards/z80/ez80/z20x/scripts/z20x_flash.linkcmd
Gregory Nutt 161104c76a eZ80/z20x: Correct uninitialized stack memory
arch/z80/src/ez80/Toolchain.defs:  Correct some CFLAGS when optimization suppressed.

arch/z80/src/ez80/Kconfig arch/z80/src/ez80/ez80_emac.c:  Remove configuration option for selecting EMAC RAM address.  This is duplicated and possibly conflicting.  The correct address for the RAM is provided in the linker command file.  The RAM should be configured once and using this single definitions.

arch/z80/src/ez80/ez80_startup.asm and arch/z80/src/ez80/ez80f9*_init.asm.  Move RAM and FLAH intialization out of MCU-specific logic to common start-up logic.  We cannot call any functions until SRAM is initialized and the stack is properly initialized because the return address is stored on the stack.  Use internal SRAM for the IDLE stack to avoid the chicken'n'egg problem.

boards/z80/ez80/z20x/configs/sdboot/sdboot.zdsproj:  Discuss build environments.
2020-02-27 22:53:27 +01:00

74 lines
3.1 KiB
Plaintext

/*****************************************************************************/
/* boards/z80/ez80/z20x/scripts/z20x_flash.linkcmd */
/* For configurations running entirely out of FLASH */
/* */
/* Licensed to the Apache Software Foundation (ASF) under one or more */
/* contributor license agreements. See the NOTICE file distributed with */
/* this work for additional information regarding copyright ownership. The */
/* ASF licenses this file to you under the Apache License, Version 2.0 (the */
/* "License"); you may not use this file except in compliance with the */
/* License. You may obtain a copy of the License at */
/* */
/* http://www.apache.org/licenses/LICENSE-2.0 */
/* */
/* Unless required by applicable law or agreed to in writing, software */
/* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT */
/* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the */
/* License for the specific language governing permissions and limitations */
/* under the License. */
/* */
/*****************************************************************************/
-FORMAT=OMF695,INTEL32
-map -maxhexlen=64 -quiet -warnoverlap -xref -unresolved=fatal
-sort NAME=ascending -warn -debug -NOigcase
RANGE ROM $000000 : $01FFFF
RANGE RAM $040000 : $0BFFFF
RANGE EXTIO $000000 : $00FFFF
RANGE INTIO $000000 : $0000FF
CHANGE STRSECT is ROM
ORDER .RESET,.IVECTS,.STARTUP,CODE,DATA
COPY DATA ROM
DEFINE __low_romdata = copy base of DATA
DEFINE __low_data = base of DATA
DEFINE __len_data = length of DATA
DEFINE __low_bss = base of BSS
DEFINE __len_bss = length of BSS
DEFINE __stack = highaddr of RAM + 1
DEFINE __heaptop = highaddr of RAM
DEFINE __heapbot = top of RAM + 1
DEFINE __low_romcode = copy base of CODE
DEFINE __low_code = base of CODE
DEFINE __len_code = length of CODE
DEFINE __copy_code_to_ram = 0
DEFINE __crtl = 1
DEFINE __CS0_LBR_INIT_PARAM = $04
DEFINE __CS0_UBR_INIT_PARAM = $0b
DEFINE __CS0_CTL_INIT_PARAM = $08
DEFINE __CS0_BMC_INIT_PARAM = $00
DEFINE __CS1_LBR_INIT_PARAM = $00
DEFINE __CS1_UBR_INIT_PARAM = $00
DEFINE __CS1_CTL_INIT_PARAM = $00
DEFINE __CS1_BMC_INIT_PARAM = $00
DEFINE __CS2_LBR_INIT_PARAM = $00
DEFINE __CS2_UBR_INIT_PARAM = $00
DEFINE __CS2_CTL_INIT_PARAM = $00
DEFINE __CS2_BMC_INIT_PARAM = $00
DEFINE __CS3_LBR_INIT_PARAM = $00
DEFINE __CS3_UBR_INIT_PARAM = $00
DEFINE __CS3_CTL_INIT_PARAM = $00
DEFINE __CS3_BMC_INIT_PARAM = $00
DEFINE __RAM_CTL_INIT_PARAM = $80
DEFINE __RAM_ADDR_U_INIT_PARAM = $AF
DEFINE __FLASH_CTL_INIT_PARAM = $88
DEFINE __FLASH_ADDR_U_INIT_PARAM = $00
define _SYS_CLK_FREQ = 20000000
/* arch/z80/src/Makefile.zdsii will append target, object and library paths below */