mirror of
https://github.com/rvtr/ctr_firmware.git
synced 2025-10-31 07:51:08 -04:00
I/Oレジスタ定義ヘッダファイルの生成は可能。
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@2 b871894f-2f95-9b40-918c-086798483c85
This commit is contained in:
parent
7538e358dc
commit
6707109f4b
36
trunk/Makefile
Normal file
36
trunk/Makefile
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrFirm - build
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRFIRM_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS = \
|
||||||
|
# build \
|
||||||
|
|
||||||
|
ifdef RVCT30BIN
|
||||||
|
SUBDIRS += \
|
||||||
|
bootrom \
|
||||||
|
|
||||||
|
endif # RVCT30BIN
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRFIRM_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
30
trunk/bootrom/Makefile
Normal file
30
trunk/bootrom/Makefile
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrBrom - build
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS = \
|
||||||
|
build \
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
31
trunk/bootrom/build/Makefile
Normal file
31
trunk/bootrom/build/Makefile
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrBrom - build
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS = \
|
||||||
|
$(CTRFIRM_ROOT)/build/buildsetup \
|
||||||
|
libraries \
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
354
trunk/bootrom/build/buildtools/commondefs
Normal file
354
trunk/bootrom/build/buildtools/commondefs
Normal file
@ -0,0 +1,354 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrBrom - commondefs - common definitions for build system
|
||||||
|
# File: commondefs
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifndef BROMSDK_COMMONDEFS_
|
||||||
|
BROMSDK_COMMONDEFS_ = TRUE
|
||||||
|
|
||||||
|
CTR_NO_STD_PCHDR = TRUE # プリコンパイルヘッダ抑止
|
||||||
|
USE_MY_RULE_BIN = TRUE
|
||||||
|
|
||||||
|
|
||||||
|
EMPTY ?=
|
||||||
|
SPACE ?= $(EMPTY) $(EMPTY)
|
||||||
|
|
||||||
|
#
|
||||||
|
# SDK Major Version
|
||||||
|
#
|
||||||
|
|
||||||
|
BROMSDK_VERSION_MAJOR ?= 0
|
||||||
|
|
||||||
|
# EXO_PLATFORM = [TEG/TS]
|
||||||
|
EXO_PLATFORM ?= $(BROM_PLATFORM)
|
||||||
|
|
||||||
|
#
|
||||||
|
# CodeGen Target
|
||||||
|
#
|
||||||
|
# BROM_PLATFORM = [TEG/TS]
|
||||||
|
# BROM_MEMSIZE = [64M/128M]
|
||||||
|
# BROM_CODEGEN = [ARM/THUMB]
|
||||||
|
# BROM_PROC = [ARM11/ARM9]
|
||||||
|
#
|
||||||
|
# BROM_PROMGEN = [TRUE/FALSE]
|
||||||
|
# BROM_TARGET = [BROM/NORFIRM/NANDFIRM/GCDFIRM/APP]
|
||||||
|
#
|
||||||
|
|
||||||
|
BROM_PLATFORM ?= TEG
|
||||||
|
BROM_MEMSIZE ?= 128M
|
||||||
|
BROM_CODEGEN ?= THUMB
|
||||||
|
BROM_PROC ?= ARM11
|
||||||
|
BROM_TARGET ?= BROM
|
||||||
|
|
||||||
|
# replace TwlSDK
|
||||||
|
CTR_PLATFORM = $(BROM_PLATFORM)
|
||||||
|
CTR_MEMSIZE = $(BROM_MEMSIZE)
|
||||||
|
CTR_CODEGEN = $(BROM_CODEGEN)
|
||||||
|
CTR_PROC = $(BROM_PROC)
|
||||||
|
|
||||||
|
# replace NitroSDK
|
||||||
|
ifndef CODEGEN_PROC
|
||||||
|
CODEGEN_PROC := $(BROM_PROC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BROM_CODEGEN),ALL)
|
||||||
|
BROM_CODEGEN_ALL ?= TRUE
|
||||||
|
override BROM_CODEGEN = ARM
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BROM_CODEGEN),ARM)
|
||||||
|
BROM_CODEGEN_ARCH =
|
||||||
|
else # ($(BROM_CODEGEN),THUMB)
|
||||||
|
BROM_CODEGEN_ARCH = .thumb
|
||||||
|
endif
|
||||||
|
|
||||||
|
#
|
||||||
|
# C Compiler type
|
||||||
|
#
|
||||||
|
# CTR_CCTYPE = [CW/SNC/RVCT]
|
||||||
|
#
|
||||||
|
|
||||||
|
# replace NitroSDK
|
||||||
|
CTR_CCTYPE := RVCT
|
||||||
|
|
||||||
|
#
|
||||||
|
# SDK build type
|
||||||
|
#
|
||||||
|
# one of [BROM_DEBUG/BROM_RELEASE/BROM_FINALROM]
|
||||||
|
#
|
||||||
|
|
||||||
|
ifdef BROM_DEBUG
|
||||||
|
BROM_BUILD_TYPE ?= DEBUG
|
||||||
|
BROM_BUILD_DIR ?= Debug
|
||||||
|
|
||||||
|
else
|
||||||
|
ifdef BROM_FINALROM
|
||||||
|
BROM_BUILD_TYPE ?= FINALROM
|
||||||
|
BROM_BUILD_DIR ?= Rom
|
||||||
|
|
||||||
|
else # BROM_RELEASE (default)
|
||||||
|
BROM_BUILD_TYPE ?= RELEASE
|
||||||
|
BROM_BUILD_DIR ?= Release
|
||||||
|
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# replace TwlSDK
|
||||||
|
CTR_BUILD_TYPE ?= $(BROM_BUILD_TYPE)
|
||||||
|
CTR_BUILD_DIR ?= $(BROM_BUILD_DIR)
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# PMIC Revision
|
||||||
|
#
|
||||||
|
|
||||||
|
BROM_PMIC_REV ?= 100
|
||||||
|
|
||||||
|
# replace TwlSDK
|
||||||
|
CTR_PMIC_REV ?= $(BROM_PMIC_REV)
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Debugger Type
|
||||||
|
#
|
||||||
|
# one of [ISD/KMC/ARM]
|
||||||
|
#
|
||||||
|
|
||||||
|
BROM_DEBUGGER ?= KMC
|
||||||
|
|
||||||
|
# replace TwlSDK
|
||||||
|
CTR_DEBUGGER ?= $(BROM_DEBUGGER)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# BROM-SDK path settings
|
||||||
|
#
|
||||||
|
|
||||||
|
BROM_ROOT := $(subst $(SPACE),\ ,$(subst \,/,$(CTRBROM_ROOT)))
|
||||||
|
BROM_BUILDTOOLSDIR := $(BROM_ROOT)/build/buildtools
|
||||||
|
BROM_BUILDSETUPDIR := $(BROM_ROOT)/build/buildsetup
|
||||||
|
BROM_INCDIR := $(BROM_ROOT)/include
|
||||||
|
BROM_TOOLSDIR := $(BROM_ROOT)/tools
|
||||||
|
BROM_KEYSDIR := $(BROM_ROOT)/build/keys
|
||||||
|
BROM_COMPONENTSDIR := $(BROM_ROOT)/components
|
||||||
|
BROM_ADDINS ?= $(BROM_ROOT)/add-ins
|
||||||
|
|
||||||
|
BROM_CTRSDK_ROOT ?=$(shell cygpath -w $(CTRSDK_ROOT))
|
||||||
|
BROM_CTRFIRM_ROOT ?=$(shell cygpath -w $(CTRFIRM_ROOT))
|
||||||
|
|
||||||
|
BROM_CTRFIRM_INCDIR := $(BROM_CTRFIRM_ROOT)/include
|
||||||
|
BROM_CTRFIRM_TOOLSDIR := $(BROM_CTRFIRM_ROOT)/tools
|
||||||
|
|
||||||
|
BROM_BUILDARCH ?= $(CODEGEN_PROC)-$(BROM_PLATFORM)$(BROM_CODEGEN_ARCH)
|
||||||
|
BROM_BUILDARCH_ARM11 := ARM11-$(BROM_PLATFORM)$(BROM_CODEGEN_ARCH)
|
||||||
|
BROM_BUILDARCH_ARM9 := ARM9-$(BROM_PLATFORM)$(BROM_CODEGEN_ARCH)
|
||||||
|
|
||||||
|
BROM_BUILDTYPE ?= $(BROM_BUILDARCH)/$(BROM_BUILD_DIR)
|
||||||
|
BROM_BUILDTYPE_ARM11 := $(BROM_BUILDARCH_ARM11)/$(BROM_BUILD_DIR)
|
||||||
|
BROM_BUILDTYPE_ARM9 := $(BROM_BUILDARCH_ARM9)/$(BROM_BUILD_DIR)
|
||||||
|
|
||||||
|
BROM_LIBARCH := $(CODEGEN_PROC)-$(BROM_PLATFORM)
|
||||||
|
BROM_LIBTYPE := $(BROM_LIBARCH)/$(BROM_BUILD_DIR)
|
||||||
|
BROM_LIBDIR := $(BROM_ROOT)/lib/$(BROM_LIBTYPE)
|
||||||
|
BROM_LIBSYSCALLDIR := $(BROM_ROOT)/lib/$(BROM_LIBARCH)/etc
|
||||||
|
BROM_LIBSUFFIX := .brom$(BROM_CODEGEN_ARCH)
|
||||||
|
|
||||||
|
|
||||||
|
BROM_SPECDIR := $(BROM_INCDIR)/brom/specfiles
|
||||||
|
BROM_SPECARCH := $(BROM_LIBARCH)
|
||||||
|
ifneq ($(BROM_TARGET),BROM)
|
||||||
|
BROM_SPECARCH := $(BROM_SPECARCH)-$(BROM_TARGET)
|
||||||
|
endif
|
||||||
|
DEFAULT_BROM_LCFILE := $(BROM_SPECDIR)/$(BROM_SPECARCH).ldscript
|
||||||
|
ifndef BROM_PROMGEN
|
||||||
|
DEFAULT_BROM_LCFILE_TEMPLATE := $(BROM_SPECDIR)/$(BROM_SPECARCH)$(LCF_SUFFIX_).ldscript.template
|
||||||
|
DEFAULT_BROM_LCFILE_SPEC := $(BROM_SPECDIR)/$(BROM_SPECARCH).lsf
|
||||||
|
else # BROM_PROMGEN
|
||||||
|
DEFAULT_BROM_LCFILE_TEMPLATE := $(BROM_SPECDIR)/PROM.ldscript.template
|
||||||
|
DEFAULT_BROM_LCFILE_SPEC := $(BROM_SPECDIR)/PROM.lsf
|
||||||
|
endif # BROM_PROMGEN
|
||||||
|
DEFAULT_BROM_ROM_SPEC := $(BROM_SPECDIR)/ROM-$(CTR_PLATFORM).rsf
|
||||||
|
|
||||||
|
BROM_LCF_MAPHDRS := $(BROM_INCDIR)/brom/hw/$(BROM_PROC)/mmap_global.h \
|
||||||
|
$(BROM_INCDIR)/brom/hw/$(BROM_PROC)/mmap_brom.h \
|
||||||
|
$(BROM_CTRFIRM_INCDIR)/firm/hw/$(BROM_PROC)/mmap_firm.h \
|
||||||
|
$(BROM_CTRFIRM_INCDIR)/firm/hw/$(BROM_PROC)/mmap_wram.h \
|
||||||
|
|
||||||
|
ifeq ($(BROM_PROC),ARM11)
|
||||||
|
else # BROM_PROC == ARM9
|
||||||
|
BROM_LCF_MAPHDRS += $(BROM_INCDIR)/brom/hw/$(BROM_PROC)/mmap_tcm.h
|
||||||
|
endif # BROM_PROC == ARM9
|
||||||
|
|
||||||
|
|
||||||
|
# replace TwlSDK
|
||||||
|
CTR_BUILDARCH ?= $(BROM_BUILDARCH)
|
||||||
|
|
||||||
|
|
||||||
|
### Compiler & Linker settings
|
||||||
|
|
||||||
|
#-include $(BROM_BUILDTOOLSDIR)/commondefs.cctype.$(CTR_CCTYPE)
|
||||||
|
|
||||||
|
# replace NitroSDK
|
||||||
|
LCFILE_TEMPLATE ?= $(DEFAULT_BROM_LCFILE_TEMPLATE)
|
||||||
|
LCFILE_SPEC ?= $(DEFAULT_BROM_LCFILE_SPEC)
|
||||||
|
LCFILE_AUTOGEN ?= $(BINDIR)/$(notdir $(LCFILE_SPEC:.lsf=.autogen.ldscript))
|
||||||
|
LCFILE ?= $(LCFILE_AUTOGEN)
|
||||||
|
|
||||||
|
LDRES_FILE ?= # $(LDRES_AUTOGEN)
|
||||||
|
|
||||||
|
LDEPENDS_LCF += $(BROM_BUILDTOOLSDIR)/commondefs $(BROM_LCF_MAPHDRS)
|
||||||
|
LDEPENDS_RES += $(BROM_BUILDTOOLSDIR)/commondefs
|
||||||
|
|
||||||
|
|
||||||
|
### SDK Library settings
|
||||||
|
|
||||||
|
ifeq ($(BROM_TARGET),BROM)
|
||||||
|
ifndef BROM_PROMGEN
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
CRT0_O ?= crt0.o crt0_secure.o
|
||||||
|
else # CODEGEN_PROC==ARM9
|
||||||
|
CRT0_O ?= crt0.o crt0_secure_sp.o
|
||||||
|
endif # CODEGEN_PROC==ARM9
|
||||||
|
endif # BROM_PROMGEN
|
||||||
|
else # BROM_TARGET
|
||||||
|
CRT0_O ?= crt0_app.o
|
||||||
|
endif # BROM_TARGET
|
||||||
|
|
||||||
|
ifdef BROM_DEF_LINK_SCATLD
|
||||||
|
CRT0_O += crt0_scat.o
|
||||||
|
endif # BROM_DEF_LINK_SCATLD
|
||||||
|
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
|
||||||
|
BROM_LIBS_BASE ?= \
|
||||||
|
libos \
|
||||||
|
libmi \
|
||||||
|
libpxi \
|
||||||
|
libsyscall \
|
||||||
|
libswi \
|
||||||
|
libpad \
|
||||||
|
libpm \
|
||||||
|
libgcd \
|
||||||
|
libnvram \
|
||||||
|
libacsign \
|
||||||
|
libromsd \
|
||||||
|
libprint_hex \
|
||||||
|
libvlink \
|
||||||
|
|
||||||
|
ifdef BROM_PROFILE_TYPE
|
||||||
|
BROM_LIBS_BASE += libos.$(BROM_PROFILE_TYPE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
else # ($(CODEGEN_PROC),ARM9)
|
||||||
|
|
||||||
|
BROM_LIBS_BASE ?= \
|
||||||
|
libos_sp \
|
||||||
|
libmi_sp \
|
||||||
|
libpxi_sp \
|
||||||
|
libswi_sp \
|
||||||
|
libsyscall_sp \
|
||||||
|
libpad_sp \
|
||||||
|
libpm_sp \
|
||||||
|
libgcd_sp \
|
||||||
|
libnvram_sp \
|
||||||
|
libaes_sp \
|
||||||
|
libacsign_sp \
|
||||||
|
libromsd_sp \
|
||||||
|
libvlink_sp \
|
||||||
|
|
||||||
|
ifdef BROM_PROFILE_TYPE
|
||||||
|
BROM_LIBS_BASE += libos_sp.$(BROM_PROFILE_TYPE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
BROM_LIBS ?= $(CRT0_O) $(addsuffix $(BROM_LIBSUFFIX).a,$(BROM_LIBS_BASE))
|
||||||
|
|
||||||
|
BROM_LDEPENDS_DBG ?= $(CTRBROM_ROOT)/build/libraries/os/common/os_printf.c \
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
### CTR-commondefs
|
||||||
|
#
|
||||||
|
include $(CTRFIRM_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# MY BUILD TOOLS
|
||||||
|
#
|
||||||
|
MAKENORFIRM := $(BROM_CTRFIRM_TOOLSDIR)/bin/makenorfirm.exe
|
||||||
|
MAKENANDFIRM := $(BROM_CTRFIRM_TOOLSDIR)/bin/makenandfirm.exe
|
||||||
|
MAKEGCDFIRM := $(BROM_CTRFIRM_TOOLSDIR)/bin/makegcdfirm.exe
|
||||||
|
OPENSSL := $(BROM_CTRFIRM_TOOLSDIR)/openssl/openssl.exe
|
||||||
|
|
||||||
|
MAKEFIRM_RSA_PRVKEY ?= $(shell cygpath -m $(BROM_CTRFIRM_TOOLSDIR))/openssl/rsa_private.der
|
||||||
|
MAKEFIRM_RSA_PUBKEY ?= $(shell cygpath -m $(BROM_CTRFIRM_TOOLSDIR))/openssl/rsa_public.der
|
||||||
|
|
||||||
|
MAKEFIRM_FLAGS ?=
|
||||||
|
|
||||||
|
ifneq ($(filter NORFIRM NANDFIRM GCDFIRM,$(FIRM_TARGET)),)
|
||||||
|
FIRM_STRIP_AXF := TRUE
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ifeq ($(CTR_PRIVATE),TRUE)
|
||||||
|
BROM_PRIVATE := TRUE
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CTR_WITH_ARM9),TRUE)
|
||||||
|
BROM_WITH_ARM9 := TRUE
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
### Global Library resettings
|
||||||
|
|
||||||
|
GINCLUDES := $(BROM_INCDIR) $(BROM_CTRFIRM_INCDIR) $(GINCLUDES)
|
||||||
|
GLIBRARY_DIRS := $(BROM_LIBDIR) $(GLIBRARY_DIRS)
|
||||||
|
GLIBRARIES := $(BROM_LIBS) \
|
||||||
|
|
||||||
|
# $(filter-out $(addsuffix $(CTR_LIBSUFFIX).a,$(BROM_LIBS_BASE)),$(GLIBRARIES))
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# CTRBROM_INSTALL_ROOT
|
||||||
|
#
|
||||||
|
|
||||||
|
ifdef CTRBROM_INSTALL_ROOT
|
||||||
|
CTRBROM_INSTALL_ROOT_ := $(CTRBROM_INSTALL_ROOT)
|
||||||
|
else
|
||||||
|
CTRBROM_INSTALL_ROOT_ := $(CTRBROM_ROOT)
|
||||||
|
endif
|
||||||
|
|
||||||
|
BROM_INSTALL_ROOT := $(subst $(SPACE),\ ,$(subst \,/,$(CTRBROM_INSTALL_ROOT_)))
|
||||||
|
BROM_INSTALL_INCDIR := $(BROM_INSTALL_ROOT)/include
|
||||||
|
BROM_INSTALL_TOOLSDIR := $(BROM_INSTALL_ROOT)/tools
|
||||||
|
BROM_INSTALL_LIBDIR := $(BROM_INSTALL_ROOT)/lib/$(BROM_LIBTYPE)
|
||||||
|
BROM_INSTALL_PROMDIR := $(BROM_INSTALL_TOOLSDIR)/prom
|
||||||
|
BROM_INSTALL_COMPONENTSDIR := $(BROM_INSTALL_ROOT)/components
|
||||||
|
BROM_INSTALL_ADDINS := $(BROM_INSTALL_ROOT)/add-ins
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Compiler flags
|
||||||
|
#
|
||||||
|
MACRO_FLAGS += -DBROM_PLATFORM_$(BROM_PLATFORM) \
|
||||||
|
-DBROM_TARGET_$(BROM_TARGET) \
|
||||||
|
-DBROM_KEYSDIR='$(BROM_KEYSDIR)' \
|
||||||
|
-DMAKEFIRM_RSA_PUBKEY='$(MAKEFIRM_RSA_PUBKEY)' \
|
||||||
|
-DBROM_ROOT='$(BROM_ROOT)' \
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
endif # CTRBROM_COMMONDEFS_
|
||||||
|
#----- End of commondefs -----
|
||||||
103
trunk/bootrom/build/buildtools/modulerules
Normal file
103
trunk/bootrom/build/buildtools/modulerules
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrBrom - modulerules - common rules for build system
|
||||||
|
# File: modulerules
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifndef BROMSDK_MODULERULES_
|
||||||
|
|
||||||
|
|
||||||
|
ifdef MAKEFIRM_ARM11
|
||||||
|
MAKEROM_ARM11 = $(MAKEFIRM_ARM11)
|
||||||
|
endif
|
||||||
|
ifdef MAKEFIRM_ARM9
|
||||||
|
MAKEROM_ARM9 = $(MAKEFIRM_ARM9)
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
### CTR-modulerules
|
||||||
|
#
|
||||||
|
include $(CTRFIRM_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#
|
||||||
|
# MAKENORFIRM / MAKENANDFIRM / MAKEGCDFIRM
|
||||||
|
#
|
||||||
|
|
||||||
|
MAKEFIRM_ARM9 ?= $(MAKEROM_ARM9)
|
||||||
|
MAKEFIRM_ARM7 ?= $(MAKEROM_ARM7)
|
||||||
|
|
||||||
|
MAKEFIRM_DEFS += -DFIRM_ROOT='$(BROM_CTRFIRM_ROOT)' \
|
||||||
|
-DMAKEFIRM_ARM11='$(basename $(MAKEFIRM_ARM11))' \
|
||||||
|
-DMAKEFIRM_ARM9='$(basename $(MAKEFIRM_ARM9))' \
|
||||||
|
-DMAKEFIRM_RSA_PRVKEY='$(MAKEFIRM_RSA_PRVKEY)' \
|
||||||
|
|
||||||
|
SDEPENDS_BIN += $(MAKEFIRM_RSA_PRVKEY)
|
||||||
|
|
||||||
|
FIRM_SDEPENDS_BIN := \
|
||||||
|
$(call eupath,$(MAKEFIRM_ARM11)) \
|
||||||
|
$(call eupath,$(MAKEFIRM_ARM9)) \
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: bromtop bromlib bromdbg
|
||||||
|
|
||||||
|
bromtop:
|
||||||
|
@$(MAKE) -C $(CTRBROM_ROOT)
|
||||||
|
|
||||||
|
bromlib:
|
||||||
|
@$(MAKE) -C $(CTRBROM_ROOT)/build/libraries
|
||||||
|
|
||||||
|
bromdbg:
|
||||||
|
@$(TOUCH) $(BROM_LDEPENDS_DBG)
|
||||||
|
@$(MAKE) -C $(CTRBROM_ROOT)/build/libraries/os
|
||||||
|
@+$(REMAKE)
|
||||||
|
|
||||||
|
|
||||||
|
# .srl
|
||||||
|
# .nor
|
||||||
|
$(BINDIR)/%.srl $(BINDIR)/%.nor: $(FIRM_SDEPENDS_BIN) $(FIRM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN) $(MAKEFILE)
|
||||||
|
$(MAKENORFIRM) $(MAKEFIRM_FLAGS) $(MAKEFIRM_DEFS) $(FIRM_SPEC) $@
|
||||||
|
|
||||||
|
# .nand
|
||||||
|
$(BINDIR)/%.srl $(BINDIR)/%.nand: $(FIRM_SDEPENDS_BIN) $(FIRM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN) $(MAKEFILE)
|
||||||
|
$(MAKENANDFIRM) $(MAKEFIRM_FLAGS) $(MAKEFIRM_DEFS) $(FIRM_SPEC) $@
|
||||||
|
|
||||||
|
# .gcd
|
||||||
|
$(BINDIR)/%.srl $(BINDIR)/%.gcd: $(FIRM_SDEPENDS_BIN) $(FIRM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN) $(MAKEFILE)
|
||||||
|
$(MAKEGCDFIRM) $(MAKEFIRM_FLAGS) $(MAKEFIRM_DEFS) $(FIRM_SPEC) $@
|
||||||
|
|
||||||
|
# .sbin
|
||||||
|
$(BINDIR)/$(TARGET_BIN_BASENAME).sbin: $(BINDIR)/$(TARGET_BIN_BASENAME).axf $(BINDIR)/$(TARGET_BIN_BASENAME).txt
|
||||||
|
objcopy -I elf32-little -O binary $< $@
|
||||||
|
|
||||||
|
# $(FROMELF) --bin -o $@ $<
|
||||||
|
|
||||||
|
|
||||||
|
# .padbin
|
||||||
|
$(BINDIR)/$(TARGET_BIN_BASENAME).padbin: $(BINDIR)/$(TARGET_BIN_BASENAME).sbin
|
||||||
|
objcopy -I binary -O binary --pad-to $(EXO_SBIN_SIZE) --gap-fill 0x00 $< $@
|
||||||
|
|
||||||
|
|
||||||
|
# .txt
|
||||||
|
$(BINDIR)/$(TARGET_BIN_BASENAME).txt: $(BINDIR)/$(TARGET_BIN_BASENAME).axf
|
||||||
|
$(FROMELF) --32x1 -cd -o $@ $<
|
||||||
|
|
||||||
|
# .exo
|
||||||
|
$(BINDIR)/$(TARGET_BIN_BASENAME).exo: $(BINDIR)/$(TARGET_BIN_BASENAME).sbin
|
||||||
|
objcopy -I binary -O srec $< $@
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
BROMSDK_MODULERULES_ = TRUE
|
||||||
|
endif # BROMSDK_MODULERULES_
|
||||||
|
#----- End of modulerules -----
|
||||||
31
trunk/bootrom/build/libraries/Makefile
Normal file
31
trunk/bootrom/build/libraries/Makefile
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrBrom - libraries
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS = \
|
||||||
|
init \
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
33
trunk/bootrom/build/libraries/init/Makefile
Normal file
33
trunk/bootrom/build/libraries/init/Makefile
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrBrom - libraries - init
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS = # ARM11
|
||||||
|
|
||||||
|
#ifdef CTR_WITH_ARM9
|
||||||
|
SUBDIRS += ARM9
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRBROM_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
33
trunk/build/buildsetup/Makefile
Normal file
33
trunk/build/buildsetup/Makefile
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: NitroSDK - buildsetup - create register map
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2003-2004 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords:$
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRFIRM_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifdef NITRO_PRIVATE
|
||||||
|
SUBDIRS += # versions
|
||||||
|
endif
|
||||||
|
|
||||||
|
SUBDIRS += ioreg ioreg_sp # fx
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRFIRM_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#----- End of Makefile -----
|
||||||
65
trunk/build/buildsetup/ioreg/Makefile
Normal file
65
trunk/build/buildsetup/ioreg/Makefile
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrBrom - buildsetup - create register map
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords:$
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS =
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WORKDIR = ctr/hw/ARM11
|
||||||
|
TARGET = $(WORKDIR)/ioreg.h
|
||||||
|
|
||||||
|
CSVSRC = io_register_list.csv
|
||||||
|
SCRIPT = header_generator_ioreg.pl
|
||||||
|
|
||||||
|
NEWDIRS = $(WORKDIR)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
TARGET_PREFIX = $(subst .h,,$(TARGET))
|
||||||
|
TARGET_SUBFILES = $(TARGET_PREFIX)_*.h
|
||||||
|
TARGET_TMPCSV = $(TARGET_PREFIX).csv
|
||||||
|
|
||||||
|
# build
|
||||||
|
TARGETS = $(TARGET) $(TARGET_SUBFILES)
|
||||||
|
|
||||||
|
# install
|
||||||
|
INSTALL_TARGETS = $(TARGETS)
|
||||||
|
INSTALL_DIR = $(CTR_INSTALL_INCDIR)/$(WORKDIR)
|
||||||
|
override DO_INSTALL = $(DO_INSTALL_WILDCARD)
|
||||||
|
|
||||||
|
# clean/clobber
|
||||||
|
LDIRT_CLEAN = $(TARGET_TMPCSV) $(TARGETS) \
|
||||||
|
$(firstword $(subst /, ,$(WORKDIR)))
|
||||||
|
LDIRT_CLOBBER =
|
||||||
|
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
do-build: $(TARGET)
|
||||||
|
|
||||||
|
$(TARGET): $(CSVSRC) $(SCRIPT)
|
||||||
|
$(CP) $(CSVSRC) $(TARGET_TMPCSV)
|
||||||
|
$(PERL) $(SCRIPT) $(TARGET_TMPCSV)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#----- End of Makefile -----
|
||||||
678
trunk/build/buildsetup/ioreg/header_generator_ioreg.pl
Normal file
678
trunk/build/buildsetup/ioreg/header_generator_ioreg.pl
Normal file
@ -0,0 +1,678 @@
|
|||||||
|
#!/usr/bin/perl -s
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# Project: CtrSDK - header generator -
|
||||||
|
# File: header_generator_ioreg.pl
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# ヘッダファイルのマクロ生成スクリプト
|
||||||
|
#
|
||||||
|
# 使用法:
|
||||||
|
# conv.pl [-v] [-dup] filename1.csv [filename2.csv ...]
|
||||||
|
#
|
||||||
|
# CSVファイルからマクロの定義が書かれているヘッダファイル
|
||||||
|
# filename1.h (filename2.h...)を出力します。
|
||||||
|
#
|
||||||
|
# CSVファイルのフォーマットについては(SDKRoot)/docs/private/how-to-make-headers.txt
|
||||||
|
# をご覧下さい。
|
||||||
|
#
|
||||||
|
|
||||||
|
use Text::ParseWords;
|
||||||
|
|
||||||
|
#
|
||||||
|
# グローバル変数
|
||||||
|
#
|
||||||
|
$line_no = 0;
|
||||||
|
%name_hash = ();
|
||||||
|
@hash_array = ();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# verbose出力
|
||||||
|
#
|
||||||
|
sub verbose {
|
||||||
|
if ($verbose_mode == 1) {
|
||||||
|
print STDERR @_;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# フィールドの最初と最後の空白を取り除く
|
||||||
|
#
|
||||||
|
sub trim {
|
||||||
|
my @out = @_;
|
||||||
|
for (@out) {
|
||||||
|
s/^\s+//;
|
||||||
|
s/\s+$//;
|
||||||
|
}
|
||||||
|
return @out;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# CSV解析ルーチン
|
||||||
|
#
|
||||||
|
sub parse_csv {
|
||||||
|
my @fields = quotewords(",", 0, shift @_);
|
||||||
|
@fields = trim(@fields);
|
||||||
|
|
||||||
|
my $tmp;
|
||||||
|
# 行末の,,,,を取り除く
|
||||||
|
while(defined($tmp = pop @fields) && $tmp =~ /^$/ ) {
|
||||||
|
;
|
||||||
|
}
|
||||||
|
push @fields, $tmp;
|
||||||
|
|
||||||
|
return @fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# プリプロセッサ
|
||||||
|
#
|
||||||
|
sub preprocess {
|
||||||
|
return parse_csv(shift @_);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# マクロ名の重複チェック
|
||||||
|
#
|
||||||
|
|
||||||
|
sub check_macro_duplicate {
|
||||||
|
my $name = shift @_;
|
||||||
|
my $condition = shift @_;
|
||||||
|
my $no = shift @_;
|
||||||
|
|
||||||
|
if ($condition ne "") {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists $name_hash{$name}) {
|
||||||
|
if ($duplicate_ok == 1) {
|
||||||
|
print STDERR "WARNING: generating duplicate macro \'$name\' in line $no\n";
|
||||||
|
} else {
|
||||||
|
die "ERROR: duplicate macro \'$name\' in line $no";
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
$name_hash{$name} = 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# 解析
|
||||||
|
#
|
||||||
|
sub analyze {
|
||||||
|
my @fields = @_;
|
||||||
|
|
||||||
|
my $fields;
|
||||||
|
my $tmphash;
|
||||||
|
my $address, $condition, $name, $bitwidth, $rw, $category, $volatile;
|
||||||
|
$tmphash = {};
|
||||||
|
|
||||||
|
$address = shift @fields;
|
||||||
|
die "ERROR: Illegal address \'$address\' in line $line_no\n" unless ($address =~ /^0x[0-9A-Fa-f]+$/);
|
||||||
|
|
||||||
|
$condition = shift @fields;
|
||||||
|
die "ERROR: Illegal condition name \'$condition\' in line $line_no\n" unless ($address =~ /^[A-Za-z0-9_()&|!]+$/);
|
||||||
|
|
||||||
|
$name = shift @fields;
|
||||||
|
die "ERROR: Illegal macro name \'$name\' in line $line_no\n" unless ($name =~ /^[A-Za-z0-9_]+$/);
|
||||||
|
check_macro_duplicate($name, $condition, $line_no);
|
||||||
|
|
||||||
|
|
||||||
|
$bitwidth = shift @fields;
|
||||||
|
if ($bitwidth eq "8") {
|
||||||
|
$mask_format = "0x%02x";
|
||||||
|
} elsif ($bitwidth eq "16") {
|
||||||
|
$mask_format = "0x%04x";
|
||||||
|
} elsif ($bitwidth eq "32") {
|
||||||
|
$mask_format = "0x%08x";
|
||||||
|
} elsif ($bitwidth eq "64") {
|
||||||
|
$mask_format = "0x%016x";
|
||||||
|
} else {
|
||||||
|
die "ERROR: Illegal bitwidth \'$bitwidth\' in line $line_no\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$rw = shift @fields;
|
||||||
|
$category = shift @fields;
|
||||||
|
$volatile = shift @fields;
|
||||||
|
|
||||||
|
$tmphash->{"condition"} = $condition;
|
||||||
|
$tmphash->{"name"} = $name;
|
||||||
|
$tmphash->{"offset"} = $address;
|
||||||
|
$tmphash->{"bitwidth"} = $bitwidth;
|
||||||
|
$tmphash->{"rw"} = $rw;
|
||||||
|
if ($rw eq "r") {
|
||||||
|
$tmphash->{"const"} = "const";
|
||||||
|
} else {
|
||||||
|
$tmphash->{"const"} = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmphash->{"category"} = $category;
|
||||||
|
|
||||||
|
if ($volatile eq "volatile") {
|
||||||
|
$tmphash->{"volatile"} = "v";
|
||||||
|
} elsif ($volatile eq "permanent") {
|
||||||
|
$tmphash->{"volatile"} = "";
|
||||||
|
} else {
|
||||||
|
die "ERROR: specify volatile/permanent in line $line_no\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
@{$tmphash->{"option"}} = splice @fields, 0;
|
||||||
|
|
||||||
|
$tmphash->{"mask_format"} = $mask_format;
|
||||||
|
$tmphash->{"line_no"} = $line_no;
|
||||||
|
return $tmphash;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# 配列へ要素を追加
|
||||||
|
# 重複があれば線形リストとしてつなげる
|
||||||
|
#
|
||||||
|
sub push_fields {
|
||||||
|
my $hash = shift @_;
|
||||||
|
my $array_num;
|
||||||
|
my $tmp_hash;
|
||||||
|
|
||||||
|
# 既に同じ名前のものが登録されている場合はハッシュテーブルへ線形リストとして追加
|
||||||
|
if ( exists($index_name_hash{ $hash->{"name"} }) ) {
|
||||||
|
$array_num = $index_name_hash{ $hash->{"name"} }; # 対応する配列のインデックスを取得
|
||||||
|
# (condition eq "")のものが線形リストの最後になるよう追加
|
||||||
|
$tmp_hash = $hash_array[ $array_num ];
|
||||||
|
if ( $tmp_hash->{"condition"} eq "") {
|
||||||
|
$hash->{"next"} = $tmp_hash;
|
||||||
|
$hash_array[ $array_num] = $hash;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
while ( exists($tmp_hash->{"next"}) ) {
|
||||||
|
if ($tmp_hash->{"next"}->{"condition"} eq "") {
|
||||||
|
$hash->{"next"} = $tmp_hash->{"next"};
|
||||||
|
$tmp_hash->{"next"} = $hash;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$tmp_hash = $tmp_hash->{"next"};
|
||||||
|
}
|
||||||
|
$tmp_hash->{"next"} = $hash;
|
||||||
|
} else {
|
||||||
|
$array_num = @hash_array;
|
||||||
|
$index_name_hash{ $hash->{"name"} } = $array_num;
|
||||||
|
push @hash_array, $hash;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# カテゴリ情報収集
|
||||||
|
#
|
||||||
|
sub collect_category {
|
||||||
|
my %cat_hash;
|
||||||
|
my $hash;
|
||||||
|
foreach $hash (@hash_array) {
|
||||||
|
$cat_hash{$hash->{"category"}} = 1;
|
||||||
|
}
|
||||||
|
return (keys %cat_hash);
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# 条件のマージ
|
||||||
|
#
|
||||||
|
sub merge_condition {
|
||||||
|
my $cond1 = shift @_;
|
||||||
|
my $cond2 = shift @_;
|
||||||
|
my $name = shift @_;
|
||||||
|
|
||||||
|
my $merged_cond;
|
||||||
|
|
||||||
|
if ( $cond1 eq "" || $cond2 eq "") {
|
||||||
|
$merged_cond = "";
|
||||||
|
return $merged_cond;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( "$cond1" eq "!$cond2" || "!$cond1" eq "$cond2" ) {
|
||||||
|
$merge_cond = "";
|
||||||
|
} else {
|
||||||
|
$merged_cond = "$cond1 || $cond2";
|
||||||
|
}
|
||||||
|
|
||||||
|
return $merged_cond;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# レジスタのオフセット定義取得
|
||||||
|
#
|
||||||
|
sub cull_register_offset_def {
|
||||||
|
my $hash = shift @_;
|
||||||
|
|
||||||
|
my $offset_name;
|
||||||
|
my @tmp_hash;
|
||||||
|
my @def_array = ();
|
||||||
|
my $i, $k;
|
||||||
|
|
||||||
|
$i = 0;
|
||||||
|
while ( 1 ) {
|
||||||
|
|
||||||
|
{
|
||||||
|
$offset_name = "REG_$hash->{'name'}_OFFSET";
|
||||||
|
$hash->{"offset_def"} = $offset_name;
|
||||||
|
$hash->{"address_def"} = "REG_$hash->{'name'}_ADDR";
|
||||||
|
# この変数の定義は後で使用するので残しておく
|
||||||
|
$hash->{"valname_def"} = "REG_$hash->{'category'}_$hash->{'name'}";
|
||||||
|
$hash->{"valname_def_new"} = "reg_$hash->{'category'}_$hash->{'name'}";
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmp_hash[$i]->{"condition"} = $hash->{"condition"};
|
||||||
|
$tmp_hash[$i]->{"name"} = $hash->{"name"};
|
||||||
|
$tmp_hash[$i]->{"offset_def"} = $hash->{"offset_def"};
|
||||||
|
$tmp_hash[$i]->{"offset"} = $hash->{"offset"};
|
||||||
|
$tmp_hash[$i]->{"address_def"} = $hash->{"address_def"};
|
||||||
|
$tmp_hash[$i]->{"valname_def"} = $hash->{"valname_def"};
|
||||||
|
$tmp_hash[$i]->{"valname_def_new"} = $hash->{"valname_def_new"};
|
||||||
|
|
||||||
|
my $val = "(*($hash->{'const'} REGType$hash->{'bitwidth'}$hash->{'volatile'} *) $hash->{'address_def'})";
|
||||||
|
|
||||||
|
$tmp_hash[$i]->{"reg_type"} = $val;
|
||||||
|
|
||||||
|
my $find_flg = 0;
|
||||||
|
|
||||||
|
#reg_typeとoffsetが同じならconditionをマージ
|
||||||
|
foreach $k (@def_array) {
|
||||||
|
if ( $k->{'condition'} eq "" ) {
|
||||||
|
# 条件無しのフィールドは最後に来るはずで、先に既に存在する場合は条件設定がおかしい
|
||||||
|
print STDERR "WARNING: illegal condition in \'$k->{'name'}\'\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ($k->{"reg_type"} eq $tmp_hash[$i]->{"reg_type"}) && ($k->{"offset"} eq $tmp_hash[$i]->{"offset"}) )
|
||||||
|
{
|
||||||
|
$k->{'condition'} = merge_condition( $k->{'condition'}, $tmp_hash[$i]->{'condition'}, $k->{'name'} );
|
||||||
|
$find_flg = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($find_flg == 0) {
|
||||||
|
push @def_array, $tmp_hash[$i];
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
# リストにまだ残っているなら次を処理
|
||||||
|
if (exists($hash->{"next"})) {
|
||||||
|
$hash = $hash->{"next"};
|
||||||
|
} else {
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return @def_array;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# アウトプット
|
||||||
|
#
|
||||||
|
sub output {
|
||||||
|
my $output_filename = shift @_;
|
||||||
|
my $category = shift @_;
|
||||||
|
|
||||||
|
# 出力ファイルのオープン
|
||||||
|
|
||||||
|
open OUT, ">$output_filename" or die "ERROR: Cannot create file \'$output_filename\'\n";
|
||||||
|
my $handle = OUT;
|
||||||
|
# my $handle = STDOUT;
|
||||||
|
|
||||||
|
my $include_guard = $output_filename;
|
||||||
|
$include_guard =~ s/[.\/]/_/g;
|
||||||
|
$include_guard = uc($include_guard). "_";
|
||||||
|
|
||||||
|
#
|
||||||
|
# 出力
|
||||||
|
#
|
||||||
|
print $handle <<ENDDOC;
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: CtrSDK - IO Register List -
|
||||||
|
File: $output_filename
|
||||||
|
|
||||||
|
Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
|
||||||
|
These coded instructions, statements, and computer programs contain
|
||||||
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
//
|
||||||
|
// I was generated automatically, don't edit me directly!!!
|
||||||
|
//
|
||||||
|
#ifndef $include_guard
|
||||||
|
#define $include_guard
|
||||||
|
|
||||||
|
#ifndef SDK_ASM
|
||||||
|
#include <ctr/types.h>
|
||||||
|
#include <ctr/hw/ARM11/mmap_global.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Definition of Register offsets, addresses and variables.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
ENDDOC
|
||||||
|
my $hash, $tmp_hash;
|
||||||
|
|
||||||
|
foreach $hash (@hash_array) {
|
||||||
|
next if ($hash->{"category"} ne $category);
|
||||||
|
|
||||||
|
print $handle "/* $hash->{'name'} */\n\n";
|
||||||
|
|
||||||
|
my @reg_array = cull_register_offset_def($hash); # 重複した項目を最適化
|
||||||
|
my $nest_state = 0;
|
||||||
|
|
||||||
|
foreach $tmp_hash (@reg_array)
|
||||||
|
{
|
||||||
|
if ($tmp_hash->{"condition"} ne "") {
|
||||||
|
if ($nest_state == 0) {
|
||||||
|
$nest_state = 1;
|
||||||
|
printf $handle "#if %s\n\n", $tmp_hash->{'condition'};
|
||||||
|
} elsif ($nest_state == 1) {
|
||||||
|
printf $handle "\n#elif %s\n\n", $tmp_hash->{'condition'};
|
||||||
|
}
|
||||||
|
} elsif ($nest_state == 1) {
|
||||||
|
printf $handle "\n#else\n\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
printf $handle "#define %-50s %s\n", $tmp_hash->{'offset_def'}, $tmp_hash->{'offset'};
|
||||||
|
printf $handle "#define %-50s %s\n", $tmp_hash->{"address_def"}, "(HW_REG_BASE + $tmp_hash->{'offset_def'})";
|
||||||
|
printf $handle "#define %-50s %s\n", $tmp_hash->{"valname_def_new"}, $tmp_hash->{"reg_type"};
|
||||||
|
|
||||||
|
if ($nest_state == 1) {
|
||||||
|
printf $handle "// endif %s\n", $tmp_hash->{"condition"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
printf $handle "\n";
|
||||||
|
if ($nest_state == 1) {
|
||||||
|
printf $handle "#endif\n\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print $handle <<ENDDOC;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Definitions of Register fields
|
||||||
|
*/
|
||||||
|
|
||||||
|
ENDDOC
|
||||||
|
my $hash;
|
||||||
|
my $nest_state;
|
||||||
|
|
||||||
|
foreach $hash (@hash_array) {
|
||||||
|
next if ($hash->{"category"} ne $category);
|
||||||
|
|
||||||
|
$nest_state = 0;
|
||||||
|
|
||||||
|
printf $handle "\n";
|
||||||
|
print $handle "/* $hash->{'name'} */\n";
|
||||||
|
|
||||||
|
while ( 1 ) {
|
||||||
|
if ($hash->{"condition"} ne "") {
|
||||||
|
if ($nest_state == 0) {
|
||||||
|
$nest_state = 1;
|
||||||
|
printf $handle "#if %s\n", $hash->{'condition'};
|
||||||
|
} elsif ($nest_state == 1) {
|
||||||
|
printf $handle "#elif %s\n", $hash->{'condition'};
|
||||||
|
}
|
||||||
|
} elsif ($nest_state == 1) {
|
||||||
|
printf $handle "#else\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
my $no = $hash->{"line_no"};
|
||||||
|
|
||||||
|
my @array = @{$hash->{"option"}};
|
||||||
|
|
||||||
|
my $field_macro_func = "#define $hash->{'valname_def'}_FIELD(";
|
||||||
|
my $field_macro_flag = 0;
|
||||||
|
my $field_macro_body = " (u$hash->{'bitwidth'})( \\\n";
|
||||||
|
|
||||||
|
my $fieldname, $fieldshift, $fieldsize;
|
||||||
|
while($fieldname = shift @array) {
|
||||||
|
my $shift_macro;
|
||||||
|
|
||||||
|
die "ERROR: Field option not good in line $no\n" if (!defined($fieldshift = shift @array));
|
||||||
|
die "ERROR: Field option not good in line $no\n" if (!defined($fieldsize = shift @array));
|
||||||
|
|
||||||
|
print $handle "\n";
|
||||||
|
|
||||||
|
# REG_XXX_XXXXX_SHIFTの出力
|
||||||
|
{
|
||||||
|
my $name = "$hash->{'valname_def'}_" . $fieldname . "_SHIFT";
|
||||||
|
check_macro_duplicate($name, $hash->{'condition'}, $no);
|
||||||
|
$shift_macro = $name;
|
||||||
|
printf $handle "#define %-50s %s\n", $name, $fieldshift;
|
||||||
|
}
|
||||||
|
|
||||||
|
# REG_XXX_XXXXX_SIZEの出力
|
||||||
|
{
|
||||||
|
my $name = "$hash->{'valname_def'}_" . $fieldname . "_SIZE";
|
||||||
|
check_macro_duplicate($name, $hash->{'condition'}, $no);
|
||||||
|
printf $handle "#define %-50s %s\n", $name, $fieldsize;
|
||||||
|
}
|
||||||
|
|
||||||
|
# REG_XXX_XXXXX_MASKの出力
|
||||||
|
{
|
||||||
|
my $width = $hash->{"bitwidth"};
|
||||||
|
my $mask_val = 1 << $fieldshift;
|
||||||
|
my $tmp = $mask_val;
|
||||||
|
my $i;
|
||||||
|
for ($i = 0; $i < $fieldsize - 1; $i++) {
|
||||||
|
$mask_val = $mask_val << 1;
|
||||||
|
$mask_val = $mask_val + $tmp;
|
||||||
|
}
|
||||||
|
my $name = "$hash->{'valname_def'}_" . $fieldname . "_MASK";
|
||||||
|
check_macro_duplicate($name, $hash->{'condition'}, $no);
|
||||||
|
printf $handle "#define %-50s $hash->{'mask_format'}\n", $name, $mask_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
# REG_XXX_XXXXX_FIELDの定義の一行分を作成
|
||||||
|
my $fn = lc($fieldname);
|
||||||
|
if ($field_macro_flag == 1) {
|
||||||
|
$field_macro_func = $field_macro_func . ", " . $fn;
|
||||||
|
$field_macro_body = $field_macro_body . " | \\\n" . " ((u32)($fn) << $shift_macro)";
|
||||||
|
} else {
|
||||||
|
$field_macro_func = $field_macro_func . " " . $fn;
|
||||||
|
$field_macro_body = $field_macro_body . " ((u32)($fn) << $shift_macro)";
|
||||||
|
$field_macro_flag = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($field_macro_flag == 1) {
|
||||||
|
# REG_XXX_XXXXX_FIELDの出力
|
||||||
|
$field_macro_func .= " ) \\\n";
|
||||||
|
$field_macro_func .= $field_macro_body;
|
||||||
|
print $handle "\n#ifndef SDK_ASM\n";
|
||||||
|
print $handle $field_macro_func, ")\n";
|
||||||
|
print $handle "#endif\n\n"
|
||||||
|
|
||||||
|
}
|
||||||
|
if ($nest_state == 1) {
|
||||||
|
printf $handle "// endif %s\n", $hash->{"condition"};
|
||||||
|
if ( !exists($hash->{"next"})) {
|
||||||
|
printf $handle "#endif \n\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# リストにまだ残っているなら次を表示
|
||||||
|
if (exists($hash->{'next'})) {
|
||||||
|
$hash = $hash->{'next'};
|
||||||
|
} else {
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print $handle <<ENDDOC;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* $include_guard */
|
||||||
|
#endif
|
||||||
|
ENDDOC
|
||||||
|
|
||||||
|
verbose("done.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# コマンドラインオプションの設定
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# -vか-verboseが指定されているとverboseモード
|
||||||
|
if ($v == 1 || $verbose == 1) {
|
||||||
|
$verbose_mode = 1;
|
||||||
|
verbose("verbose mode on\n");
|
||||||
|
} else {
|
||||||
|
$verbose_mode = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
# -nodupが指定されているとマクロ名の重複を許さない
|
||||||
|
if ($nodup == 1) {
|
||||||
|
$duplicate_ok = 0;
|
||||||
|
} else {
|
||||||
|
$duplicate_ok = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# メインルーチン
|
||||||
|
#
|
||||||
|
foreach $filename (@ARGV) {
|
||||||
|
$line_no = 0;
|
||||||
|
@hash_array = ();
|
||||||
|
|
||||||
|
open INPUTFILE, "$filename" or die "ERROR: Cannot open file \'$filename\'\n";
|
||||||
|
|
||||||
|
my $line;
|
||||||
|
while($line = <INPUTFILE>) {
|
||||||
|
$line_no++;
|
||||||
|
$line =~ s/\"//g;
|
||||||
|
$line =~ s/\#.*//;
|
||||||
|
next if ($line =~ /^[\s,]*$/);
|
||||||
|
|
||||||
|
@fields = preprocess($line);
|
||||||
|
push @hash_array, analyze(@fields);
|
||||||
|
}
|
||||||
|
verbose("$line_no lines read\n");
|
||||||
|
|
||||||
|
my @categories = collect_category();
|
||||||
|
my $category;
|
||||||
|
my @headerfile_array = ();
|
||||||
|
|
||||||
|
|
||||||
|
foreach $category (@categories) {
|
||||||
|
my $output_filename = $filename;
|
||||||
|
if (($output_filename =~ s/\.csv/\.h/) == 0) {
|
||||||
|
$output_filename .= ".h";
|
||||||
|
}
|
||||||
|
$output_filename =~ s/\.h/_$category.h/;
|
||||||
|
|
||||||
|
push @headerfile_array, $output_filename;
|
||||||
|
|
||||||
|
verbose("Output filename is $output_filename\n");
|
||||||
|
output($output_filename, $category);
|
||||||
|
}
|
||||||
|
|
||||||
|
my $master_filename = $filename;
|
||||||
|
if (($master_filename =~ s/\.csv/\.h/) == 0) {
|
||||||
|
$master_filename .= ".h";
|
||||||
|
}
|
||||||
|
|
||||||
|
open MASTER, ">$master_filename" or die "ERROR: Cannot create file \'$master_filename$'\n";
|
||||||
|
|
||||||
|
my $include_guard = $master_filename;
|
||||||
|
$include_guard =~ s/[.\/]/_/g;
|
||||||
|
$include_guard = uc($include_guard). "_";
|
||||||
|
|
||||||
|
print MASTER <<ENDDOC;
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: CtrSDK - IO Register List -
|
||||||
|
File: $master_filename
|
||||||
|
|
||||||
|
Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
|
||||||
|
These coded instructions, statements, and computer programs contain
|
||||||
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef $include_guard
|
||||||
|
#define $include_guard
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
ENDDOC
|
||||||
|
|
||||||
|
foreach $header_file (@headerfile_array) {
|
||||||
|
print MASTER "#include <$header_file>\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
print MASTER <<ENDDOC;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* $include_guard */
|
||||||
|
#endif
|
||||||
|
ENDDOC
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
500
trunk/build/buildsetup/ioreg/io_register_list.csv
Normal file
500
trunk/build/buildsetup/ioreg/io_register_list.csv
Normal file
@ -0,0 +1,500 @@
|
|||||||
|
#offset,condition,name,bit,rw,category,volatile/permanent,fieldname,shift,bit,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#表示ステータス,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x004,,DISPSTAT,16,rw,GX,volatile,VCOUNTER,7,9,INI,6,1,VQI,5,1,HBI,4,1,VBI,3,1,LYC,2,1,HBLK,1,1,VBLK,0,1
|
||||||
|
0x006,,VCOUNT,16,rw,GX,volatile,VCOUNTER,0,10,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#DMA,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0b0,,DMA0SAD,32,rw,MI,volatile,DMASRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0b4,,DMA0DAD,32,rw,MI,volatile,DMADEST,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0b8,,DMA0CNT,32,rw,MI,volatile,E,31,1,I,30,1,TIMING,28,2,SB,26,1,CM,25,1,SAR,23,2,DAR,21,2,WORDCNT,0,16
|
||||||
|
0x0bc,,DMA1SAD,32,rw,MI,volatile,DMASRC,0,28,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0c0,,DMA1DAD,32,rw,MI,volatile,DMADEST,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0c4,,DMA1CNT,32,rw,MI,volatile,E,31,1,I,30,1,TIMING,28,2,SB,26,1,CM,25,1,SAR,23,2,DAR,21,2,WORDCNT,0,16
|
||||||
|
0x0c8,,DMA2SAD,32,rw,MI,volatile,DMASRC,0,28,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0cc,,DMA2DAD,32,rw,MI,volatile,DMADEST,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0d0,,DMA2CNT,32,rw,MI,volatile,E,31,1,I,30,1,TIMING,28,2,SB,26,1,CM,25,1,SAR,23,2,DAR,21,2,WORDCNT,0,16
|
||||||
|
0x0d4,,DMA3SAD,32,rw,MI,volatile,DMASRC,0,28,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0d8,,DMA3DAD,32,rw,MI,volatile,DMADEST,0,28,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0dc,,DMA3CNT,32,rw,MI,volatile,E,31,1,I,30,1,TIMING,28,2,SB,26,1,CM,25,1,SAR,23,2,DAR,21,2,WORDCNT,0,16,,,,,,
|
||||||
|
#新規DMA,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4100,,NDMAGCNT,32,rw,MI,volatile,ARBITER,31,1,CPUCYCLE,16,4,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4104,,NDMA0SAD,32,rw,MI,volatile,DMASRC,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4108,,NDMA0DAD,32,rw,MI,volatile,DMADEST,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x410c,,NDMA0TCNT,32,rw,MI,volatile,TOTALCNT,0,28,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4110,,NDMA0WCNT,32,rw,MI,volatile,WORDCNT,0,24,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4114,,NDMA0BCNT,32,rw,MI,volatile,PS,16,2,ICNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4118,,NDMA0FDATA,32,rw,MI,volatile,FDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x411c,,NDMA0CNT,32,rw,MI,volatile,E,31,1,I,30,1,CM,29,1,IM,28,1,MODE,24,4,WORDCNT,16,4,SRL,15,1,SAR,13,2,DRL,12,1,DAR,10,2
|
||||||
|
0x4120,,NDMA1SAD,32,rw,MI,volatile,DMASRC,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4124,,NDMA1DAD,32,rw,MI,volatile,DMADEST,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4128,,NDMA1TCNT,32,rw,MI,volatile,TOTALCNT,0,28,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x412c,,NDMA1WCNT,32,rw,MI,volatile,WORDCNT,0,24,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4130,,NDMA1BCNT,32,rw,MI,volatile,PS,16,2,ICNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4134,,NDMA1FDATA,32,rw,MI,volatile,FDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4138,,NDMA1CNT,32,rw,MI,volatile,E,31,1,I,30,1,CM,29,1,IM,28,1,MODE,24,4,WORDCNT,16,4,SRL,15,1,SAR,13,2,DRL,12,1,DAR,10,2
|
||||||
|
0x413c,,NDMA2SAD,32,rw,MI,volatile,DMASRC,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4140,,NDMA2DAD,32,rw,MI,volatile,DMADEST,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4144,,NDMA2TCNT,32,rw,MI,volatile,TOTALCNT,0,28,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4148,,NDMA2WCNT,32,rw,MI,volatile,WORDCNT,0,24,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x414c,,NDMA2BCNT,32,rw,MI,volatile,PS,16,2,ICNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4150,,NDMA2FDATA,32,rw,MI,volatile,FDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4154,,NDMA2CNT,32,rw,MI,volatile,E,31,1,I,30,1,CM,29,1,IM,28,1,MODE,24,4,WORDCNT,16,4,SRL,15,1,SAR,13,2,DRL,12,1,DAR,10,2
|
||||||
|
0x4158,,NDMA3SAD,32,rw,MI,volatile,DMASRC,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x415c,,NDMA3DAD,32,rw,MI,volatile,DMADEST,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4160,,NDMA3TCNT,32,rw,MI,volatile,TOTALCNT,0,28,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4164,,NDMA3WCNT,32,rw,MI,volatile,WORDCNT,0,24,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4168,,NDMA3BCNT,32,rw,MI,volatile,PS,16,2,ICNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x416c,,NDMA3FDATA,32,rw,MI,volatile,FDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4170,,NDMA3CNT,32,rw,MI,volatile,E,31,1,I,30,1,CM,29,1,IM,28,1,MODE,24,4,WORDCNT,16,4,SRL,15,1,SAR,13,2,DRL,12,1,DAR,10,2
|
||||||
|
#タイマ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x100,,TM0CNT_L,16,rw,OS,volatile,TIMER0CNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x102,,TM0CNT_H,16,rw,OS,volatile,E,7,1,I,6,1,PS,0,2,,,,,,,,,,,,,,,,,,
|
||||||
|
0x104,,TM1CNT_L,16,rw,OS,volatile,TIMER1CNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x106,,TM1CNT_H,16,rw,OS,volatile,E,7,1,I,6,1,CH,2,1,PS,0,2,,,,,,,,,,,,,,,
|
||||||
|
0x108,,TM2CNT_L,16,rw,OS,volatile,TIMER2CNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x10a,,TM2CNT_H,16,rw,OS,volatile,E,7,1,I,6,1,CH,2,1,PS,0,2,,,,,,,,,,,,,,,
|
||||||
|
0x10c,,TM3CNT_L,16,rw,OS,volatile,TIMER2CNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x10e,,TM3CNT_H,16,rw,OS,volatile,E,7,1,I,6,1,CH,2,1,PS,0,2,,,,,,,,,,,,,,,
|
||||||
|
#SIO,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"#レジスタ0x128,0x12aは状況でビットの意味が大きく変わるので多重に定義してあります。",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x120,,SIODATA32,32,rw,EXI,volatile,H,16,16,L,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x120,,SIOMULTI0,16,rw,EXI,volatile,DATA,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x122,,SIOMULTI1,16,rw,EXI,volatile,DATA,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x124,,SIOMULTI2,16,rw,EXI,volatile,DATA,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x126,,SIOMULTI3,16,rw,EXI,volatile,DATA,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x128,,SIOCNT,16,rw,EXI,volatile,CKUP,15,1,I,14,1,MD1,13,1,BITLEN,12,1,START,7,1,TSEND,3,1,TRECV,2,1,SCLOCKHZ,1,1,SCLOCK,0,1
|
||||||
|
0x128,,SIOCNT_MULTI,16,rw,EXI,volatile,CKUP,15,1,I,14,1,MD1,13,1,MD0,12,1,START,7,1,ERROR,6,1,MULTIID,4,2,SDMON,3,1,SIMON,2,1,BAUD,0,2,,,,,,,,,,,,,,,,,,
|
||||||
|
0x128,,SIOCNT_UART,16,rw,EXI,volatile,CKUP,15,1,MD1,13,1,MD0,12,1,RECVEF,11,1,SENDEF,10,1,PARITYEF,9,1,FIFOEF,8,1,DATALEN,7,1,ERROR,6,1,RECV,5,1,SEND,4,1,PARITYCNT,3,1,CTS,2,1,BAUD,0,2,,,,,,
|
||||||
|
0x12a,,SIOCNT_H,16,rw,EXI,volatile,RFFUL,15,1,TFEMP,14,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x12a,,SIOMLT_SEND,16,rw,EXI,volatile,DATA,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x12a,,SIODATA8,16,rw,EXI,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#キー,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x130,,KEYINPUT,16,rw,PAD,volatile,L,9,1,R,8,1,DOWN,7,1,UP,6,1,LEFT,5,1,RIGHT,4,1,START,3,1,SEL,2,1,B,1,1,A,0,1,,,,,,,,,,,,,,,,,,
|
||||||
|
0x132,,KEYCNT,16,rw,PAD,volatile,LOGIC,15,1,INTR,14,1,L,9,1,R,8,1,DOWN,7,1,UP,6,1,LEFT,5,1,RIGHT,4,1,START,3,1,SEL,2,1,B,1,1,A,0,1,,,,,,,,,,,,
|
||||||
|
#シリアル通信 汎用端子,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x134,,RCNT0_L,16,rw,EXI,volatile,RE1,15,1,RE0,14,1,I,8,1,DIR_SO,7,1,DIR_SI,6,1,DIR_SD,5,1,DIR_SC,4,1,DATA_SO,3,1,DATA_SI,2,1,DATA_SD,1,1,DATA_SC,0,1,,,,,,,,,,,,,,,
|
||||||
|
0x136,,RCNT0_H,16,rw,EXI,volatile,DATA_R7,7,1,DATA_R6,6,1,DATA_R5,5,1,DATA_R4,4,1,DATA_R3,3,1,DATA_R2,2,1,DATA_R1,1,1,DATA_R0,0,1,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x138,,RCNT1,16,rw,EXI,volatile,DIR_RF,15,1,DIR_RE,14,1,DIR_RD,13,1,DIR_RC,12,1,DATA_RF,11,1,DATA_RE,10,1,DATA_RD,9,1,DATA_RC,8,1,DIR_RB,7,1,DIR_RA,6,1,DIR_R9,5,1,DIR_R8,4,1,DATA_RB,3,1,DATA_RA,2,1,DATA_R9,1,1,DATA_R8,0,1
|
||||||
|
#JOY,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x140,,JOYCNT,16,rw,EXI,volatile,MOD,7,1,I,6,1,SEND,2,1,RECV,1,1,RESET,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x150,,JOY_RECV,32,rw,EXI,volatile,RECVDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x154,,JOY_TRANS,32,rw,EXI,volatile,SENDDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x158,,JOY_STAT,16,rw,EXI,volatile,GEN,4,2,SSTATUS,3,1,RSTATUS,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
# ARM9 とのインターフェイス,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x180,,MAINPINTF,16,rw,PXI,volatile,I,14,1,IREQ,13,1,A7STATUS,8,4,A9STATUS,0,4,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x184,,MAINP_FIFO_CNT,16,rw,PXI,volatile,E,15,1,ERR,14,1,RECV_RI,10,1,RECV_FULL,9,1,RECV_EMP,8,1,SEND_CL,3,1,SEND_TI,2,1,SEND_FULL,1,1,SEND_EMP,0,1,,,,,,,,,
|
||||||
|
0x188,,SEND_FIFO,32,rw,PXI,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x100000,,RECV_FIFO,32,rw,PXI,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#メモリカード,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a0,,MCCNT0,16,rw,MI,volatile,E,15,1,I,14,1,SEL,13,1,BUSY,7,1,MODE,6,1,BAUDRATE,0,2,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a2,,MCD0,16,rw,MI,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x100010,,MCD1,32,rw,MI,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a4,,MCCNT1,32,rw,MI,volatile,START,31,1,WR,30,1,RESB,29,1,RTM,28,1,CT,27,1,PC,24,3,RDY,23,1,L2,16,6,SCR,15,1,SE,14,1,DS,13,1,L1,0,13
|
||||||
|
0x1a8,,MCCMD0,32,w,MI,volatile,CMD3,24,8,CMD2,16,8,CMD1,8,8,CMD0,0,8,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1ac,,MCCMD1,32,w,MI,volatile,CMD7,24,8,CMD6,16,8,CMD5,8,8,CMD4,0,8,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b0,,MCSCR0,32,w,MI,volatile,SCRA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b4,,MCSCR1,32,w,MI,volatile,SCRB,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b8,,MCSCR2,32,w,MI,volatile,SCRB,26,7,SCRA,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#メモリカードA(無印の別名定義),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a0,,MCCNT0_A,16,rw,MI,volatile,E,15,1,I,14,1,SEL,13,1,BUSY,7,1,MODE,6,1,BAUDRATE,0,2,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a2,,MCD0_A,16,rw,MI,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x100010,,MCD1_A,32,rw,MI,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a4,,MCCNT1_A,32,rw,MI,volatile,START,31,1,WR,30,1,RESB,29,1,RTM,28,1,CT,27,1,PC,24,3,RDY,23,1,L2,16,6,SCR,15,1,SE,14,1,DS,13,1,L1,0,13
|
||||||
|
0x1a8,,MCCMD0_A,32,w,MI,volatile,CMD3,24,8,CMD2,16,8,CMD1,8,8,CMD0,0,8,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1ac,,MCCMD1_A,32,w,MI,volatile,CMD7,24,8,CMD6,16,8,CMD5,8,8,CMD4,0,8,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b0,,MCSCR0_A,32,w,MI,volatile,SCRA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b4,,MCSCR1_A,32,w,MI,volatile,SCRB,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b8,,MCSCR2_A,32,w,MI,volatile,SCRB,26,7,SCRA,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#メモリカードB,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21a0,,MCCNT0_B,16,rw,MI,volatile,E,15,1,I,14,1,SEL,13,1,BUSY,7,1,MODE,6,1,BAUDRATE,0,2,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21a2,,MCD0_B,16,rw,MI,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x102010,,MCD1_B,32,rw,MI,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21a4,,MCCNT1_B,32,rw,MI,volatile,START,31,1,WR,30,1,RESB,29,1,RTM,28,1,CT,27,1,PC,24,3,RDY,23,1,L2,16,6,SCR,15,1,SE,14,1,DS,13,1,L1,0,13
|
||||||
|
0x21a8,,MCCMD0_B,32,w,MI,volatile,CMD3,24,8,CMD2,16,8,CMD1,8,8,CMD0,0,8,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21ac,,MCCMD1_B,32,w,MI,volatile,CMD7,24,8,CMD6,16,8,CMD5,8,8,CMD4,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21b0,,MCSCR0_B,32,w,MI,volatile,SCRA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21b4,,MCSCR1_B,32,w,MI,volatile,SCRB,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21b8,,MCSCR2_B,32,w,MI,volatile,SCRB,26,7,SCRA,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#SPI,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1c0,,SPICNT,16,rw,SPI,volatile,E,15,1,I,14,1,MODE,11,1,CLKMODE,10,1,SEL,8,2,BUSY,7,1,BAUDRATE,0,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1c2,,SPID,16,rw,SPI,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#外部メモリ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x204,,EXMEMCNT_L,16,rw,MI,volatile,EP,15,1,EMODE,14,1,ECE2,13,1,MP,11,1,MP_A,11,1,MP_B,10,1,CP,7,1,PHI,5,2,ROM2nd,4,1,ROM1st,2,2,RAM,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x206,,EXMEMCNT_H,16,rw,MI,volatile,PHI33M,7,1,WW1_2nd,5,1,WW1_1st,3,2,WW0_2nd,2,1,WW0_1st,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#割り込み,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x208,,IME,16,rw,OS,volatile,IME,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x210,,IE,32,rw,OS,volatile,ND3,31,1,ND2,30,1,ND1,29,1,ND0,28,1,MIB,27,1,MCB,26,1,DWE,25,1,WL,24,1,SPI,23,1,PM,22,1,DRE,21,1,MI,20,1,MIA,20,1,MC,19,1,MCA,19,1,IFN,18,1,IFE,17,1,A7,16,1,MCBDET,15,1,MCADET,14,1,I_D,13,1,K,12,1,D3,11,1,D2,10,1,D1,9,1,D0,8,1,SIO,7,1,T3,6,1,T2,5,1,T1,4,1,T0,3,1,VE,2,1,HB,1,1,VB,0,1
|
||||||
|
0x214,,IF,32,rw,OS,volatile,ND3,31,1,ND2,30,1,ND1,29,1,ND0,28,1,MIB,27,1,MCB,26,1,DWE,25,1,WL,24,1,SPI,23,1,PM,22,1,DRE,21,1,MI,20,1,MIA,20,1,MC,19,1,MCA,19,1,IFN,18,1,IFE,17,1,A7,16,1,MCBDET,15,1,MCADET,14,1,I_D,13,1,K,12,1,D3,11,1,D2,10,1,D1,9,1,D0,8,1,SIO,7,1,T3,6,1,T2,5,1,T1,4,1,T0,3,1,VE,2,1,HB,1,1,VB,0,1
|
||||||
|
0x218,,IE2,16,rw,OS,volatile,MIC,14,1,I2C,13,1,AES,12,1,SD2A,11,1,SD2,10,1,SD1A,9,1,SD1,8,1,GPIO33_3,7,1,GPIO33_2,6,1,GPIO33_1,5,1,GPIO33_0,4,1,GPIO18_2,2,1,GPIO18_1,1,1,GPIO18_0,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21c,,IF2,16,rw,OS,volatile,MIC,14,1,I2C,13,1,AES,12,1,SD2A,11,1,SD2,10,1,SD1A,9,1,SD1,8,1,GPIO33_3,7,1,GPIO33_2,6,1,GPIO33_1,5,1,GPIO33_0,4,1,GPIO18_2,2,1,GPIO18_1,1,1,GPIO18_0,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#本体内メモリ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x240,,WVRAMSTAT,16,rw,MI,volatile,WRAM_1,9,1,WRAM_0,8,1,VRAM_D,1,1,VRAM_C,0,1,,,,,,,,,,,,
|
||||||
|
#PAUSE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x300,,PAUSE,16,rw,OS,volatile,MOD,14,2,CHK,0,1,,,,,,,,,,,,,,,,,,
|
||||||
|
#パワーコントロール,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x304,,POWCNT,16,rw,SND,volatile,EWL,1,1,SPE,0,1,,,,,,,,,,,,,,,,,,
|
||||||
|
#サウンド,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x400,,SOUND0CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x400,,SOUND0CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x400,,SOUND0CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x402,,SOUND0CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x403,,SOUND0CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x404,,SOUND0SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x408,,SOUND0TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x40a,,SOUND0RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x40c,,SOUND0RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x410,,SOUND1CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x410,,SOUND1CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x410,,SOUND1CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x412,,SOUND1CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x413,,SOUND1CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x414,,SOUND1SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x418,,SOUND1TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x41a,,SOUND1RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x41c,,SOUND1RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x420,,SOUND2CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x420,,SOUND2CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x420,,SOUND2CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x422,,SOUND2CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x423,,SOUND2CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x424,,SOUND2SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x428,,SOUND2TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x42a,,SOUND2RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x42c,,SOUND2RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x430,,SOUND3CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x430,,SOUND3CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x430,,SOUND3CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x432,,SOUND3CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x433,,SOUND3CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x434,,SOUND3SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x438,,SOUND3TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x43a,,SOUND3RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x43c,,SOUND3RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x440,,SOUND4CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x440,,SOUND4CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x440,,SOUND4CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x442,,SOUND4CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x443,,SOUND4CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x444,,SOUND4SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x448,,SOUND4TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x44a,,SOUND4RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x44c,,SOUND4RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x450,,SOUND5CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x450,,SOUND5CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x450,,SOUND5CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x452,,SOUND5CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x453,,SOUND5CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x454,,SOUND5SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x458,,SOUND5TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x45a,,SOUND5RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x45c,,SOUND5RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x460,,SOUND6CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x460,,SOUND6CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x460,,SOUND6CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x462,,SOUND6CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x463,,SOUND6CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x464,,SOUND6SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x468,,SOUND6TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x46a,,SOUND6RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x46c,,SOUND6RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x470,,SOUND7CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x470,,SOUND7CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x470,,SOUND7CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x472,,SOUND7CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x473,,SOUND7CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x474,,SOUND7SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x478,,SOUND7TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x47a,,SOUND7RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x47c,,SOUND7RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x480,,SOUND8CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x480,,SOUND8CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x480,,SOUND8CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x482,,SOUND8CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x483,,SOUND8CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x484,,SOUND8SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x488,,SOUND8TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48a,,SOUND8RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48c,,SOUND8RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x490,,SOUND9CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x490,,SOUND9CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x490,,SOUND9CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x492,,SOUND9CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x493,,SOUND9CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x494,,SOUND9SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x498,,SOUND9TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x49a,,SOUND9RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x49c,,SOUND9RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4a0,,SOUND10CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4a0,,SOUND10CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4a0,,SOUND10CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4a2,,SOUND10CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4a3,,SOUND10CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x4a4,,SOUND10SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4a8,,SOUND10TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4aa,,SOUND10RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ac,,SOUND10RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b0,,SOUND11CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4b0,,SOUND11CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4b0,,SOUND11CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b2,,SOUND11CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b3,,SOUND11CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x4b4,,SOUND11SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b8,,SOUND11TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ba,,SOUND11RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4bc,,SOUND11RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4c0,,SOUND12CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4c0,,SOUND12CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4c0,,SOUND12CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4c2,,SOUND12CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4c3,,SOUND12CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x4c4,,SOUND12SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4c8,,SOUND12TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ca,,SOUND12RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4cc,,SOUND12RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4d0,,SOUND13CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4d0,,SOUND13CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4d0,,SOUND13CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4d2,,SOUND13CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4d3,,SOUND13CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x4d4,,SOUND13SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4d8,,SOUND13TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4da,,SOUND13RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4dc,,SOUND13RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4e0,,SOUND14CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4e0,,SOUND14CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4e0,,SOUND14CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4e2,,SOUND14CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4e3,,SOUND14CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x4e4,,SOUND14SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4e8,,SOUND14TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ea,,SOUND14RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ec,,SOUND14RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4f0,,SOUND15CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4f0,,SOUND15CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4f0,,SOUND15CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4f2,,SOUND15CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4f3,,SOUND15CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4f4,,SOUND15SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4f8,,SOUND15TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4fa,,SOUND15RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4fc,,SOUND15RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#サウンドマスターコントロール,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x500,,SOUNDCNT,16,rw,SND,volatile,E,15,1,MIX_CH3,13,1,MIX_CH1,12,1,ROUT,10,2,LOUT,8,2,VOLUME,0,7,,,,,,,,,,,,
|
||||||
|
0x501,,SOUNDCNT_8,8,rw,SND,volatile,E,7,1,MIX_CH3,5,1,MIX_CH1,4,1,ROUT,2,2,LOUT,0,2,,,,,,,,,,,,,,,
|
||||||
|
0x500,,SOUNDCNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x504,,SOUND_BIAS,16,rw,SND,volatile,BIAS,0,10,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#キャプチャ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x508,,SNDCAPCNT,16,rw,SND,volatile,CAP1_E,15,1,CAP1_FORMAT,11,1,CAP1_REPEAT,10,1,CAP1_IN,9,1,CAP1_OUT,8,1,CAP0_E,7,1,CAP0_FORMAT,3,1,CAP0_REPEAT,2,1,CAP0_IN,1,1,CAP0_OUT,0,1
|
||||||
|
0x508,,SNDCAP0CNT,8,rw,SND,volatile,E,7,1,FORMAT,3,1,REPEAT,2,1,IN,1,1,OUT,0,1,,,,,,,,,,,,,,,
|
||||||
|
0x509,,SNDCAP1CNT,8,rw,SND,volatile,E,7,1,FORMAT,3,1,REPEAT,2,1,IN,1,1,OUT,0,1,,,,,,,,,,,,,,,
|
||||||
|
0x510,,SNDCAP0DAD,32,w,SND,volatile,DEST,0,27,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x514,,SNDCAP0LEN,16,rw,SND,volatile,LEN,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x518,,SNDCAP1DAD,32,w,SND,volatile,DEST,0,27,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x51c,,SNDCAP1LEN,16,rw,SND,volatile,LEN,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#新規コンフィグ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#0x4000のSCFG_ROMは直後に分けて二重定義しています。,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4000,,ROM,32,rw,SCFG,volatile,ROMWE,16,1,ARM7FUSE,10,1,ARM7RSEL,9,1,ARM7SEL,8,1,ARM9RSEL,1,1,ARM9SEL,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4000,,A9ROM,8,rw,SCFG,volatile,RSEL,1,1,SEC,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4001,,A7ROM,8,rw,SCFG,volatile,FUSE,2,1,RSEL,1,1,SEC,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4002,,ROMWE,16,rw,SCFG,volatile,WE,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4004,,CLK,16,rw,SCFG,volatile,SNDMCLK,8,1,WRAMHCLK,7,1,AESHCLK,2,1,SD2HCLK,1,1,SD1HCLK,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4006,,JTAG,16,rw,SCFG,volatile,DSPJE,8,1,CPUJE,1,1,ARM7SEL,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4008,,EXT,32,rw,SCFG,volatile,CFG,31,1,PUENABLE,28,1,SD20,28,1,NEWB_ACCESS_E,16,10,WRAM,25,1,MC_B,24,1,GPIO,23,1,I2C,22,1,I2S,21,1,MIC,20,1,SD2,19,1,SD1,18,1,AES,17,1,DMAC,16,1,NITROB_EX_E,8,8,PSRAM,14,2,VRAM,13,1,LCDC,12,1,SIO,11,1,DSEL,10,1,SPI,9,1,INTC,8,1,NITROB_MOD_E,0,8,MC,7,1,SND,2,1,SDMA,1,1,DMA,0,1
|
||||||
|
0x4010,,MC1,32,rw,MI,volatile,CC,16,16,SWP,15,1,SL2_STATUS,4,4,SL2_M1,7,1,SL2_M0,6,1,SL2_CDET,4,1,SL1_STATUS,0,4,SL1_M1,3,1,SL1_M0,2,1,SL1_CDET,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4010,,MC,16,rw,MI,volatile,SWP,15,1,SL2_MODE,6,2,SL2_CDET,4,1,SL1_MODE,2,2,SL1_CDET,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4012,,MCCHAT,16,rw,MI,volatile,CC,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4014,,MC2,16,rw,MI,volatile,CA,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4020,,WL,16,rw,SCFG,volatile,OFFB,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4024,,OP,16,r,SCFG,volatile,OP1,1,1,OP0,0,1,OPT,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#共有メモリバンク制御,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4040,,MBK1,32,r,MI,volatile,WA3_E,31,1,WA3_OF,26,2,WA3_M,24,1,WA2_E,23,1,WA2_OF,18,2,WA2_M,16,1,WA1_E,15,1,WA1_OF,10,2,WA1_M,8,1,WA0_E,7,1,WA0_OF,2,2,WA0_M,0,1
|
||||||
|
0x4040,,MBK_A0,8,r,MI,volatile,E,7,1,OF,2,2,M,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4041,,MBK_A1,8,r,MI,volatile,E,7,1,OF,2,2,M,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4042,,MBK_A2,8,r,MI,volatile,E,7,1,OF,2,2,M,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4043,,MBK_A3,8,r,MI,volatile,E,7,1,OF,2,2,M,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4044,,MBK2,32,r,MI,volatile,WB3_E,31,1,WB3_OF,26,3,WB3_M,24,2,WB2_E,23,1,WB2_OF,18,3,WB2_M,16,2,WB1_E,15,1,WB1_OF,10,3,WB1_M,8,2,WB0_E,7,1,WB0_OF,2,3,WB0_M,0,2
|
||||||
|
0x4044,,MBK_B0,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4045,,MBK_B1,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4046,,MBK_B2,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4047,,MBK_B3,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4048,,MBK3,32,r,MI,volatile,WB7_E,31,1,WB7_OF,26,3,WB7_M,24,2,WB6_E,23,1,WB6_OF,18,3,WB6_M,16,2,WB5_E,15,1,WB5_OF,10,3,WB5_M,8,2,WB4_E,7,1,WB4_OF,2,3,WB4_M,0,2
|
||||||
|
0x4048,,MBK_B4,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4049,,MBK_B5,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404a,,MBK_B6,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404b,,MBK_B7,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404c,,MBK4,32,r,MI,volatile,WC3_E,31,1,WC3_OF,26,3,WC3_M,24,2,WC2_E,23,1,WC2_OF,18,3,WC2_M,16,2,WC1_E,15,1,WC1_OF,10,3,WC1_M,8,2,WC0_E,7,1,WC0_OF,2,3,WC0_M,0,2
|
||||||
|
0x404c,,MBK_C0,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404d,,MBK_C1,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404e,,MBK_C2,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404f,,MBK_C3,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4050,,MBK5,32,r,MI,volatile,WC7_E,31,1,WC7_OF,26,3,WC7_M,24,2,WC6_E,23,1,WC6_OF,18,3,WC6_M,16,2,WC5_E,15,1,WC5_OF,10,3,WC5_M,8,2,WC4_E,7,1,WC4_OF,2,3,WC4_M,0,2
|
||||||
|
0x4050,,MBK_C4,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4051,,MBK_C5,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4052,,MBK_C6,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4053,,MBK_C7,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4054,,MBK6,32,rw,MI,volatile,WA_EADDR,20,9,WA_ISIZE,12,2,WA_SADDR,4,8,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4058,,MBK7,32,rw,MI,volatile,WB_EADDR,19,10,WB_ISIZE,12,2,WB_SADDR,3,9,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x405c,,MBK8,32,rw,MI,volatile,WC_EADDR,19,10,WC_ISIZE,12,2,WC_SADDR,3,9,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4060,,MBK9,32,rw,MI,volatile,WC_LOCKST,16,8,WB_LOCKST,8,8,WA_LOCKST,0,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4060,,MBK_A_LOCK,8,rw,MI,volatile,A3,3,1,A2,2,1,A1,1,1,A0,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4061,,MBK_B_LOCK,8,rw,MI,volatile,B7,7,1,B6,6,1,B5,5,1,B4,4,1,B3,3,1,B2,2,1,B1,1,1,B0,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4062,,MBK_C_LOCK,8,rw,MI,volatile,C7,7,1,C6,6,1,C5,5,1,C4,4,1,C3,3,1,C2,2,1,C1,1,1,C0,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#AES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4400,,AES_CNT,32,rw,AES,volatile,E,31,1,I,30,1,MODE,28,2,KEY,24,4,SEL1,27,1,SEL0,26,1,BUSY,25,1,SET,24,1,CCM_DEC,20,2,VALID,21,1,MSEL,20,1,ADE,19,1,MAC_LEN,16,3,OFIFO_DREQ,14,2,IFIFO_DREQ,12,2,FIFO_CLR,10,2,OFIFO_CLR,11,1,IFIFO_CLR,10,1,OFIFO_CNT,5,5,IFIFO_CNT,0,5
|
||||||
|
0x4404,,AES_LEN,32,w,AES,volatile,PL,16,16,AL,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4408,,AES_IFIFO,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x440c,,AES_OFIFO,32,r,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4420,,AES_NONCE0,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4424,,AES_NONCE1,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4428,,AES_NONCE2,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x442c,,AES_NONCE3,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4430,,AES_MAC0,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4434,,AES_MAC1,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4438,,AES_MAC2,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x443c,,AES_MAC3,32,w,AES,volatile
|
||||||
|
0x4440,,AES_KEY_A0,32,w,AES,volatile
|
||||||
|
0x4444,,AES_KEY_A1,32,w,AES,volatile
|
||||||
|
0x4448,,AES_KEY_A2,32,w,AES,volatile
|
||||||
|
0x444c,,AES_KEY_A3,32,w,AES,volatile
|
||||||
|
0x4450,,AES_ID_A0,32,w,AES,volatile
|
||||||
|
0x4454,,AES_ID_A1,32,w,AES,volatile
|
||||||
|
0x4458,,AES_ID_A2,32,w,AES,volatile
|
||||||
|
0x445c,,AES_ID_A3,32,w,AES,volatile
|
||||||
|
0x4460,,AES_SEED_A0,32,w,AES,volatile
|
||||||
|
0x4464,,AES_SEED_A1,32,w,AES,volatile
|
||||||
|
0x4468,,AES_SEED_A2,32,w,AES,volatile
|
||||||
|
0x446c,,AES_SEED_A3,32,w,AES,volatile
|
||||||
|
0x4470,,AES_KEY_B0,32,w,AES,volatile
|
||||||
|
0x4474,,AES_KEY_B1,32,w,AES,volatile
|
||||||
|
0x4478,,AES_KEY_B2,32,w,AES,volatile
|
||||||
|
0x447c,,AES_KEY_B3,32,w,AES,volatile
|
||||||
|
0x4480,,AES_ID_B0,32,w,AES,volatile
|
||||||
|
0x4484,,AES_ID_B1,32,w,AES,volatile
|
||||||
|
0x4488,,AES_ID_B2,32,w,AES,volatile
|
||||||
|
0x448c,,AES_ID_B3,32,w,AES,volatile
|
||||||
|
0x4490,,AES_SEED_B0,32,w,AES,volatile
|
||||||
|
0x4494,,AES_SEED_B1,32,w,AES,volatile
|
||||||
|
0x4498,,AES_SEED_B2,32,w,AES,volatile
|
||||||
|
0x449c,,AES_SEED_B3,32,w,AES,volatile
|
||||||
|
0x44a0,,AES_KEY_C0,32,w,AES,volatile
|
||||||
|
0x44a4,,AES_KEY_C1,32,w,AES,volatile
|
||||||
|
0x44a8,,AES_KEY_C2,32,w,AES,volatile
|
||||||
|
0x44ac,,AES_KEY_C3,32,w,AES,volatile
|
||||||
|
0x44b0,,AES_ID_C0,32,w,AES,volatile
|
||||||
|
0x44b4,,AES_ID_C1,32,w,AES,volatile
|
||||||
|
0x44b8,,AES_ID_C2,32,w,AES,volatile
|
||||||
|
0x44bc,,AES_ID_C3,32,w,AES,volatile
|
||||||
|
0x44c0,,AES_SEED_C0,32,w,AES,volatile
|
||||||
|
0x44c4,,AES_SEED_C1,32,w,AES,volatile
|
||||||
|
0x44c8,,AES_SEED_C2,32,w,AES,volatile
|
||||||
|
0x44cc,,AES_SEED_C3,32,w,AES,volatile
|
||||||
|
0x44d0,,AES_KEY_D0,32,w,AES,volatile
|
||||||
|
0x44d4,,AES_KEY_D1,32,w,AES,volatile
|
||||||
|
0x44d8,,AES_KEY_D2,32,w,AES,volatile
|
||||||
|
0x44dc,,AES_KEY_D3,32,w,AES,volatile
|
||||||
|
0x44e0,,AES_ID_D0,32,w,AES,volatile
|
||||||
|
0x44e4,,AES_ID_D1,32,w,AES,volatile
|
||||||
|
0x44e8,,AES_ID_D2,32,w,AES,volatile
|
||||||
|
0x44ec,,AES_ID_D3,32,w,AES,volatile
|
||||||
|
0x44f0,,AES_SEED_D0,32,w,AES,volatile
|
||||||
|
0x44f4,,AES_SEED_D1,32,w,AES,volatile
|
||||||
|
0x44f8,,AES_SEED_D2,32,w,AES,volatile
|
||||||
|
0x44fc,,AES_SEED_D3,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#I2C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4501,,I2C_CNT,8,rw,OS,volatile,E,7,1,I,6,1,RW,5,1,ACK,4,1,CNT,3,3,NT,2,1,START,1,1,STOP,0,1,,,,,,,,,,,,
|
||||||
|
0x4500,,I2C_DAT,8,rw,OS,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#新規マイク,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4600,,MIC_CNT,16,rw,OS,volatile,E,15,1,I,13,2,CL,12,1,STATUS,8,4,ERR,11,1,FULL,10,1,HALF,9,1,EMP,8,1,CONTROL,0,4,F,2,2,R,1,1,L,0,1
|
||||||
|
0x4604,,MIC_DAT,32,r,OS,volatile,SECOND,16,16,FIRST,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#新規サウンド,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4700,,SMX_CNT,16,rw,SND,volatile,E,15,1,MUTE,14,1,FSEL,13,1,MIX_RATE,0,4,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#SDインターフェース1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4800,,SD1_CMD,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4802,,SD1_PORTSEL,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4804,,SD1_ARG0,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4806,,SD1_ARG1,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4808,,SD1_STOP,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x480a,,SD1_SECCNT,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x480c,,SD1_RSP0,16,r,SD,volatile
|
||||||
|
0x480e,,SD1_RSP1,16,r,SD,volatile
|
||||||
|
0x4810,,SD1_RSP2,16,r,SD,volatile
|
||||||
|
0x4812,,SD1_RSP3,16,r,SD,volatile
|
||||||
|
0x4814,,SD1_RSP4,16,r,SD,volatile
|
||||||
|
0x4816,,SD1_RSP5,16,r,SD,volatile
|
||||||
|
0x4818,,SD1_RSP6,16,r,SD,volatile
|
||||||
|
0x481a,,SD1_RSP7,16,r,SD,volatile
|
||||||
|
0x481c,,SD1_INFO1,16,rw,SD,volatile
|
||||||
|
0x481e,,SD1_INFO2,16,rw,SD,volatile
|
||||||
|
0x4820,,SD1_INFO1_MASK,16,rw,SD,volatile
|
||||||
|
0x4822,,SD1_INFO2_MASK,16,rw,SD,volatile
|
||||||
|
0x4824,,SD1_CLK_CTRL,16,rw,SD,volatile
|
||||||
|
0x4826,,SD1_SIZE,16,rw,SD,volatile
|
||||||
|
0x4828,,SD1_OPTION,16,rw,SD,volatile
|
||||||
|
0x482a,,SD1_ERR_STS1,16,r,SD,volatile
|
||||||
|
0x482c,,SD1_ERR_STS2,16,r,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x482e,,SD1_BUF0,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4830,,SDIO1_MODE,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4834,,SDIO1_INFO1,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4838,,SDIO1_INF1_MASK,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48d8,,SD1_CC_EXT_MODE,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48e0,,SD1_SOFT_RST,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48e2,,SD1_VERSION,16,r,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48f2,,SD1_PWR,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48f4,,SD1_EXT_SDIO,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48f6,,SD1_EXT_WP,16,r,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48f8,,SD1_EXT_CD,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48fa,,SD1_EXT_CD_DAT3,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48fc,,SD1_EXT_CD_MASK,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48fe,,SD1_EXT_CD_DAT3_MASK,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4900,,SD1_CNT,16,rw,SD,volatile,FEIE,12,1,FFIE,11,1,FCLR,10,1,NEMP,9,1,FULL,8,1,FIFO,1,1
|
||||||
|
0x4904,,SD1_FDS,16,rw,SD,volatile,SIZE,0,10
|
||||||
|
0x4908,,SD1_FSC,16,rw,SD,volatile,COUNT,0,16
|
||||||
|
0x490c,,SD1_FI,32,rw,SD,volatile,,,
|
||||||
|
#SDインターフェース2,,,,,,,,,
|
||||||
|
0x4a00,,SD2_CMD,16,rw,SD,volatile,,,
|
||||||
|
0x4a02,,SD2_PORTSEL,16,rw,SD,volatile,,,
|
||||||
|
0x4a04,,SD2_ARG0,16,rw,SD,volatile,,,
|
||||||
|
0x4a06,,SD2_ARG1,16,rw,SD,volatile,,,
|
||||||
|
0x4a08,,SD2_STOP,16,rw,SD,volatile,,,
|
||||||
|
0x4a0a,,SD2_SECCNT,16,rw,SD,volatile,,,
|
||||||
|
0x4a0c,,SD2_RSP0,16,r,SD,volatile,,,
|
||||||
|
0x4a0e,,SD2_RSP1,16,r,SD,volatile,,,
|
||||||
|
0x4a10,,SD2_RSP2,16,r,SD,volatile,,,
|
||||||
|
0x4a12,,SD2_RSP3,16,r,SD,volatile,,,
|
||||||
|
0x4a14,,SD2_RSP4,16,r,SD,volatile,,,
|
||||||
|
0x4a16,,SD2_RSP5,16,r,SD,volatile,,,
|
||||||
|
0x4a18,,SD2_RSP6,16,r,SD,volatile
|
||||||
|
0x4a1a,,SD2_RSP7,16,r,SD,volatile
|
||||||
|
0x4a1c,,SD2_INFO1,16,rw,SD,volatile
|
||||||
|
0x4a1e,,SD2_INFO2,16,rw,SD,volatile
|
||||||
|
0x4a20,,SD2_INFO1_MASK,16,rw,SD,volatile
|
||||||
|
0x4a22,,SD2_INFO2_MASK,16,rw,SD,volatile
|
||||||
|
0x4a24,,SD2_CLK_CTRL,16,rw,SD,volatile
|
||||||
|
0x4a26,,SD2_SIZE,16,rw,SD,volatile
|
||||||
|
0x4a28,,SD2_OPTION,16,rw,SD,volatile
|
||||||
|
0x4a2a,,SD2_ERR_STS1,16,r,SD,volatile
|
||||||
|
0x4a2c,,SD2_ERR_STS2,16,r,SD,volatile
|
||||||
|
0x4a2e,,SD2_BUF0,16,rw,SD,volatile
|
||||||
|
0x4a30,,SDIO2_MODE,16,rw,SD,volatile
|
||||||
|
0x4a34,,SDIO2_INFO1,16,rw,SD,volatile
|
||||||
|
0x4a38,,SDIO2_INF1_MASK,16,rw,SD,volatile
|
||||||
|
0x4ad8,,SD2_CC_EXT_MODE,16,rw,SD,volatile
|
||||||
|
0x4ae0,,SD2_SOFT_RST,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ae2,,SD2_VERSION,16,r,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4af2,,DS2_PWR,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4af4,,SD2_EXT_SDIO,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4af6,,SD2_EXT_WP,16,r,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4af8,,SD2_EXT_CD,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4afa,,SD2_EXT_CD_DAT3,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4afc,,SD2_EXT_CD_MASK,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4afe,,SD2_EXT_CD_DAT3_MASK,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b00,,SD2_CNT,16,rw,SD,volatile,FEIE,12,1,FFIE,11,1,FCLR,10,1,NEMP,9,1,FULL,8,1,FIFO,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b04,,SD2_FDS,16,rw,SD,volatile,SIZE,0,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b08,,SD2_FSC,16,rw,SD,volatile,COUNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b0c,,SD2_FI,32,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#GPIO,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4c00,,GPIO2_CNT,32,rw,OS,volatile,IE7,31,1,IE6,30,1,IE5,29,1,IE4,28,1,IE2,26,1,IE1,25,1,IE0,24,1,IM7,23,1,IM6,22,1,IM5,21,1,IM4,20,1,IM2,18,1,IM1,17,1,IM0,16,1,DR7,15,1,DR6,14,1,DR5,13,1,DR4,12,1,DR2,10,1,DR1,9,1,DR0,8,1,R7,7,1,R6,6,1,R5,5,1,R4,4,1,R2,2,1,R1,1,1,R0,0,1
|
||||||
|
0x4c04,,GPIO2_CNT2,16,rw,OS,volatile,VO,8,1,WO,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#FuseROM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4d00,,CHIP_ID0,32,r,OS,volatile,WAFER2,28,4,WAFER1,24,4,X3,20,4,X2,16,4,X1,12,4,Y3,8,4,Y2,4,4,Y1,0,4
|
||||||
|
0x4d04,,CHIP_ID1,32,r,OS,volatile,FAB2,25,4,FAB1,20,5,LOT5,16,4,LOT4,12,4,LOT3,8,4,LOT2,4,4,LOT1,0,4,,,
|
||||||
|
0x4d08,,ID_VERIFY,16,r,OS,volatile,ERR,0,1,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
Can't render this file because it has a wrong number of fields in line 17.
|
BIN
trunk/build/buildsetup/ioreg/io_register_list.xls
Normal file
BIN
trunk/build/buildsetup/ioreg/io_register_list.xls
Normal file
Binary file not shown.
63
trunk/build/buildsetup/ioreg_sp/Makefile
Normal file
63
trunk/build/buildsetup/ioreg_sp/Makefile
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrBrom - buildsetup - create register map
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords:$
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
WORKDIR = ctr/hw/ARM9
|
||||||
|
TARGET = $(WORKDIR)/ioreg.h
|
||||||
|
|
||||||
|
CSVSRC = io_register_list.csv
|
||||||
|
SCRIPT = ./header_generator_ioreg_sp.pl
|
||||||
|
|
||||||
|
NEWDIRS = $(WORKDIR)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
TARGET_PREFIX = $(subst .h,,$(TARGET))
|
||||||
|
TARGET_SUBFILES = $(TARGET_PREFIX)_*.h
|
||||||
|
TARGET_TMPCSV = $(TARGET_PREFIX).csv
|
||||||
|
|
||||||
|
# build
|
||||||
|
TARGETS = $(TARGET) $(TARGET_SUBFILES)
|
||||||
|
|
||||||
|
# install
|
||||||
|
INSTALL_TARGETS = $(TARGETS)
|
||||||
|
INSTALL_DIR = $(CTR_INSTALL_INCDIR)/$(WORKDIR)
|
||||||
|
override DO_INSTALL = $(DO_INSTALL_WILDCARD)
|
||||||
|
|
||||||
|
# clean/clobber
|
||||||
|
LDIRT_CLEAN = $(TARGET_TMPCSV) $(TARGETS) \
|
||||||
|
$(firstword $(subst /, ,$(WORKDIR)))
|
||||||
|
LDIRT_CLOBBER =
|
||||||
|
|
||||||
|
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
do-build: $(TARGET)
|
||||||
|
|
||||||
|
|
||||||
|
$(TARGET): $(CSVSRC) $(SCRIPT)
|
||||||
|
$(CP) $(CSVSRC) $(TARGET_TMPCSV)
|
||||||
|
$(PERL) $(SCRIPT) $(TARGET_TMPCSV)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#----- End of Makefile -----
|
||||||
692
trunk/build/buildsetup/ioreg_sp/header_generator_ioreg_sp.pl
Normal file
692
trunk/build/buildsetup/ioreg_sp/header_generator_ioreg_sp.pl
Normal file
@ -0,0 +1,692 @@
|
|||||||
|
#!/usr/bin/perl -s
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# Project: CtrSDK - header generator -
|
||||||
|
# File: header_generator_ioreg.pl
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# ヘッダファイルのマクロ生成スクリプト
|
||||||
|
#
|
||||||
|
# 使用法:
|
||||||
|
# conv.pl [-v] [-dup] filename1.csv [filename2.csv ...]
|
||||||
|
#
|
||||||
|
# CSVファイルからマクロの定義が書かれているヘッダファイル
|
||||||
|
# filename1.h (filename2.h...)を出力します。
|
||||||
|
#
|
||||||
|
# CSVファイルのフォーマットについては(SDKRoot)/docs/private/how-to-make-headers.txt
|
||||||
|
# をご覧下さい。
|
||||||
|
#
|
||||||
|
|
||||||
|
use Text::ParseWords;
|
||||||
|
|
||||||
|
#
|
||||||
|
# グローバル変数
|
||||||
|
#
|
||||||
|
$line_no = 0;
|
||||||
|
%name_hash = ();
|
||||||
|
%index_name_hash = ();
|
||||||
|
@hash_array = ();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# verbose出力
|
||||||
|
#
|
||||||
|
sub verbose {
|
||||||
|
if ($verbose_mode == 1) {
|
||||||
|
print STDERR @_;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# フィールドの最初と最後の空白を取り除く
|
||||||
|
#
|
||||||
|
sub trim {
|
||||||
|
my @out = @_;
|
||||||
|
for (@out) {
|
||||||
|
s/^\s+//;
|
||||||
|
s/\s+$//;
|
||||||
|
}
|
||||||
|
return @out;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# CSV解析ルーチン
|
||||||
|
#
|
||||||
|
sub parse_csv {
|
||||||
|
my @fields = quotewords(",", 0, shift @_);
|
||||||
|
@fields = trim(@fields);
|
||||||
|
|
||||||
|
my $tmp;
|
||||||
|
# 行末の,,,,を取り除く
|
||||||
|
while(defined($tmp = pop @fields) && $tmp =~ /^$/ ) {
|
||||||
|
;
|
||||||
|
}
|
||||||
|
push @fields, $tmp;
|
||||||
|
|
||||||
|
return @fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# プリプロセッサ
|
||||||
|
#
|
||||||
|
sub preprocess {
|
||||||
|
return parse_csv(shift @_);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# マクロ名の重複チェック
|
||||||
|
#
|
||||||
|
|
||||||
|
sub check_macro_duplicate {
|
||||||
|
my $name = shift @_;
|
||||||
|
my $condition = shift @_;
|
||||||
|
my $no = shift @_;
|
||||||
|
|
||||||
|
if ($condition ne "") {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists $name_hash{$name}) {
|
||||||
|
if ($duplicate_ok == 1) {
|
||||||
|
print STDERR "WARNING: generating duplicate macro \'$name\' in line $no\n";
|
||||||
|
} else {
|
||||||
|
die "ERROR: duplicate macro \'$name\' in line $no";
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
$name_hash{$name} = 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# 解析
|
||||||
|
#
|
||||||
|
sub analyze {
|
||||||
|
my @fields = @_;
|
||||||
|
|
||||||
|
my $fields;
|
||||||
|
my $tmphash;
|
||||||
|
my $address, $condition, $name, $bitwidth, $rw, $category, $volatile;
|
||||||
|
$tmphash = {};
|
||||||
|
|
||||||
|
|
||||||
|
$address = shift @fields;
|
||||||
|
die "ERROR: Illegal address \'$address\' in line $line_no\n" unless ($address =~ /^0x[0-9A-Fa-f]+$/);
|
||||||
|
|
||||||
|
|
||||||
|
$condition = shift @fields;
|
||||||
|
die "ERROR: Illegal condition name \'$condition\' in line $line_no\n" unless ($address =~ /^[A-Za-z0-9_()&|!]+$/);
|
||||||
|
|
||||||
|
|
||||||
|
$name = shift @fields;
|
||||||
|
die "ERROR: Illegal macro name \'$name\' in line $line_no\n" unless ($name =~ /^[A-Za-z0-9_]+$/);
|
||||||
|
check_macro_duplicate($name, $condition, $line_no);
|
||||||
|
|
||||||
|
|
||||||
|
$bitwidth = shift @fields;
|
||||||
|
if ($bitwidth eq "8") {
|
||||||
|
$mask_format = "0x%02x";
|
||||||
|
} elsif ($bitwidth eq "16") {
|
||||||
|
$mask_format = "0x%04x";
|
||||||
|
} elsif ($bitwidth eq "32") {
|
||||||
|
$mask_format = "0x%08x";
|
||||||
|
} elsif ($bitwidth eq "64") {
|
||||||
|
$mask_format = "0x%016x";
|
||||||
|
} else {
|
||||||
|
die "ERROR: Illegal bitwidth \'$bitwidth\' in line $line_no\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$rw = shift @fields;
|
||||||
|
$category = shift @fields;
|
||||||
|
$volatile = shift @fields;
|
||||||
|
|
||||||
|
$tmphash->{"condition"} = $condition;
|
||||||
|
$tmphash->{"name"} = $name;
|
||||||
|
$tmphash->{"offset"} = $address;
|
||||||
|
$tmphash->{"bitwidth"} = $bitwidth;
|
||||||
|
$tmphash->{"rw"} = $rw;
|
||||||
|
if ($rw eq "r") {
|
||||||
|
$tmphash->{"const"} = "const";
|
||||||
|
} else {
|
||||||
|
$tmphash->{"const"} = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmphash->{"category"} = $category;
|
||||||
|
|
||||||
|
if ($volatile eq "volatile") {
|
||||||
|
$tmphash->{"volatile"} = "v";
|
||||||
|
} elsif ($volatile eq "permanent") {
|
||||||
|
$tmphash->{"volatile"} = "";
|
||||||
|
} else {
|
||||||
|
die "ERROR: specify volatile/permanent in line $line_no\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
@{$tmphash->{"option"}} = splice @fields, 0;
|
||||||
|
|
||||||
|
$tmphash->{"mask_format"} = $mask_format;
|
||||||
|
$tmphash->{"line_no"} = $line_no;
|
||||||
|
return $tmphash;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# 配列へ要素を追加
|
||||||
|
# 重複があれば線形リストとしてつなげる
|
||||||
|
#
|
||||||
|
sub push_fields {
|
||||||
|
my $hash = shift @_;
|
||||||
|
my $array_num;
|
||||||
|
my $tmp_hash;
|
||||||
|
|
||||||
|
# 既に同じ名前のものが登録されている場合はハッシュテーブルへ線形リストとして追加
|
||||||
|
if ( exists($index_name_hash{ $hash->{"name"} }) ) {
|
||||||
|
$array_num = $index_name_hash{ $hash->{"name"} }; # 対応する配列のインデックスを取得
|
||||||
|
# (condition eq "")のものが線形リストの最後になるよう追加
|
||||||
|
$tmp_hash = $hash_array[ $array_num ];
|
||||||
|
if ( $tmp_hash->{"condition"} eq "") {
|
||||||
|
$hash->{"next"} = $tmp_hash;
|
||||||
|
$hash_array[ $array_num] = $hash;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
while ( exists($tmp_hash->{"next"}) ) {
|
||||||
|
if ($tmp_hash->{"next"}->{"condition"} eq "") {
|
||||||
|
$hash->{"next"} = $tmp_hash->{"next"};
|
||||||
|
$tmp_hash->{"next"} = $hash;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$tmp_hash = $tmp_hash->{"next"};
|
||||||
|
}
|
||||||
|
$tmp_hash->{"next"} = $hash;
|
||||||
|
} else {
|
||||||
|
$array_num = @hash_array;
|
||||||
|
$index_name_hash{ $hash->{"name"} } = $array_num;
|
||||||
|
push @hash_array, $hash;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# カテゴリ情報収集
|
||||||
|
#
|
||||||
|
sub collect_category {
|
||||||
|
my %cat_hash;
|
||||||
|
my $hash;
|
||||||
|
foreach $hash (@hash_array) {
|
||||||
|
$cat_hash{$hash->{"category"}} = 1;
|
||||||
|
}
|
||||||
|
return (keys %cat_hash);
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# 条件のマージ
|
||||||
|
#
|
||||||
|
sub merge_condition {
|
||||||
|
my $cond1 = shift @_;
|
||||||
|
my $cond2 = shift @_;
|
||||||
|
my $name = shift @_;
|
||||||
|
|
||||||
|
my $merged_cond;
|
||||||
|
|
||||||
|
if ( $cond1 eq "" || $cond2 eq "") {
|
||||||
|
$merged_cond = "";
|
||||||
|
return $merged_cond;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( "$cond1" eq "!$cond2" || "!$cond1" eq "$cond2" ) {
|
||||||
|
$merge_cond = "";
|
||||||
|
} else {
|
||||||
|
$merged_cond = "$cond1 || $cond2";
|
||||||
|
}
|
||||||
|
|
||||||
|
return $merged_cond;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# レジスタのオフセット定義取得
|
||||||
|
#
|
||||||
|
sub cull_register_offset_def {
|
||||||
|
my $hash = shift @_;
|
||||||
|
|
||||||
|
my $offset_name;
|
||||||
|
my @tmp_hash;
|
||||||
|
my @def_array = ();
|
||||||
|
my $i, $k;
|
||||||
|
|
||||||
|
$i = 0;
|
||||||
|
while ( 1 ) {
|
||||||
|
|
||||||
|
{
|
||||||
|
$offset_name = "REG_$hash->{'name'}_OFFSET";
|
||||||
|
$hash->{"offset_def"} = $offset_name;
|
||||||
|
$hash->{"address_def"} = "REG_$hash->{'name'}_ADDR";
|
||||||
|
# この変数の定義は後で使用するので残しておく
|
||||||
|
$hash->{"valname_def"} = "REG_$hash->{'category'}_$hash->{'name'}";
|
||||||
|
$hash->{"valname_def_new"} = "reg_$hash->{'category'}_$hash->{'name'}";
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmp_hash[$i]->{"condition"} = $hash->{"condition"};
|
||||||
|
$tmp_hash[$i]->{"name"} = $hash->{"name"};
|
||||||
|
$tmp_hash[$i]->{"offset_def"} = $hash->{"offset_def"};
|
||||||
|
$tmp_hash[$i]->{"offset"} = $hash->{"offset"};
|
||||||
|
$tmp_hash[$i]->{"address_def"} = $hash->{"address_def"};
|
||||||
|
$tmp_hash[$i]->{"valname_def"} = $hash->{"valname_def"};
|
||||||
|
$tmp_hash[$i]->{"valname_def_new"} = $hash->{"valname_def_new"};
|
||||||
|
|
||||||
|
my $val = "(*($hash->{'const'} REGType$hash->{'bitwidth'}$hash->{'volatile'} *) $hash->{'address_def'})";
|
||||||
|
|
||||||
|
$tmp_hash[$i]->{"reg_type"} = $val;
|
||||||
|
|
||||||
|
my $find_flg = 0;
|
||||||
|
|
||||||
|
#reg_typeとoffsetが同じならconditionをマージ
|
||||||
|
foreach $k (@def_array) {
|
||||||
|
|
||||||
|
if ( $k->{'condition'} eq "" ) {
|
||||||
|
# 条件無しのフィールドは最後に来るはずで、先に既に存在する場合は条件設定がおかしい
|
||||||
|
print STDERR "WARNING: illegal condition in \'$k->{'name'}\'\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ($k->{"reg_type"} eq $tmp_hash[$i]->{"reg_type"}) && ($k->{"offset"} eq $tmp_hash[$i]->{"offset"}) )
|
||||||
|
{
|
||||||
|
$k->{'condition'} = merge_condition( $k->{'condition'}, $tmp_hash[$i]->{'condition'}, $k->{'name'} );
|
||||||
|
$find_flg = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($find_flg == 0) {
|
||||||
|
push @def_array, $tmp_hash[$i];
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
# リストにまだ残っているなら次を処理
|
||||||
|
if (exists($hash->{"next"})) {
|
||||||
|
$hash = $hash->{"next"};
|
||||||
|
} else {
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return @def_array;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# アウトプット
|
||||||
|
#
|
||||||
|
sub output {
|
||||||
|
my $output_filename = shift @_;
|
||||||
|
my $category = shift @_;
|
||||||
|
|
||||||
|
# 出力ファイルのオープン
|
||||||
|
|
||||||
|
open OUT, ">$output_filename" or die "ERROR: Cannot create file \'$output_filename\'\n";
|
||||||
|
my $handle = OUT;
|
||||||
|
# my $handle = STDOUT;
|
||||||
|
|
||||||
|
my $include_guard = $output_filename;
|
||||||
|
$include_guard =~ s/[.\/]/_/g;
|
||||||
|
$include_guard = uc($include_guard). "_";
|
||||||
|
|
||||||
|
#
|
||||||
|
# 出力
|
||||||
|
#
|
||||||
|
print $handle <<ENDDOC;
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: CtrSDK - IO Register List -
|
||||||
|
File: $output_filename
|
||||||
|
|
||||||
|
Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
|
||||||
|
These coded instructions, statements, and computer programs contain
|
||||||
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
//
|
||||||
|
// I was generated automatically, don't edit me directly!!!
|
||||||
|
//
|
||||||
|
#ifndef $include_guard
|
||||||
|
#define $include_guard
|
||||||
|
|
||||||
|
#ifndef SDK_ASM
|
||||||
|
#include <ctr/types.h>
|
||||||
|
#include <ctr/hw/ARM9/mmap_global.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Definition of Register offsets, addresses and variables.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
ENDDOC
|
||||||
|
my $hash, $tmp_hash;
|
||||||
|
|
||||||
|
foreach $hash (@hash_array) {
|
||||||
|
next if ($hash->{"category"} ne $category);
|
||||||
|
|
||||||
|
print $handle "/* $hash->{'name'} */\n\n";
|
||||||
|
|
||||||
|
my @reg_array = cull_register_offset_def($hash); # 重複した項目を最適化
|
||||||
|
my $nest_state = 0;
|
||||||
|
|
||||||
|
foreach $tmp_hash (@reg_array)
|
||||||
|
{
|
||||||
|
if ($tmp_hash->{"condition"} ne "") {
|
||||||
|
if ($nest_state == 0) {
|
||||||
|
$nest_state = 1;
|
||||||
|
printf $handle "#if %s\n\n", $tmp_hash->{'condition'};
|
||||||
|
} elsif ($nest_state == 1) {
|
||||||
|
printf $handle "\n#elif %s\n\n", $tmp_hash->{'condition'};
|
||||||
|
}
|
||||||
|
} elsif ($nest_state == 1) {
|
||||||
|
printf $handle "\n#else\n\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
printf $handle "#define %-50s %s\n", $tmp_hash->{'offset_def'}, $tmp_hash->{'offset'};
|
||||||
|
printf $handle "#define %-50s %s\n", $tmp_hash->{"address_def"}, "(HW_REG_BASE + $tmp_hash->{'offset_def'})";
|
||||||
|
printf $handle "#define %-50s %s\n", $tmp_hash->{"valname_def_new"}, $tmp_hash->{"reg_type"};
|
||||||
|
|
||||||
|
if ($nest_state == 1) {
|
||||||
|
if ( $tmp_hash->{"condition"} ne "" ) {
|
||||||
|
printf $handle "// endif %s\n", $tmp_hash->{"condition"};
|
||||||
|
} else {
|
||||||
|
printf $handle "// endif else\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($nest_state == 1) {
|
||||||
|
printf $handle "#endif\n";
|
||||||
|
}
|
||||||
|
printf $handle "\n";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
print $handle <<ENDDOC;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Definitions of Register fields
|
||||||
|
*/
|
||||||
|
|
||||||
|
ENDDOC
|
||||||
|
my $hash;
|
||||||
|
my $nest_state;
|
||||||
|
|
||||||
|
foreach $hash (@hash_array) {
|
||||||
|
next if ($hash->{"category"} ne $category);
|
||||||
|
|
||||||
|
$nest_state = 0;
|
||||||
|
|
||||||
|
printf $handle "\n";
|
||||||
|
print $handle "/* $hash->{'name'} */\n";
|
||||||
|
|
||||||
|
while ( 1 ) {
|
||||||
|
if ($hash->{"condition"} ne "") {
|
||||||
|
if ($nest_state == 0) {
|
||||||
|
$nest_state = 1;
|
||||||
|
printf $handle "#if %s\n", $hash->{'condition'};
|
||||||
|
} elsif ($nest_state == 1) {
|
||||||
|
printf $handle "#elif %s\n", $hash->{'condition'};
|
||||||
|
}
|
||||||
|
} elsif ($nest_state == 1) {
|
||||||
|
printf $handle "#else\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
my $no = $hash->{"line_no"};
|
||||||
|
|
||||||
|
my @array = @{$hash->{"option"}};
|
||||||
|
|
||||||
|
my $field_macro_func = "#define $hash->{'valname_def'}_FIELD(";
|
||||||
|
my $field_macro_flag = 0;
|
||||||
|
my $field_macro_body = " (u$hash->{'bitwidth'})( \\\n";
|
||||||
|
|
||||||
|
my $fieldname, $fieldshift, $fieldsize;
|
||||||
|
while($fieldname = shift @array) {
|
||||||
|
my $shift_macro;
|
||||||
|
die "ERROR: Field option not good in line $no\n" if (!defined($fieldshift = shift @array));
|
||||||
|
die "ERROR: Field option not good in line $no\n" if (!defined($fieldsize = shift @array));
|
||||||
|
|
||||||
|
print $handle "\n";
|
||||||
|
|
||||||
|
# REG_XXX_XXXXX_SHIFTの出力
|
||||||
|
{
|
||||||
|
my $name = "$hash->{'valname_def'}_" . $fieldname . "_SHIFT";
|
||||||
|
check_macro_duplicate($name, $hash->{'condition'}, $no);
|
||||||
|
$shift_macro = $name;
|
||||||
|
printf $handle "#define %-50s %s\n", $name, $fieldshift;
|
||||||
|
}
|
||||||
|
|
||||||
|
# REG_XXX_XXXXX_SIZEの出力
|
||||||
|
{
|
||||||
|
my $name = "$hash->{'valname_def'}_" . $fieldname . "_SIZE";
|
||||||
|
check_macro_duplicate($name, $hash->{'condition'}, $no);
|
||||||
|
printf $handle "#define %-50s %s\n", $name, $fieldsize;
|
||||||
|
}
|
||||||
|
|
||||||
|
# REG_XXX_XXXXX_MASKの出力
|
||||||
|
{
|
||||||
|
my $width = $hash->{"bitwidth"};
|
||||||
|
my $mask_val = 1 << $fieldshift;
|
||||||
|
my $tmp = $mask_val;
|
||||||
|
my $i;
|
||||||
|
for ($i = 0; $i < $fieldsize - 1; $i++) {
|
||||||
|
$mask_val = $mask_val << 1;
|
||||||
|
$mask_val = $mask_val + $tmp;
|
||||||
|
}
|
||||||
|
my $name = "$hash->{'valname_def'}_" . $fieldname . "_MASK";
|
||||||
|
check_macro_duplicate($name, $hash->{'condition'}, $no);
|
||||||
|
printf $handle "#define %-50s $hash->{'mask_format'}\n", $name, $mask_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
# REG_XXX_XXXXX_FIELDの定義の一行分を作成
|
||||||
|
my $fn = lc($fieldname);
|
||||||
|
if ($field_macro_flag == 1) {
|
||||||
|
$field_macro_func = $field_macro_func . ", " . $fn;
|
||||||
|
$field_macro_body = $field_macro_body . " | \\\n" . " ((u32)($fn) << $shift_macro)";
|
||||||
|
} else {
|
||||||
|
$field_macro_func = $field_macro_func . " " . $fn;
|
||||||
|
$field_macro_body = $field_macro_body . " ((u32)($fn) << $shift_macro)";
|
||||||
|
$field_macro_flag = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($field_macro_flag == 1) {
|
||||||
|
# REG_XXX_XXXXX_FIELDの出力
|
||||||
|
$field_macro_func .= " ) \\\n";
|
||||||
|
$field_macro_func .= $field_macro_body;
|
||||||
|
print $handle "\n#ifndef SDK_ASM\n";
|
||||||
|
print $handle $field_macro_func, ")\n";
|
||||||
|
print $handle "#endif\n\n"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($nest_state == 1) {
|
||||||
|
if ( $hash->{"condition"} ne "") {
|
||||||
|
printf $handle "// endif %s\n", $hash->{"condition"};
|
||||||
|
} else {
|
||||||
|
printf $handle "// endif else\n";
|
||||||
|
}
|
||||||
|
if ( !exists($hash->{"next"})) {
|
||||||
|
printf $handle "#endif \n\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# リストにまだ残っているなら次を表示
|
||||||
|
if (exists($hash->{'next'})) {
|
||||||
|
$hash = $hash->{'next'};
|
||||||
|
} else {
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print $handle <<ENDDOC;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* $include_guard */
|
||||||
|
#endif
|
||||||
|
ENDDOC
|
||||||
|
|
||||||
|
verbose("done.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# コマンドラインオプションの設定
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# -vか-verboseが指定されているとverboseモード
|
||||||
|
if ($v == 1 || $verbose == 1) {
|
||||||
|
$verbose_mode = 1;
|
||||||
|
verbose("verbose mode on\n");
|
||||||
|
} else {
|
||||||
|
$verbose_mode = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
# -nodupが指定されているとマクロ名の重複を許さない
|
||||||
|
if ($nodup == 1) {
|
||||||
|
$duplicate_ok = 0;
|
||||||
|
} else {
|
||||||
|
$duplicate_ok = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# メインルーチン
|
||||||
|
#
|
||||||
|
foreach $filename (@ARGV) {
|
||||||
|
$line_no = 0;
|
||||||
|
@hash_array = ();
|
||||||
|
|
||||||
|
open INPUTFILE, "$filename" or die "ERROR: Cannot open file \'$filename\'\n";
|
||||||
|
|
||||||
|
my $line;
|
||||||
|
while($line = <INPUTFILE>) {
|
||||||
|
$line_no++;
|
||||||
|
$line =~ s/\"//g;
|
||||||
|
$line =~ s/\#.*//;
|
||||||
|
next if ($line =~ /^[\s,]*$/);
|
||||||
|
|
||||||
|
@fields = preprocess($line);
|
||||||
|
push_fields( analyze(@fields) );
|
||||||
|
}
|
||||||
|
verbose("$line_no lines read\n");
|
||||||
|
|
||||||
|
my @categories = collect_category();
|
||||||
|
my $category;
|
||||||
|
my @headerfile_array = ();
|
||||||
|
|
||||||
|
|
||||||
|
foreach $category (@categories) {
|
||||||
|
my $output_filename = $filename;
|
||||||
|
if (($output_filename =~ s/\.csv/\.h/) == 0) {
|
||||||
|
$output_filename .= ".h";
|
||||||
|
}
|
||||||
|
$output_filename =~ s/\.h/_$category.h/;
|
||||||
|
|
||||||
|
push @headerfile_array, $output_filename;
|
||||||
|
|
||||||
|
verbose("Output filename is $output_filename\n");
|
||||||
|
output($output_filename, $category);
|
||||||
|
}
|
||||||
|
|
||||||
|
my $master_filename = $filename;
|
||||||
|
if (($master_filename =~ s/\.csv/\.h/) == 0) {
|
||||||
|
$master_filename .= ".h";
|
||||||
|
}
|
||||||
|
|
||||||
|
open MASTER, ">$master_filename" or die "ERROR: Cannot create file \'$master_filename$'\n";
|
||||||
|
|
||||||
|
my $include_guard = $master_filename;
|
||||||
|
$include_guard =~ s/[.\/]/_/g;
|
||||||
|
$include_guard = uc($include_guard). "_";
|
||||||
|
|
||||||
|
print MASTER <<ENDDOC;
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: CtrSDK - IO Register List -
|
||||||
|
File: $master_filename
|
||||||
|
|
||||||
|
Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
|
||||||
|
These coded instructions, statements, and computer programs contain
|
||||||
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef $include_guard
|
||||||
|
#define $include_guard
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
ENDDOC
|
||||||
|
|
||||||
|
foreach $header_file (@headerfile_array) {
|
||||||
|
print MASTER "#include <$header_file>\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
print MASTER <<ENDDOC;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* $include_guard */
|
||||||
|
#endif
|
||||||
|
ENDDOC
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
500
trunk/build/buildsetup/ioreg_sp/io_register_list.csv
Normal file
500
trunk/build/buildsetup/ioreg_sp/io_register_list.csv
Normal file
@ -0,0 +1,500 @@
|
|||||||
|
#offset,condition,name,bit,rw,category,volatile/permanent,fieldname,shift,bit,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#表示ステータス,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x004,,DISPSTAT,16,rw,GX,volatile,VCOUNTER,7,9,INI,6,1,VQI,5,1,HBI,4,1,VBI,3,1,LYC,2,1,HBLK,1,1,VBLK,0,1
|
||||||
|
0x006,,VCOUNT,16,rw,GX,volatile,VCOUNTER,0,10,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#DMA,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0b0,,DMA0SAD,32,rw,MI,volatile,DMASRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0b4,,DMA0DAD,32,rw,MI,volatile,DMADEST,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0b8,,DMA0CNT,32,rw,MI,volatile,E,31,1,I,30,1,TIMING,28,2,SB,26,1,CM,25,1,SAR,23,2,DAR,21,2,WORDCNT,0,16
|
||||||
|
0x0bc,,DMA1SAD,32,rw,MI,volatile,DMASRC,0,28,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0c0,,DMA1DAD,32,rw,MI,volatile,DMADEST,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0c4,,DMA1CNT,32,rw,MI,volatile,E,31,1,I,30,1,TIMING,28,2,SB,26,1,CM,25,1,SAR,23,2,DAR,21,2,WORDCNT,0,16
|
||||||
|
0x0c8,,DMA2SAD,32,rw,MI,volatile,DMASRC,0,28,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0cc,,DMA2DAD,32,rw,MI,volatile,DMADEST,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0d0,,DMA2CNT,32,rw,MI,volatile,E,31,1,I,30,1,TIMING,28,2,SB,26,1,CM,25,1,SAR,23,2,DAR,21,2,WORDCNT,0,16
|
||||||
|
0x0d4,,DMA3SAD,32,rw,MI,volatile,DMASRC,0,28,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0d8,,DMA3DAD,32,rw,MI,volatile,DMADEST,0,28,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x0dc,,DMA3CNT,32,rw,MI,volatile,E,31,1,I,30,1,TIMING,28,2,SB,26,1,CM,25,1,SAR,23,2,DAR,21,2,WORDCNT,0,16,,,,,,
|
||||||
|
#新規DMA,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4100,,NDMAGCNT,32,rw,MI,volatile,ARBITER,31,1,CPUCYCLE,16,4,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4104,,NDMA0SAD,32,rw,MI,volatile,DMASRC,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4108,,NDMA0DAD,32,rw,MI,volatile,DMADEST,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x410c,,NDMA0TCNT,32,rw,MI,volatile,TOTALCNT,0,28,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4110,,NDMA0WCNT,32,rw,MI,volatile,WORDCNT,0,24,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4114,,NDMA0BCNT,32,rw,MI,volatile,PS,16,2,ICNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4118,,NDMA0FDATA,32,rw,MI,volatile,FDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x411c,,NDMA0CNT,32,rw,MI,volatile,E,31,1,I,30,1,CM,29,1,IM,28,1,MODE,24,4,WORDCNT,16,4,SRL,15,1,SAR,13,2,DRL,12,1,DAR,10,2
|
||||||
|
0x4120,,NDMA1SAD,32,rw,MI,volatile,DMASRC,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4124,,NDMA1DAD,32,rw,MI,volatile,DMADEST,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4128,,NDMA1TCNT,32,rw,MI,volatile,TOTALCNT,0,28,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x412c,,NDMA1WCNT,32,rw,MI,volatile,WORDCNT,0,24,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4130,,NDMA1BCNT,32,rw,MI,volatile,PS,16,2,ICNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4134,,NDMA1FDATA,32,rw,MI,volatile,FDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4138,,NDMA1CNT,32,rw,MI,volatile,E,31,1,I,30,1,CM,29,1,IM,28,1,MODE,24,4,WORDCNT,16,4,SRL,15,1,SAR,13,2,DRL,12,1,DAR,10,2
|
||||||
|
0x413c,,NDMA2SAD,32,rw,MI,volatile,DMASRC,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4140,,NDMA2DAD,32,rw,MI,volatile,DMADEST,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4144,,NDMA2TCNT,32,rw,MI,volatile,TOTALCNT,0,28,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4148,,NDMA2WCNT,32,rw,MI,volatile,WORDCNT,0,24,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x414c,,NDMA2BCNT,32,rw,MI,volatile,PS,16,2,ICNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4150,,NDMA2FDATA,32,rw,MI,volatile,FDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4154,,NDMA2CNT,32,rw,MI,volatile,E,31,1,I,30,1,CM,29,1,IM,28,1,MODE,24,4,WORDCNT,16,4,SRL,15,1,SAR,13,2,DRL,12,1,DAR,10,2
|
||||||
|
0x4158,,NDMA3SAD,32,rw,MI,volatile,DMASRC,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x415c,,NDMA3DAD,32,rw,MI,volatile,DMADEST,2,30,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4160,,NDMA3TCNT,32,rw,MI,volatile,TOTALCNT,0,28,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4164,,NDMA3WCNT,32,rw,MI,volatile,WORDCNT,0,24,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4168,,NDMA3BCNT,32,rw,MI,volatile,PS,16,2,ICNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x416c,,NDMA3FDATA,32,rw,MI,volatile,FDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4170,,NDMA3CNT,32,rw,MI,volatile,E,31,1,I,30,1,CM,29,1,IM,28,1,MODE,24,4,WORDCNT,16,4,SRL,15,1,SAR,13,2,DRL,12,1,DAR,10,2
|
||||||
|
#タイマ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x100,,TM0CNT_L,16,rw,OS,volatile,TIMER0CNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x102,,TM0CNT_H,16,rw,OS,volatile,E,7,1,I,6,1,PS,0,2,,,,,,,,,,,,,,,,,,
|
||||||
|
0x104,,TM1CNT_L,16,rw,OS,volatile,TIMER1CNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x106,,TM1CNT_H,16,rw,OS,volatile,E,7,1,I,6,1,CH,2,1,PS,0,2,,,,,,,,,,,,,,,
|
||||||
|
0x108,,TM2CNT_L,16,rw,OS,volatile,TIMER2CNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x10a,,TM2CNT_H,16,rw,OS,volatile,E,7,1,I,6,1,CH,2,1,PS,0,2,,,,,,,,,,,,,,,
|
||||||
|
0x10c,,TM3CNT_L,16,rw,OS,volatile,TIMER2CNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x10e,,TM3CNT_H,16,rw,OS,volatile,E,7,1,I,6,1,CH,2,1,PS,0,2,,,,,,,,,,,,,,,
|
||||||
|
#SIO,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
"#レジスタ0x128,0x12aは状況でビットの意味が大きく変わるので多重に定義してあります。",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x120,,SIODATA32,32,rw,EXI,volatile,H,16,16,L,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x120,,SIOMULTI0,16,rw,EXI,volatile,DATA,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x122,,SIOMULTI1,16,rw,EXI,volatile,DATA,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x124,,SIOMULTI2,16,rw,EXI,volatile,DATA,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x126,,SIOMULTI3,16,rw,EXI,volatile,DATA,0,16,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x128,,SIOCNT,16,rw,EXI,volatile,CKUP,15,1,I,14,1,MD1,13,1,BITLEN,12,1,START,7,1,TSEND,3,1,TRECV,2,1,SCLOCKHZ,1,1,SCLOCK,0,1
|
||||||
|
0x128,,SIOCNT_MULTI,16,rw,EXI,volatile,CKUP,15,1,I,14,1,MD1,13,1,MD0,12,1,START,7,1,ERROR,6,1,MULTIID,4,2,SDMON,3,1,SIMON,2,1,BAUD,0,2,,,,,,,,,,,,,,,,,,
|
||||||
|
0x128,,SIOCNT_UART,16,rw,EXI,volatile,CKUP,15,1,MD1,13,1,MD0,12,1,RECVEF,11,1,SENDEF,10,1,PARITYEF,9,1,FIFOEF,8,1,DATALEN,7,1,ERROR,6,1,RECV,5,1,SEND,4,1,PARITYCNT,3,1,CTS,2,1,BAUD,0,2,,,,,,
|
||||||
|
0x12a,,SIOCNT_H,16,rw,EXI,volatile,RFFUL,15,1,TFEMP,14,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x12a,,SIOMLT_SEND,16,rw,EXI,volatile,DATA,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x12a,,SIODATA8,16,rw,EXI,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#キー,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x130,,KEYINPUT,16,rw,PAD,volatile,L,9,1,R,8,1,DOWN,7,1,UP,6,1,LEFT,5,1,RIGHT,4,1,START,3,1,SEL,2,1,B,1,1,A,0,1,,,,,,,,,,,,,,,,,,
|
||||||
|
0x132,,KEYCNT,16,rw,PAD,volatile,LOGIC,15,1,INTR,14,1,L,9,1,R,8,1,DOWN,7,1,UP,6,1,LEFT,5,1,RIGHT,4,1,START,3,1,SEL,2,1,B,1,1,A,0,1,,,,,,,,,,,,
|
||||||
|
#シリアル通信 汎用端子,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x134,,RCNT0_L,16,rw,EXI,volatile,RE1,15,1,RE0,14,1,I,8,1,DIR_SO,7,1,DIR_SI,6,1,DIR_SD,5,1,DIR_SC,4,1,DATA_SO,3,1,DATA_SI,2,1,DATA_SD,1,1,DATA_SC,0,1,,,,,,,,,,,,,,,
|
||||||
|
0x136,,RCNT0_H,16,rw,EXI,volatile,DATA_R7,7,1,DATA_R6,6,1,DATA_R5,5,1,DATA_R4,4,1,DATA_R3,3,1,DATA_R2,2,1,DATA_R1,1,1,DATA_R0,0,1,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x138,,RCNT1,16,rw,EXI,volatile,DIR_RF,15,1,DIR_RE,14,1,DIR_RD,13,1,DIR_RC,12,1,DATA_RF,11,1,DATA_RE,10,1,DATA_RD,9,1,DATA_RC,8,1,DIR_RB,7,1,DIR_RA,6,1,DIR_R9,5,1,DIR_R8,4,1,DATA_RB,3,1,DATA_RA,2,1,DATA_R9,1,1,DATA_R8,0,1
|
||||||
|
#JOY,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x140,,JOYCNT,16,rw,EXI,volatile,MOD,7,1,I,6,1,SEND,2,1,RECV,1,1,RESET,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x150,,JOY_RECV,32,rw,EXI,volatile,RECVDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x154,,JOY_TRANS,32,rw,EXI,volatile,SENDDATA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x158,,JOY_STAT,16,rw,EXI,volatile,GEN,4,2,SSTATUS,3,1,RSTATUS,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
# ARM9 とのインターフェイス,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x180,,MAINPINTF,16,rw,PXI,volatile,I,14,1,IREQ,13,1,A7STATUS,8,4,A9STATUS,0,4,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x184,,MAINP_FIFO_CNT,16,rw,PXI,volatile,E,15,1,ERR,14,1,RECV_RI,10,1,RECV_FULL,9,1,RECV_EMP,8,1,SEND_CL,3,1,SEND_TI,2,1,SEND_FULL,1,1,SEND_EMP,0,1,,,,,,,,,
|
||||||
|
0x188,,SEND_FIFO,32,rw,PXI,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x100000,,RECV_FIFO,32,rw,PXI,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#メモリカード,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a0,,MCCNT0,16,rw,MI,volatile,E,15,1,I,14,1,SEL,13,1,BUSY,7,1,MODE,6,1,BAUDRATE,0,2,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a2,,MCD0,16,rw,MI,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x100010,,MCD1,32,rw,MI,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a4,,MCCNT1,32,rw,MI,volatile,START,31,1,WR,30,1,RESB,29,1,RTM,28,1,CT,27,1,PC,24,3,RDY,23,1,L2,16,6,SCR,15,1,SE,14,1,DS,13,1,L1,0,13
|
||||||
|
0x1a8,,MCCMD0,32,w,MI,volatile,CMD3,24,8,CMD2,16,8,CMD1,8,8,CMD0,0,8,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1ac,,MCCMD1,32,w,MI,volatile,CMD7,24,8,CMD6,16,8,CMD5,8,8,CMD4,0,8,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b0,,MCSCR0,32,w,MI,volatile,SCRA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b4,,MCSCR1,32,w,MI,volatile,SCRB,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b8,,MCSCR2,32,w,MI,volatile,SCRB,26,7,SCRA,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#メモリカードA(無印の別名定義),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a0,,MCCNT0_A,16,rw,MI,volatile,E,15,1,I,14,1,SEL,13,1,BUSY,7,1,MODE,6,1,BAUDRATE,0,2,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a2,,MCD0_A,16,rw,MI,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x100010,,MCD1_A,32,rw,MI,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1a4,,MCCNT1_A,32,rw,MI,volatile,START,31,1,WR,30,1,RESB,29,1,RTM,28,1,CT,27,1,PC,24,3,RDY,23,1,L2,16,6,SCR,15,1,SE,14,1,DS,13,1,L1,0,13
|
||||||
|
0x1a8,,MCCMD0_A,32,w,MI,volatile,CMD3,24,8,CMD2,16,8,CMD1,8,8,CMD0,0,8,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1ac,,MCCMD1_A,32,w,MI,volatile,CMD7,24,8,CMD6,16,8,CMD5,8,8,CMD4,0,8,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b0,,MCSCR0_A,32,w,MI,volatile,SCRA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b4,,MCSCR1_A,32,w,MI,volatile,SCRB,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1b8,,MCSCR2_A,32,w,MI,volatile,SCRB,26,7,SCRA,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#メモリカードB,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21a0,,MCCNT0_B,16,rw,MI,volatile,E,15,1,I,14,1,SEL,13,1,BUSY,7,1,MODE,6,1,BAUDRATE,0,2,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21a2,,MCD0_B,16,rw,MI,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x102010,,MCD1_B,32,rw,MI,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21a4,,MCCNT1_B,32,rw,MI,volatile,START,31,1,WR,30,1,RESB,29,1,RTM,28,1,CT,27,1,PC,24,3,RDY,23,1,L2,16,6,SCR,15,1,SE,14,1,DS,13,1,L1,0,13
|
||||||
|
0x21a8,,MCCMD0_B,32,w,MI,volatile,CMD3,24,8,CMD2,16,8,CMD1,8,8,CMD0,0,8,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21ac,,MCCMD1_B,32,w,MI,volatile,CMD7,24,8,CMD6,16,8,CMD5,8,8,CMD4,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21b0,,MCSCR0_B,32,w,MI,volatile,SCRA,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21b4,,MCSCR1_B,32,w,MI,volatile,SCRB,0,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21b8,,MCSCR2_B,32,w,MI,volatile,SCRB,26,7,SCRA,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#SPI,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1c0,,SPICNT,16,rw,SPI,volatile,E,15,1,I,14,1,MODE,11,1,CLKMODE,10,1,SEL,8,2,BUSY,7,1,BAUDRATE,0,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x1c2,,SPID,16,rw,SPI,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#外部メモリ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x204,,EXMEMCNT_L,16,rw,MI,volatile,EP,15,1,EMODE,14,1,ECE2,13,1,MP,11,1,MP_A,11,1,MP_B,10,1,CP,7,1,PHI,5,2,ROM2nd,4,1,ROM1st,2,2,RAM,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x206,,EXMEMCNT_H,16,rw,MI,volatile,PHI33M,7,1,WW1_2nd,5,1,WW1_1st,3,2,WW0_2nd,2,1,WW0_1st,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#割り込み,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x208,,IME,16,rw,OS,volatile,IME,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x210,,IE,32,rw,OS,volatile,ND3,31,1,ND2,30,1,ND1,29,1,ND0,28,1,MIB,27,1,MCB,26,1,DWE,25,1,WL,24,1,SPI,23,1,PM,22,1,DRE,21,1,MI,20,1,MIA,20,1,MC,19,1,MCA,19,1,IFN,18,1,IFE,17,1,A7,16,1,MCBDET,15,1,MCADET,14,1,I_D,13,1,K,12,1,D3,11,1,D2,10,1,D1,9,1,D0,8,1,SIO,7,1,T3,6,1,T2,5,1,T1,4,1,T0,3,1,VE,2,1,HB,1,1,VB,0,1
|
||||||
|
0x214,,IF,32,rw,OS,volatile,ND3,31,1,ND2,30,1,ND1,29,1,ND0,28,1,MIB,27,1,MCB,26,1,DWE,25,1,WL,24,1,SPI,23,1,PM,22,1,DRE,21,1,MI,20,1,MIA,20,1,MC,19,1,MCA,19,1,IFN,18,1,IFE,17,1,A7,16,1,MCBDET,15,1,MCADET,14,1,I_D,13,1,K,12,1,D3,11,1,D2,10,1,D1,9,1,D0,8,1,SIO,7,1,T3,6,1,T2,5,1,T1,4,1,T0,3,1,VE,2,1,HB,1,1,VB,0,1
|
||||||
|
0x218,,IE2,16,rw,OS,volatile,MIC,14,1,I2C,13,1,AES,12,1,SD2A,11,1,SD2,10,1,SD1A,9,1,SD1,8,1,GPIO33_3,7,1,GPIO33_2,6,1,GPIO33_1,5,1,GPIO33_0,4,1,GPIO18_2,2,1,GPIO18_1,1,1,GPIO18_0,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x21c,,IF2,16,rw,OS,volatile,MIC,14,1,I2C,13,1,AES,12,1,SD2A,11,1,SD2,10,1,SD1A,9,1,SD1,8,1,GPIO33_3,7,1,GPIO33_2,6,1,GPIO33_1,5,1,GPIO33_0,4,1,GPIO18_2,2,1,GPIO18_1,1,1,GPIO18_0,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#本体内メモリ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x240,,WVRAMSTAT,16,rw,MI,volatile,WRAM_1,9,1,WRAM_0,8,1,VRAM_D,1,1,VRAM_C,0,1,,,,,,,,,,,,
|
||||||
|
#PAUSE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x300,,PAUSE,16,rw,OS,volatile,MOD,14,2,CHK,0,1,,,,,,,,,,,,,,,,,,
|
||||||
|
#パワーコントロール,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x304,,POWCNT,16,rw,SND,volatile,EWL,1,1,SPE,0,1,,,,,,,,,,,,,,,,,,
|
||||||
|
#サウンド,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x400,,SOUND0CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x400,,SOUND0CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x400,,SOUND0CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x402,,SOUND0CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x403,,SOUND0CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x404,,SOUND0SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x408,,SOUND0TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x40a,,SOUND0RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x40c,,SOUND0RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x410,,SOUND1CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x410,,SOUND1CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x410,,SOUND1CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x412,,SOUND1CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x413,,SOUND1CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x414,,SOUND1SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x418,,SOUND1TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x41a,,SOUND1RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x41c,,SOUND1RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x420,,SOUND2CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x420,,SOUND2CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x420,,SOUND2CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x422,,SOUND2CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x423,,SOUND2CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x424,,SOUND2SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x428,,SOUND2TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x42a,,SOUND2RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x42c,,SOUND2RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x430,,SOUND3CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x430,,SOUND3CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x430,,SOUND3CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x432,,SOUND3CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x433,,SOUND3CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x434,,SOUND3SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x438,,SOUND3TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x43a,,SOUND3RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x43c,,SOUND3RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x440,,SOUND4CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x440,,SOUND4CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x440,,SOUND4CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x442,,SOUND4CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x443,,SOUND4CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x444,,SOUND4SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x448,,SOUND4TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x44a,,SOUND4RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x44c,,SOUND4RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x450,,SOUND5CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x450,,SOUND5CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x450,,SOUND5CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x452,,SOUND5CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x453,,SOUND5CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x454,,SOUND5SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x458,,SOUND5TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x45a,,SOUND5RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x45c,,SOUND5RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x460,,SOUND6CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x460,,SOUND6CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x460,,SOUND6CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x462,,SOUND6CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x463,,SOUND6CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x464,,SOUND6SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x468,,SOUND6TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x46a,,SOUND6RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x46c,,SOUND6RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x470,,SOUND7CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x470,,SOUND7CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x470,,SOUND7CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x472,,SOUND7CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x473,,SOUND7CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x474,,SOUND7SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x478,,SOUND7TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x47a,,SOUND7RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x47c,,SOUND7RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x480,,SOUND8CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x480,,SOUND8CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x480,,SOUND8CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x482,,SOUND8CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x483,,SOUND8CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x484,,SOUND8SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x488,,SOUND8TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48a,,SOUND8RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48c,,SOUND8RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x490,,SOUND9CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x490,,SOUND9CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x490,,SOUND9CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x492,,SOUND9CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x493,,SOUND9CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x494,,SOUND9SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x498,,SOUND9TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x49a,,SOUND9RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x49c,,SOUND9RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4a0,,SOUND10CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4a0,,SOUND10CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4a0,,SOUND10CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4a2,,SOUND10CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4a3,,SOUND10CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x4a4,,SOUND10SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4a8,,SOUND10TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4aa,,SOUND10RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ac,,SOUND10RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b0,,SOUND11CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4b0,,SOUND11CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4b0,,SOUND11CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b2,,SOUND11CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b3,,SOUND11CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x4b4,,SOUND11SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b8,,SOUND11TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ba,,SOUND11RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4bc,,SOUND11RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4c0,,SOUND12CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4c0,,SOUND12CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4c0,,SOUND12CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4c2,,SOUND12CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4c3,,SOUND12CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x4c4,,SOUND12SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4c8,,SOUND12TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ca,,SOUND12RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4cc,,SOUND12RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4d0,,SOUND13CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4d0,,SOUND13CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4d0,,SOUND13CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4d2,,SOUND13CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4d3,,SOUND13CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x4d4,,SOUND13SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4d8,,SOUND13TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4da,,SOUND13RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4dc,,SOUND13RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4e0,,SOUND14CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4e0,,SOUND14CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4e0,,SOUND14CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4e2,,SOUND14CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4e3,,SOUND14CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,
|
||||||
|
0x4e4,,SOUND14SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4e8,,SOUND14TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ea,,SOUND14RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ec,,SOUND14RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4f0,,SOUND15CNT,32,rw,SND,volatile,E,31,1,FORMAT,29,2,REPEAT,27,2,DUTY,24,3,PAN,16,7,HOLD,15,1,SHIFT,8,2,VOLUME,0,7
|
||||||
|
0x4f0,,SOUND15CNT_VOL_16,16,rw,SND,volatile,HOLD,15,1,SHIFT,8,2,VOLUME,0,7,,,,,,,,,,,,,,,
|
||||||
|
0x4f0,,SOUND15CNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4f2,,SOUND15CNT_PAN,8,rw,SND,volatile,PAN,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4f3,,SOUND15CNT_8,8,rw,SND,volatile,E,7,1,FORMAT,5,2,REPEAT,3,2,DUTY,0,3,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4f4,,SOUND15SAD,32,w,SND,volatile,SRC,0,27,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4f8,,SOUND15TMR,16,w,SND,volatile,TIMER,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4fa,,SOUND15RPT_PT,16,w,SND,volatile,POINT,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4fc,,SOUND15RPT_LEN,32,w,SND,volatile,LEN,0,22,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#サウンドマスターコントロール,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x500,,SOUNDCNT,16,rw,SND,volatile,E,15,1,MIX_CH3,13,1,MIX_CH1,12,1,ROUT,10,2,LOUT,8,2,VOLUME,0,7,,,,,,,,,,,,
|
||||||
|
0x501,,SOUNDCNT_8,8,rw,SND,volatile,E,7,1,MIX_CH3,5,1,MIX_CH1,4,1,ROUT,2,2,LOUT,0,2,,,,,,,,,,,,,,,
|
||||||
|
0x500,,SOUNDCNT_VOL,8,rw,SND,volatile,VOLUME,0,7,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x504,,SOUND_BIAS,16,rw,SND,volatile,BIAS,0,10,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#キャプチャ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x508,,SNDCAPCNT,16,rw,SND,volatile,CAP1_E,15,1,CAP1_FORMAT,11,1,CAP1_REPEAT,10,1,CAP1_IN,9,1,CAP1_OUT,8,1,CAP0_E,7,1,CAP0_FORMAT,3,1,CAP0_REPEAT,2,1,CAP0_IN,1,1,CAP0_OUT,0,1
|
||||||
|
0x508,,SNDCAP0CNT,8,rw,SND,volatile,E,7,1,FORMAT,3,1,REPEAT,2,1,IN,1,1,OUT,0,1,,,,,,,,,,,,,,,
|
||||||
|
0x509,,SNDCAP1CNT,8,rw,SND,volatile,E,7,1,FORMAT,3,1,REPEAT,2,1,IN,1,1,OUT,0,1,,,,,,,,,,,,,,,
|
||||||
|
0x510,,SNDCAP0DAD,32,w,SND,volatile,DEST,0,27,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x514,,SNDCAP0LEN,16,rw,SND,volatile,LEN,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x518,,SNDCAP1DAD,32,w,SND,volatile,DEST,0,27,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x51c,,SNDCAP1LEN,16,rw,SND,volatile,LEN,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#新規コンフィグ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#0x4000のSCFG_ROMは直後に分けて二重定義しています。,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4000,,ROM,32,rw,SCFG,volatile,ROMWE,16,1,ARM7FUSE,10,1,ARM7RSEL,9,1,ARM7SEL,8,1,ARM9RSEL,1,1,ARM9SEL,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4000,,A9ROM,8,rw,SCFG,volatile,RSEL,1,1,SEC,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4001,,A7ROM,8,rw,SCFG,volatile,FUSE,2,1,RSEL,1,1,SEC,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4002,,ROMWE,16,rw,SCFG,volatile,WE,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4004,,CLK,16,rw,SCFG,volatile,SNDMCLK,8,1,WRAMHCLK,7,1,AESHCLK,2,1,SD2HCLK,1,1,SD1HCLK,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4006,,JTAG,16,rw,SCFG,volatile,DSPJE,8,1,CPUJE,1,1,ARM7SEL,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4008,,EXT,32,rw,SCFG,volatile,CFG,31,1,PUENABLE,28,1,SD20,28,1,NEWB_ACCESS_E,16,10,WRAM,25,1,MC_B,24,1,GPIO,23,1,I2C,22,1,I2S,21,1,MIC,20,1,SD2,19,1,SD1,18,1,AES,17,1,DMAC,16,1,NITROB_EX_E,8,8,PSRAM,14,2,VRAM,13,1,LCDC,12,1,SIO,11,1,DSEL,10,1,SPI,9,1,INTC,8,1,NITROB_MOD_E,0,8,MC,7,1,SND,2,1,SDMA,1,1,DMA,0,1
|
||||||
|
0x4010,,MC1,32,rw,MI,volatile,CC,16,16,SWP,15,1,SL2_STATUS,4,4,SL2_M1,7,1,SL2_M0,6,1,SL2_CDET,4,1,SL1_STATUS,0,4,SL1_M1,3,1,SL1_M0,2,1,SL1_CDET,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4010,,MC,16,rw,MI,volatile,SWP,15,1,SL2_MODE,6,2,SL2_CDET,4,1,SL1_MODE,2,2,SL1_CDET,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4012,,MCCHAT,16,rw,MI,volatile,CC,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4014,,MC2,16,rw,MI,volatile,CA,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4020,,WL,16,rw,SCFG,volatile,OFFB,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4024,,OP,16,r,SCFG,volatile,OP1,1,1,OP0,0,1,OPT,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#共有メモリバンク制御,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4040,,MBK1,32,r,MI,volatile,WA3_E,31,1,WA3_OF,26,2,WA3_M,24,1,WA2_E,23,1,WA2_OF,18,2,WA2_M,16,1,WA1_E,15,1,WA1_OF,10,2,WA1_M,8,1,WA0_E,7,1,WA0_OF,2,2,WA0_M,0,1
|
||||||
|
0x4040,,MBK_A0,8,r,MI,volatile,E,7,1,OF,2,2,M,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4041,,MBK_A1,8,r,MI,volatile,E,7,1,OF,2,2,M,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4042,,MBK_A2,8,r,MI,volatile,E,7,1,OF,2,2,M,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4043,,MBK_A3,8,r,MI,volatile,E,7,1,OF,2,2,M,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4044,,MBK2,32,r,MI,volatile,WB3_E,31,1,WB3_OF,26,3,WB3_M,24,2,WB2_E,23,1,WB2_OF,18,3,WB2_M,16,2,WB1_E,15,1,WB1_OF,10,3,WB1_M,8,2,WB0_E,7,1,WB0_OF,2,3,WB0_M,0,2
|
||||||
|
0x4044,,MBK_B0,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4045,,MBK_B1,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4046,,MBK_B2,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4047,,MBK_B3,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4048,,MBK3,32,r,MI,volatile,WB7_E,31,1,WB7_OF,26,3,WB7_M,24,2,WB6_E,23,1,WB6_OF,18,3,WB6_M,16,2,WB5_E,15,1,WB5_OF,10,3,WB5_M,8,2,WB4_E,7,1,WB4_OF,2,3,WB4_M,0,2
|
||||||
|
0x4048,,MBK_B4,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4049,,MBK_B5,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404a,,MBK_B6,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404b,,MBK_B7,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404c,,MBK4,32,r,MI,volatile,WC3_E,31,1,WC3_OF,26,3,WC3_M,24,2,WC2_E,23,1,WC2_OF,18,3,WC2_M,16,2,WC1_E,15,1,WC1_OF,10,3,WC1_M,8,2,WC0_E,7,1,WC0_OF,2,3,WC0_M,0,2
|
||||||
|
0x404c,,MBK_C0,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404d,,MBK_C1,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404e,,MBK_C2,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x404f,,MBK_C3,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4050,,MBK5,32,r,MI,volatile,WC7_E,31,1,WC7_OF,26,3,WC7_M,24,2,WC6_E,23,1,WC6_OF,18,3,WC6_M,16,2,WC5_E,15,1,WC5_OF,10,3,WC5_M,8,2,WC4_E,7,1,WC4_OF,2,3,WC4_M,0,2
|
||||||
|
0x4050,,MBK_C4,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4051,,MBK_C5,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4052,,MBK_C6,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4053,,MBK_C7,8,r,MI,volatile,E,7,1,OF,2,3,M,0,2,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4054,,MBK6,32,rw,MI,volatile,WA_EADDR,20,9,WA_ISIZE,12,2,WA_SADDR,4,8,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4058,,MBK7,32,rw,MI,volatile,WB_EADDR,19,10,WB_ISIZE,12,2,WB_SADDR,3,9,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x405c,,MBK8,32,rw,MI,volatile,WC_EADDR,19,10,WC_ISIZE,12,2,WC_SADDR,3,9,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4060,,MBK9,32,rw,MI,volatile,WC_LOCKST,16,8,WB_LOCKST,8,8,WA_LOCKST,0,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4060,,MBK_A_LOCK,8,rw,MI,volatile,A3,3,1,A2,2,1,A1,1,1,A0,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4061,,MBK_B_LOCK,8,rw,MI,volatile,B7,7,1,B6,6,1,B5,5,1,B4,4,1,B3,3,1,B2,2,1,B1,1,1,B0,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4062,,MBK_C_LOCK,8,rw,MI,volatile,C7,7,1,C6,6,1,C5,5,1,C4,4,1,C3,3,1,C2,2,1,C1,1,1,C0,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#AES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4400,,AES_CNT,32,rw,AES,volatile,E,31,1,I,30,1,MODE,28,2,KEY,24,4,SEL1,27,1,SEL0,26,1,BUSY,25,1,SET,24,1,CCM_DEC,20,2,VALID,21,1,MSEL,20,1,ADE,19,1,MAC_LEN,16,3,OFIFO_DREQ,14,2,IFIFO_DREQ,12,2,FIFO_CLR,10,2,OFIFO_CLR,11,1,IFIFO_CLR,10,1,OFIFO_CNT,5,5,IFIFO_CNT,0,5
|
||||||
|
0x4404,,AES_LEN,32,w,AES,volatile,PL,16,16,AL,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4408,,AES_IFIFO,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x440c,,AES_OFIFO,32,r,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4420,,AES_NONCE0,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4424,,AES_NONCE1,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4428,,AES_NONCE2,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x442c,,AES_NONCE3,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4430,,AES_MAC0,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4434,,AES_MAC1,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4438,,AES_MAC2,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x443c,,AES_MAC3,32,w,AES,volatile
|
||||||
|
0x4440,,AES_KEY_A0,32,w,AES,volatile
|
||||||
|
0x4444,,AES_KEY_A1,32,w,AES,volatile
|
||||||
|
0x4448,,AES_KEY_A2,32,w,AES,volatile
|
||||||
|
0x444c,,AES_KEY_A3,32,w,AES,volatile
|
||||||
|
0x4450,,AES_ID_A0,32,w,AES,volatile
|
||||||
|
0x4454,,AES_ID_A1,32,w,AES,volatile
|
||||||
|
0x4458,,AES_ID_A2,32,w,AES,volatile
|
||||||
|
0x445c,,AES_ID_A3,32,w,AES,volatile
|
||||||
|
0x4460,,AES_SEED_A0,32,w,AES,volatile
|
||||||
|
0x4464,,AES_SEED_A1,32,w,AES,volatile
|
||||||
|
0x4468,,AES_SEED_A2,32,w,AES,volatile
|
||||||
|
0x446c,,AES_SEED_A3,32,w,AES,volatile
|
||||||
|
0x4470,,AES_KEY_B0,32,w,AES,volatile
|
||||||
|
0x4474,,AES_KEY_B1,32,w,AES,volatile
|
||||||
|
0x4478,,AES_KEY_B2,32,w,AES,volatile
|
||||||
|
0x447c,,AES_KEY_B3,32,w,AES,volatile
|
||||||
|
0x4480,,AES_ID_B0,32,w,AES,volatile
|
||||||
|
0x4484,,AES_ID_B1,32,w,AES,volatile
|
||||||
|
0x4488,,AES_ID_B2,32,w,AES,volatile
|
||||||
|
0x448c,,AES_ID_B3,32,w,AES,volatile
|
||||||
|
0x4490,,AES_SEED_B0,32,w,AES,volatile
|
||||||
|
0x4494,,AES_SEED_B1,32,w,AES,volatile
|
||||||
|
0x4498,,AES_SEED_B2,32,w,AES,volatile
|
||||||
|
0x449c,,AES_SEED_B3,32,w,AES,volatile
|
||||||
|
0x44a0,,AES_KEY_C0,32,w,AES,volatile
|
||||||
|
0x44a4,,AES_KEY_C1,32,w,AES,volatile
|
||||||
|
0x44a8,,AES_KEY_C2,32,w,AES,volatile
|
||||||
|
0x44ac,,AES_KEY_C3,32,w,AES,volatile
|
||||||
|
0x44b0,,AES_ID_C0,32,w,AES,volatile
|
||||||
|
0x44b4,,AES_ID_C1,32,w,AES,volatile
|
||||||
|
0x44b8,,AES_ID_C2,32,w,AES,volatile
|
||||||
|
0x44bc,,AES_ID_C3,32,w,AES,volatile
|
||||||
|
0x44c0,,AES_SEED_C0,32,w,AES,volatile
|
||||||
|
0x44c4,,AES_SEED_C1,32,w,AES,volatile
|
||||||
|
0x44c8,,AES_SEED_C2,32,w,AES,volatile
|
||||||
|
0x44cc,,AES_SEED_C3,32,w,AES,volatile
|
||||||
|
0x44d0,,AES_KEY_D0,32,w,AES,volatile
|
||||||
|
0x44d4,,AES_KEY_D1,32,w,AES,volatile
|
||||||
|
0x44d8,,AES_KEY_D2,32,w,AES,volatile
|
||||||
|
0x44dc,,AES_KEY_D3,32,w,AES,volatile
|
||||||
|
0x44e0,,AES_ID_D0,32,w,AES,volatile
|
||||||
|
0x44e4,,AES_ID_D1,32,w,AES,volatile
|
||||||
|
0x44e8,,AES_ID_D2,32,w,AES,volatile
|
||||||
|
0x44ec,,AES_ID_D3,32,w,AES,volatile
|
||||||
|
0x44f0,,AES_SEED_D0,32,w,AES,volatile
|
||||||
|
0x44f4,,AES_SEED_D1,32,w,AES,volatile
|
||||||
|
0x44f8,,AES_SEED_D2,32,w,AES,volatile
|
||||||
|
0x44fc,,AES_SEED_D3,32,w,AES,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#I2C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4501,,I2C_CNT,8,rw,OS,volatile,E,7,1,I,6,1,RW,5,1,ACK,4,1,CNT,3,3,NT,2,1,START,1,1,STOP,0,1,,,,,,,,,,,,
|
||||||
|
0x4500,,I2C_DAT,8,rw,OS,volatile,DATA,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#新規マイク,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4600,,MIC_CNT,16,rw,OS,volatile,E,15,1,I,13,2,CL,12,1,STATUS,8,4,ERR,11,1,FULL,10,1,HALF,9,1,EMP,8,1,CONTROL,0,4,F,2,2,R,1,1,L,0,1
|
||||||
|
0x4604,,MIC_DAT,32,r,OS,volatile,SECOND,16,16,FIRST,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#新規サウンド,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4700,,SMX_CNT,16,rw,SND,volatile,E,15,1,MUTE,14,1,FSEL,13,1,MIX_RATE,0,4,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#SDインターフェース1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4800,,SD1_CMD,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4802,,SD1_PORTSEL,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4804,,SD1_ARG0,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4806,,SD1_ARG1,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4808,,SD1_STOP,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x480a,,SD1_SECCNT,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x480c,,SD1_RSP0,16,r,SD,volatile
|
||||||
|
0x480e,,SD1_RSP1,16,r,SD,volatile
|
||||||
|
0x4810,,SD1_RSP2,16,r,SD,volatile
|
||||||
|
0x4812,,SD1_RSP3,16,r,SD,volatile
|
||||||
|
0x4814,,SD1_RSP4,16,r,SD,volatile
|
||||||
|
0x4816,,SD1_RSP5,16,r,SD,volatile
|
||||||
|
0x4818,,SD1_RSP6,16,r,SD,volatile
|
||||||
|
0x481a,,SD1_RSP7,16,r,SD,volatile
|
||||||
|
0x481c,,SD1_INFO1,16,rw,SD,volatile
|
||||||
|
0x481e,,SD1_INFO2,16,rw,SD,volatile
|
||||||
|
0x4820,,SD1_INFO1_MASK,16,rw,SD,volatile
|
||||||
|
0x4822,,SD1_INFO2_MASK,16,rw,SD,volatile
|
||||||
|
0x4824,,SD1_CLK_CTRL,16,rw,SD,volatile
|
||||||
|
0x4826,,SD1_SIZE,16,rw,SD,volatile
|
||||||
|
0x4828,,SD1_OPTION,16,rw,SD,volatile
|
||||||
|
0x482a,,SD1_ERR_STS1,16,r,SD,volatile
|
||||||
|
0x482c,,SD1_ERR_STS2,16,r,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x482e,,SD1_BUF0,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4830,,SDIO1_MODE,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4834,,SDIO1_INFO1,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4838,,SDIO1_INF1_MASK,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48d8,,SD1_CC_EXT_MODE,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48e0,,SD1_SOFT_RST,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48e2,,SD1_VERSION,16,r,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48f2,,SD1_PWR,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48f4,,SD1_EXT_SDIO,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48f6,,SD1_EXT_WP,16,r,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48f8,,SD1_EXT_CD,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48fa,,SD1_EXT_CD_DAT3,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48fc,,SD1_EXT_CD_MASK,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x48fe,,SD1_EXT_CD_DAT3_MASK,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4900,,SD1_CNT,16,rw,SD,volatile,FEIE,12,1,FFIE,11,1,FCLR,10,1,NEMP,9,1,FULL,8,1,FIFO,1,1
|
||||||
|
0x4904,,SD1_FDS,16,rw,SD,volatile,SIZE,0,10
|
||||||
|
0x4908,,SD1_FSC,16,rw,SD,volatile,COUNT,0,16
|
||||||
|
0x490c,,SD1_FI,32,rw,SD,volatile,,,
|
||||||
|
#SDインターフェース2,,,,,,,,,
|
||||||
|
0x4a00,,SD2_CMD,16,rw,SD,volatile,,,
|
||||||
|
0x4a02,,SD2_PORTSEL,16,rw,SD,volatile,,,
|
||||||
|
0x4a04,,SD2_ARG0,16,rw,SD,volatile,,,
|
||||||
|
0x4a06,,SD2_ARG1,16,rw,SD,volatile,,,
|
||||||
|
0x4a08,,SD2_STOP,16,rw,SD,volatile,,,
|
||||||
|
0x4a0a,,SD2_SECCNT,16,rw,SD,volatile,,,
|
||||||
|
0x4a0c,,SD2_RSP0,16,r,SD,volatile,,,
|
||||||
|
0x4a0e,,SD2_RSP1,16,r,SD,volatile,,,
|
||||||
|
0x4a10,,SD2_RSP2,16,r,SD,volatile,,,
|
||||||
|
0x4a12,,SD2_RSP3,16,r,SD,volatile,,,
|
||||||
|
0x4a14,,SD2_RSP4,16,r,SD,volatile,,,
|
||||||
|
0x4a16,,SD2_RSP5,16,r,SD,volatile,,,
|
||||||
|
0x4a18,,SD2_RSP6,16,r,SD,volatile
|
||||||
|
0x4a1a,,SD2_RSP7,16,r,SD,volatile
|
||||||
|
0x4a1c,,SD2_INFO1,16,rw,SD,volatile
|
||||||
|
0x4a1e,,SD2_INFO2,16,rw,SD,volatile
|
||||||
|
0x4a20,,SD2_INFO1_MASK,16,rw,SD,volatile
|
||||||
|
0x4a22,,SD2_INFO2_MASK,16,rw,SD,volatile
|
||||||
|
0x4a24,,SD2_CLK_CTRL,16,rw,SD,volatile
|
||||||
|
0x4a26,,SD2_SIZE,16,rw,SD,volatile
|
||||||
|
0x4a28,,SD2_OPTION,16,rw,SD,volatile
|
||||||
|
0x4a2a,,SD2_ERR_STS1,16,r,SD,volatile
|
||||||
|
0x4a2c,,SD2_ERR_STS2,16,r,SD,volatile
|
||||||
|
0x4a2e,,SD2_BUF0,16,rw,SD,volatile
|
||||||
|
0x4a30,,SDIO2_MODE,16,rw,SD,volatile
|
||||||
|
0x4a34,,SDIO2_INFO1,16,rw,SD,volatile
|
||||||
|
0x4a38,,SDIO2_INF1_MASK,16,rw,SD,volatile
|
||||||
|
0x4ad8,,SD2_CC_EXT_MODE,16,rw,SD,volatile
|
||||||
|
0x4ae0,,SD2_SOFT_RST,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4ae2,,SD2_VERSION,16,r,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4af2,,DS2_PWR,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4af4,,SD2_EXT_SDIO,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4af6,,SD2_EXT_WP,16,r,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4af8,,SD2_EXT_CD,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4afa,,SD2_EXT_CD_DAT3,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4afc,,SD2_EXT_CD_MASK,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4afe,,SD2_EXT_CD_DAT3_MASK,16,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b00,,SD2_CNT,16,rw,SD,volatile,FEIE,12,1,FFIE,11,1,FCLR,10,1,NEMP,9,1,FULL,8,1,FIFO,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b04,,SD2_FDS,16,rw,SD,volatile,SIZE,0,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b08,,SD2_FSC,16,rw,SD,volatile,COUNT,0,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4b0c,,SD2_FI,32,rw,SD,volatile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#GPIO,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4c00,,GPIO2_CNT,32,rw,OS,volatile,IE7,31,1,IE6,30,1,IE5,29,1,IE4,28,1,IE2,26,1,IE1,25,1,IE0,24,1,IM7,23,1,IM6,22,1,IM5,21,1,IM4,20,1,IM2,18,1,IM1,17,1,IM0,16,1,DR7,15,1,DR6,14,1,DR5,13,1,DR4,12,1,DR2,10,1,DR1,9,1,DR0,8,1,R7,7,1,R6,6,1,R5,5,1,R4,4,1,R2,2,1,R1,1,1,R0,0,1
|
||||||
|
0x4c04,,GPIO2_CNT2,16,rw,OS,volatile,VO,8,1,WO,0,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
#FuseROM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
0x4d00,,CHIP_ID0,32,r,OS,volatile,WAFER2,28,4,WAFER1,24,4,X3,20,4,X2,16,4,X1,12,4,Y3,8,4,Y2,4,4,Y1,0,4
|
||||||
|
0x4d04,,CHIP_ID1,32,r,OS,volatile,FAB2,25,4,FAB1,20,5,LOT5,16,4,LOT4,12,4,LOT3,8,4,LOT2,4,4,LOT1,0,4,,,
|
||||||
|
0x4d08,,ID_VERIFY,16,r,OS,volatile,ERR,0,1,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
Can't render this file because it has a wrong number of fields in line 17.
|
BIN
trunk/build/buildsetup/ioreg_sp/io_register_list.xls
Normal file
BIN
trunk/build/buildsetup/ioreg_sp/io_register_list.xls
Normal file
Binary file not shown.
65
trunk/build/buildsetup/versions/Makefile
Normal file
65
trunk/build/buildsetup/versions/Makefile
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: NitroSDK - buildsetup - versions
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded insructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CTR_FORCE_BUILD = True
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/commondefs
|
||||||
|
-include $(SDK_VERINFO_CW_CC) $(SDK_VERINFO_CW_LD)
|
||||||
|
|
||||||
|
TARGETS = version.h
|
||||||
|
|
||||||
|
ifeq ($(CTRSDK_VERSION_MAJOR),4)
|
||||||
|
TARGETS_MAKEFILE = $(ROOT)/release/Makefile.4x
|
||||||
|
else
|
||||||
|
ifeq ($(CTRSDK_VERSION_MAJOR),3)
|
||||||
|
TARGETS_MAKEFILE = $(ROOT)/release/Makefile.3x
|
||||||
|
else
|
||||||
|
ifeq ($(CTRSDK_VERSION_MAJOR),2)
|
||||||
|
TARGETS_MAKEFILE = $(ROOT)/release/Makefile.2x
|
||||||
|
else
|
||||||
|
TARGETS_MAKEFILE = $(ROOT)/release/Makefile
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
INSTALL_TARGETS = $(TARGETS)
|
||||||
|
INSTALL_DIR = $(CTR_INSTALL_INCDIR)/nitro
|
||||||
|
LDIRT_CLEAN = $(TARGETS)
|
||||||
|
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
do-build: $(TARGETS)
|
||||||
|
|
||||||
|
SDK_BUILDVER_CW_CC = $(shell echo $(SDK_CW_BUILD_VERSION_CC) | sed -e 's/^\(.\)/\1/')
|
||||||
|
SDK_BUILDVER_CW_LD = $(shell echo $(SDK_CW_BUILD_VERSION_LD) | sed -e 's/^\(.\)/\1/')
|
||||||
|
SDK_BUILDNUM_CW_CC = $(shell echo $(SDK_CW_BUILD_NUMBER_CC) | sed -e 's/^0*\(.\)/\1/')
|
||||||
|
SDK_BUILDNUM_CW_LD = $(shell echo $(SDK_CW_BUILD_NUMBER_LD) | sed -e 's/^0*\(.\)/\1/')
|
||||||
|
|
||||||
|
MAKEVER_FLAGS = VERSIONFILE=$(TARGETS) \
|
||||||
|
SDK_BUILDVER_CW_CC=$(SDK_BUILDVER_CW_CC) \
|
||||||
|
SDK_BUILDVER_CW_LD=$(SDK_BUILDVER_CW_LD) \
|
||||||
|
SDK_BUILDNUM_CW_CC=$(SDK_BUILDNUM_CW_CC) \
|
||||||
|
SDK_BUILDNUM_CW_LD=$(SDK_BUILDNUM_CW_LD)
|
||||||
|
|
||||||
|
$(TARGETS): $(TARGETS_MAKEFILE)
|
||||||
|
@$(ECHO) SDK_BUILDVER_CW_CC=$(SDK_BUILDVER_CW_CC)
|
||||||
|
@$(ECHO) SDK_BUILDVER_CW_LD=$(SDK_BUILDVER_CW_LD)
|
||||||
|
@$(ECHO) SDK_BUILDNUM_CW_CC=$(SDK_BUILDNUM_CW_CC)
|
||||||
|
@$(ECHO) SDK_BUILDNUM_CW_LD=$(SDK_BUILDNUM_CW_LD)
|
||||||
|
@$(MAKE) -s -f $(TARGETS_MAKEFILE) $(MAKEVER_FLAGS) version > /dev/null
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
20
trunk/build/buildsetup/versions/version.h
Normal file
20
trunk/build/buildsetup/versions/version.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#ifndef CTRSDK_VERSION_H_
|
||||||
|
#define CTRSDK_VERSION_H_
|
||||||
|
#define SDK_VERSION_DATE 20070704
|
||||||
|
#define SDK_VERSION_TIME 1421
|
||||||
|
#define SDK_VERSION_MAJOR 4
|
||||||
|
#define SDK_VERSION_MINOR 0
|
||||||
|
#define SDK_VERSION_RELSTEP 30000
|
||||||
|
#define SDK_BUILDVER_CW_CC 3.0
|
||||||
|
#define SDK_BUILDVER_CW_LD 2.0
|
||||||
|
#define SDK_BUILDNUM_CW_CC 123
|
||||||
|
#define SDK_BUILDNUM_CW_LD 84
|
||||||
|
|
||||||
|
#ifndef SDK_VERSION_NUMBER
|
||||||
|
#define SDK_VERSION_NUMBER(major, minor, relstep) \
|
||||||
|
(((major) << 24) | ((minor) << 16) | ((relstep) << 0))
|
||||||
|
#define SDK_CURRENT_VERSION_NUMBER \
|
||||||
|
SDK_VERSION_NUMBER(SDK_VERSION_MAJOR, SDK_VERSION_MINOR, SDK_VERSION_RELSTEP)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
21
trunk/build/buildtools/@privatedefs
Normal file
21
trunk/build/buildtools/@privatedefs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrFirm - @privatedefs
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2007 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded insructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Date:: 2007-07-31#$
|
||||||
|
# $Rev: 387 $
|
||||||
|
# $Author: terui $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CTR_WITH_ARM9 := TRUE
|
||||||
|
|
||||||
|
#===== End of @privatedefs =====
|
||||||
21
trunk/build/buildtools/_privatedefs
Normal file
21
trunk/build/buildtools/_privatedefs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: TwlSDK - _privatedefs
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2007 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded insructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Date:: 2007-07-31#$
|
||||||
|
# $Rev: 387 $
|
||||||
|
# $Author: terui $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CTR_PRIVATE := TRUE
|
||||||
|
|
||||||
|
#===== End of _privatedefs =====
|
||||||
488
trunk/build/buildtools/commondefs
Normal file
488
trunk/build/buildtools/commondefs
Normal file
@ -0,0 +1,488 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - commondefs - common definitions for build system
|
||||||
|
# File: commondefs
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifndef CTRSDK_COMMONDEFS_
|
||||||
|
CTRSDK_COMMONDEFS_ = TRUE
|
||||||
|
|
||||||
|
#
|
||||||
|
# SDK root directory
|
||||||
|
#
|
||||||
|
|
||||||
|
CTRSDK_ROOT ?= C:/ctr_sdk
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# SDK Major Version
|
||||||
|
#
|
||||||
|
|
||||||
|
CTRSDK_VERSION_MAJOR ?= 4
|
||||||
|
|
||||||
|
#
|
||||||
|
# CodeGen Target
|
||||||
|
#
|
||||||
|
# CTR_PLATFORM = [TEG/TS]
|
||||||
|
# CTR_MEMSIZE = [64M/128M]
|
||||||
|
# CTR_CODEGEN = [ARM/THUMB]
|
||||||
|
# CTR_PROC = [ARM11/ARM9/ARM7]
|
||||||
|
#
|
||||||
|
|
||||||
|
CTR_PLATFORM ?= TS
|
||||||
|
CTR_MEMSIZE ?= 64M
|
||||||
|
CTR_CODEGEN ?= ARM
|
||||||
|
CTR_PROC ?= ARM11
|
||||||
|
|
||||||
|
ifndef CODEGEN_PROC
|
||||||
|
CODEGEN_PROC := $(CTR_PROC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CTR_CODEGEN),ALL)
|
||||||
|
CTR_CODEGEN_ALL ?= TRUE
|
||||||
|
override CTR_CODEGEN = ARM
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CTR_CODEGEN),ARM)
|
||||||
|
CODEGEN_ARCH =
|
||||||
|
else # ($(CTR_CODEGEN),THUMB)
|
||||||
|
CODEGEN_ARCH = .thumb
|
||||||
|
endif
|
||||||
|
CODEGEN_CC ?= $(CTR_CODEGEN)
|
||||||
|
CODEGEN_AS ?= ARM
|
||||||
|
|
||||||
|
TS_VERSION = $(if $(CTR_TS_VERSION),_TS$(CTR_TS_VERSION))
|
||||||
|
|
||||||
|
#
|
||||||
|
# C Compiler type
|
||||||
|
#
|
||||||
|
# CTR_CCTYPE = [CW/SNC]
|
||||||
|
#
|
||||||
|
|
||||||
|
CTR_CCTYPE ?= CW
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Binary build tool switch
|
||||||
|
#
|
||||||
|
|
||||||
|
ifeq ($(CTR_ELFTOBIN),)
|
||||||
|
CTR_MAKEROM ?= TRUE
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CTR_MAKEROM)$(CTR_PLATFORM),TS)
|
||||||
|
__error:
|
||||||
|
@echo "---- Stop, Don't use ELFTOBIN with CTR_PLATFORM=TS ----"
|
||||||
|
@exit 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
#
|
||||||
|
# RomSpeedType for makerom.exe
|
||||||
|
#
|
||||||
|
# one of [MROM/1TROM/UNDEFINED]
|
||||||
|
#
|
||||||
|
|
||||||
|
CTR_ROMSPEED ?= UNDEFINED
|
||||||
|
|
||||||
|
#
|
||||||
|
# SDK build type
|
||||||
|
#
|
||||||
|
# one of [CTR_DEBUG/CTR_RELEASE/CTR_FINALROM]
|
||||||
|
#
|
||||||
|
|
||||||
|
ifdef CTR_DEBUG
|
||||||
|
CTR_BUILD_TYPE ?= DEBUG
|
||||||
|
CTR_BUILD_DIR ?= Debug
|
||||||
|
|
||||||
|
else
|
||||||
|
ifdef CTR_FINALROM
|
||||||
|
CTR_BUILD_TYPE ?= FINALROM
|
||||||
|
CTR_BUILD_DIR ?= Rom
|
||||||
|
|
||||||
|
else # CTR_RELEASE (default)
|
||||||
|
CTR_BUILD_TYPE ?= RELEASE
|
||||||
|
CTR_BUILD_DIR ?= Release
|
||||||
|
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Utilities
|
||||||
|
#
|
||||||
|
|
||||||
|
EMPTY :=
|
||||||
|
SPACE := $(EMPTY) $(EMPTY)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# CTR-SDK path settings
|
||||||
|
#
|
||||||
|
-include $(CTR_BUILDTOOLSDIR)/commondefs.cygpath
|
||||||
|
|
||||||
|
ROOT := $(subst $(SPACE),\ ,$(subst \,/,$(CTRSDK_ROOT)))
|
||||||
|
CTR_BUILDTOOLSDIR := $(ROOT)/build/buildtools
|
||||||
|
CTR_BUILDSETUPDIR := $(ROOT)/build/buildsetup
|
||||||
|
CTR_INCDIR := $(ROOT)/include
|
||||||
|
CTR_TOOLSDIR := $(ROOT)/tools
|
||||||
|
CTR_COMPONENTSDIR := $(ROOT)/components
|
||||||
|
CTR_ADDINS ?= $(ROOT)/add-ins
|
||||||
|
|
||||||
|
CTR_BUILDARCH ?= $(CODEGEN_PROC)-$(CTR_PLATFORM)$(CODEGEN_ARCH)
|
||||||
|
CTR_BUILDARCH_ARM11 := ARM9-$(CTR_PLATFORM)$(CODEGEN_ARCH)
|
||||||
|
CTR_BUILDARCH_ARM9 := ARM7-$(CTR_PLATFORM)$(CODEGEN_ARCH)
|
||||||
|
|
||||||
|
CTR_BUILDTYPE ?= $(CTR_BUILDARCH)/$(CTR_BUILD_DIR)
|
||||||
|
CTR_BUILDTYPE_ARM11 := $(CTR_BUILDARCH_ARM9)/$(CTR_BUILD_DIR)
|
||||||
|
CTR_BUILDTYPE_ARM9 := $(CTR_BUILDARCH_ARM7)/$(CTR_BUILD_DIR)
|
||||||
|
|
||||||
|
CTR_LIBARCH := $(CODEGEN_PROC)-$(CTR_PLATFORM)
|
||||||
|
CTR_LIBTYPE := $(CTR_LIBARCH)/$(CTR_BUILD_DIR)
|
||||||
|
CTR_LIBDIR := $(ROOT)/lib/$(CTR_LIBTYPE)
|
||||||
|
CTR_LIBSYSCALLDIR := $(ROOT)/lib/$(CTR_LIBARCH)/etc
|
||||||
|
CTR_LIBSUFFIX := $(CODEGEN_ARCH)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# CTR-SYSTEM path settings
|
||||||
|
#
|
||||||
|
|
||||||
|
ifdef CTRSYSTEM_ROOT
|
||||||
|
CTRSYSTEM_ROOT_ := $(subst $(SPACE),\ ,$(subst \,/,$(CTRSYSTEM_ROOT)))
|
||||||
|
-include $(CTRSYSTEM_ROOT_)/build/buildtools/nnslibdefs
|
||||||
|
endif
|
||||||
|
|
||||||
|
CTRSYSTEM_LIBDIR ?= $(ROOT)/lib/CtrSystem/$(CTR_LIBTYPE)
|
||||||
|
CTRSYSTEM_INCDIR ?=
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# CTR-WIRELESS path settings
|
||||||
|
#
|
||||||
|
# libraries should be in
|
||||||
|
# $(ROOT)/lib/CtrWireless
|
||||||
|
#
|
||||||
|
# includes should be in
|
||||||
|
# $(ROOT)/include/nitro_wl/ARM11/*.h
|
||||||
|
#
|
||||||
|
# access by #include <nitro_wl/ARM11/*.h>
|
||||||
|
#
|
||||||
|
# SDK_VERSION_WL is defined in <nitro_wl/ARM11/version_wl.h>
|
||||||
|
#
|
||||||
|
|
||||||
|
CTRWIRELESS_VERSION ?= 2.78.00
|
||||||
|
CTRWIRELESS_ROOT ?= $(ROOT)/add-ins/CtrWireless/Marionea-$(CTRWIRELESS_VERSION)
|
||||||
|
CTRWIRELESS_ROOT_ = $(subst $(SPACE),\ ,$(subst \,/,$(CTRWIRELESS_ROOT)))
|
||||||
|
ifneq ($(CTR_PROC),ARM9)
|
||||||
|
CTRWIRELESS_LIBDIR ?= $(ROOT)/lib/CtrWireless/$(CTR_LIBTYPE)
|
||||||
|
CTRWIRELESS_INCDIR ?= $(ROOT)/include
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Compiler settings
|
||||||
|
#
|
||||||
|
|
||||||
|
CTR_FORCE_BUILD ?= $(strip $(TARGET_BIN) $(TARGET_OBJ) $(TARGET_NEF) $(TARGET_LIB) $(TARGET_SIGN_BIN))
|
||||||
|
|
||||||
|
ifneq ($(CTR_FORCE_BUILD),)
|
||||||
|
|
||||||
|
### module subdir src/ obj/ lib/ include/
|
||||||
|
|
||||||
|
DEFAULT_SRCDIR := ./src
|
||||||
|
DEFAULT_INCDIR := ./include
|
||||||
|
DEFAULT_ETCDIR := ./etc
|
||||||
|
|
||||||
|
LCF_SUFFIX_ := $(if $(CTR_DIGEST),-C)
|
||||||
|
CTR_SPECDIR := $(CTR_INCDIR)/nitro/specfiles
|
||||||
|
DEFAULT_LCFILE := $(CTR_SPECDIR)/$(CTR_LIBARCH).lcf
|
||||||
|
DEFAULT_LCFILE_TEMPLATE := $(CTR_SPECDIR)/$(CTR_LIBARCH)$(LCF_SUFFIX_).lcf.template
|
||||||
|
DEFAULT_LCFILE_SPEC := $(CTR_SPECDIR)/$(CTR_LIBARCH).lsf
|
||||||
|
DEFAULT_ROM_SPEC := $(CTR_SPECDIR)/ROM-$(CTR_PLATFORM).rsf
|
||||||
|
|
||||||
|
SRCDIR ?= $(DEFAULT_SRCDIR)
|
||||||
|
INCDIR ?= $(DEFAULT_INCDIR)
|
||||||
|
ETCDIR ?= $(DEFAULT_ETCDIR)
|
||||||
|
OBJDIR ?= ./obj/$(CTR_BUILDTYPE)
|
||||||
|
BINDIR ?= ./bin/$(CTR_BUILDTYPE)
|
||||||
|
LIBDIR ?= ./lib/$(CTR_BUILDTYPE)
|
||||||
|
DEPENDDIR ?= ./depend/$(CTR_BUILDTYPE)
|
||||||
|
|
||||||
|
LIBSYSCALL_ = $(if $(LIBSYSCALL),$(LIBSYSCALL),$(CTR_LIBSYSCALLDIR)/libsyscall.a)
|
||||||
|
|
||||||
|
### Compiler & Linker settings
|
||||||
|
|
||||||
|
-include $(CTR_BUILDTOOLSDIR)/commondefs.cctype.$(CTR_CCTYPE)
|
||||||
|
|
||||||
|
ifneq ($(CTR_MAKEROM),)
|
||||||
|
LCFILE_TEMPLATE ?= $(DEFAULT_LCFILE_TEMPLATE)
|
||||||
|
LCFILE_SPEC ?= $(DEFAULT_LCFILE_SPEC)
|
||||||
|
LCFILE_AUTOGEN ?= $(BINDIR)/$(notdir $(LCFILE_SPEC:.lsf=.autogen.lcf))
|
||||||
|
LCFILE ?= $(LCFILE_AUTOGEN)
|
||||||
|
DEFAULT_LDRES_TEMPLATE := $(CTR_SPECDIR)/$(basename $(notdir $(LD))).response.template
|
||||||
|
LDRES_TEMPLATE ?= $(DEFAULT_LDRES_TEMPLATE)
|
||||||
|
LDRES_AUTOGEN ?= $(BINDIR)/$(notdir $(LCFILE_SPEC:.lsf=.autogen.response))
|
||||||
|
LDRES_FILE ?= $(LDRES_AUTOGEN)
|
||||||
|
else
|
||||||
|
LCFILE ?= $(DEFAULT_LCFILE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
TARGETS = $(addprefix $(BINDIR)/,$(TARGET_BIN) $(TARGET_NEF) $(TARGET_SIGN_BIN)) \
|
||||||
|
$(addprefix $(OBJDIR)/,$(TARGET_OBJ)) \
|
||||||
|
$(addprefix $(LIBDIR)/,$(TARGET_LIB))
|
||||||
|
|
||||||
|
TARGET_BIN_BASENAME = $(notdir $(basename $(firstword $(TARGET_BIN) $(TARGET_NEF))))
|
||||||
|
TARGET_NAME ?= $(TARGET_BIN_BASENAME)
|
||||||
|
|
||||||
|
### Debugger settings
|
||||||
|
|
||||||
|
ifndef IS_CTR_DIR
|
||||||
|
ifdef IS_IRIS_DIR
|
||||||
|
IS_CTR_DIR = $(IS_IRIS_DIR)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
-include $(CTR_BUILDTOOLSDIR)/commondefs.emtype.ISD
|
||||||
|
|
||||||
|
|
||||||
|
### SDK Library settings
|
||||||
|
|
||||||
|
CRT0_O ?= crt0.o
|
||||||
|
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
|
||||||
|
CTR_LIBS ?= libfx$(CTR_LIBSUFFIX).a \
|
||||||
|
libgx$(CTR_LIBSUFFIX).a \
|
||||||
|
libos$(TS_VERSION)$(CTR_LIBSUFFIX).a \
|
||||||
|
libmi$(CTR_LIBSUFFIX).a \
|
||||||
|
libsnd$(CTR_LIBSUFFIX).a \
|
||||||
|
libpxi$(CTR_LIBSUFFIX).a \
|
||||||
|
libext$(CTR_LIBSUFFIX).a \
|
||||||
|
libfs$(CTR_LIBSUFFIX).a \
|
||||||
|
libdgt$(CTR_LIBSUFFIX).a \
|
||||||
|
libcp$(CTR_LIBSUFFIX).a \
|
||||||
|
libspi$(TS_VERSION)$(CTR_LIBSUFFIX).a \
|
||||||
|
librtc$(CTR_LIBSUFFIX).a \
|
||||||
|
libprc$(CTR_LIBSUFFIX).a \
|
||||||
|
libcard$(CTR_LIBSUFFIX).a \
|
||||||
|
libwm$(CTR_LIBSUFFIX).a \
|
||||||
|
libwbt$(CTR_LIBSUFFIX).a \
|
||||||
|
libmb$(CTR_LIBSUFFIX).a \
|
||||||
|
libctrdg$(CTR_LIBSUFFIX).a \
|
||||||
|
libmath$(CTR_LIBSUFFIX).a \
|
||||||
|
libcht$(CTR_LIBSUFFIX).a \
|
||||||
|
libstd$(CTR_LIBSUFFIX).a \
|
||||||
|
libenv$(CTR_LIBSUFFIX).a \
|
||||||
|
$(notdir $(LIBSYSCALL_)) \
|
||||||
|
$(CRT0_O)
|
||||||
|
|
||||||
|
ifdef CTR_PROFILE_TYPE
|
||||||
|
CTR_LIBS += libos.$(CTR_PROFILE_TYPE)$(CTR_LIBSUFFIX).a
|
||||||
|
endif
|
||||||
|
|
||||||
|
else # ($(CODEGEN_PROC),ARM9)
|
||||||
|
|
||||||
|
CTR_LIBS ?= libos_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libmi_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libsnd_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libpxi_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libpad_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libexi_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libfs_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libcard_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
librtc_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libspi_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libtp_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libnvram_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libmic_sp$(TS_VERSION)$(CTR_LIBSUFFIX).a \
|
||||||
|
libpm_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libctrdg_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libwvr_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libstd_sp$(CTR_LIBSUFFIX).a \
|
||||||
|
libsubpsyscall.a \
|
||||||
|
$(CRT0_O)
|
||||||
|
|
||||||
|
ifdef CTR_PROFILE_TYPE
|
||||||
|
CTR_LIBS += libos_sp.$(CTR_PROFILE_TYPE)$(CTR_LIBSUFFIX).a
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
### Global Library settings
|
||||||
|
|
||||||
|
DEFAULT_GINCLUDES := $(INCDIR) $(SRCDIR) \
|
||||||
|
$(CTRSYSTEM_INCDIR) $(CTRWIRELESS_INCDIR) \
|
||||||
|
$(CTR_INCDIR) $(ISD_INCDIRS)
|
||||||
|
|
||||||
|
DEFAULT_GLIBRARY_DIRS := $(LIBDIR) $(dir $(LIBSYSCALL_)) \
|
||||||
|
$(CTRSYSTEM_LIBDIR) $(CTRWIRELESS_LIBDIR) \
|
||||||
|
$(CTR_LIBDIR) $(ISD_LIBDIRS)
|
||||||
|
|
||||||
|
DEFAULT_GLIBRARIES := $(CTRSYSTEM_LIBS) $(CTR_LIBS) $(STUBS_LIBS) $(ISD_LIBS)
|
||||||
|
|
||||||
|
GINCLUDES ?= $(DEFAULT_GINCLUDES)
|
||||||
|
GLIBRARY_DIRS ?= $(DEFAULT_GLIBRARY_DIRS)
|
||||||
|
GLIBRARIES ?= $(DEFAULT_GLIBRARIES)
|
||||||
|
|
||||||
|
LINCLUDES ?=
|
||||||
|
LLIBRARY_DIRS ?=
|
||||||
|
LLIBRARIES ?=
|
||||||
|
LNEWDIRS ?=
|
||||||
|
|
||||||
|
NEWDIRS ?= $(if $(SRCS),$(OBJDIR) $(DEPENDDIR)) \
|
||||||
|
$(if $(TARGET_LIB),$(LIBDIR)) \
|
||||||
|
$(if $(TARGET_BIN)$(TARGET_NEF),$(BINDIR)) \
|
||||||
|
$(LNEWDIRS)
|
||||||
|
|
||||||
|
GDIRT_CLEAN_DIRS := ./obj ./bin ./lib ./depend
|
||||||
|
GDIRT_CLOBBER_DIRS :=
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# MAKE COMMAND SETTINGS
|
||||||
|
#
|
||||||
|
# --no-print-directory: No print directory when 'change directory'
|
||||||
|
# -r no builtin rules
|
||||||
|
# -R no builtin variables
|
||||||
|
# -j do make with multi-thread (not used now)
|
||||||
|
#
|
||||||
|
MAKEFILE = $(firstword $(MAKEFILE_LIST))
|
||||||
|
MAKEFLAGS_SHORT = $(filter -%,$(filter-out --%,$(MAKEFLAGS)))
|
||||||
|
|
||||||
|
MAKEFLAGS += -R -r
|
||||||
|
|
||||||
|
# Check -w option
|
||||||
|
ifeq (,$(findstring w,$(MAKEFLAGS_SHORT)))
|
||||||
|
MAKEFLAGS += --no-print-directory
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Check -k option
|
||||||
|
ifeq (,$(findstring k,$(MAKEFLAGS_SHORT)))
|
||||||
|
AND = &&
|
||||||
|
else
|
||||||
|
AND = ;
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Check -s option
|
||||||
|
ifneq (,$(findstring s,$(MAKEFLAGS_SHORT)))
|
||||||
|
CTR_STDOUT = > /dev/null
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# CYGWIN TOOLS
|
||||||
|
#
|
||||||
|
|
||||||
|
CD := cd
|
||||||
|
CP := cp -rf
|
||||||
|
RM := rm -rf
|
||||||
|
MV := mv
|
||||||
|
MKDIRP := mkdir -p
|
||||||
|
SED := sed
|
||||||
|
INSTALL := install -p
|
||||||
|
TOUCH := touch
|
||||||
|
ECHO := echo
|
||||||
|
PERL := perl
|
||||||
|
OBJCOPY := objcopy -I elf32-little -O binary
|
||||||
|
REMAKE := $(MAKE) -f $(MAKEFILE)
|
||||||
|
|
||||||
|
LEX := flex
|
||||||
|
YACC := bison -y
|
||||||
|
CC_X86 := gcc -mno-cygwin
|
||||||
|
CXX_X86 := g++ -mno-cygwin
|
||||||
|
LD_X86 := gcc -mno-cygwin
|
||||||
|
AR_X86 := ar ruc
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# MY BUILD TOOLS
|
||||||
|
#
|
||||||
|
|
||||||
|
MAKELCF := $(CTR_TOOLSDIR)/bin/makelcf.exe
|
||||||
|
MAKEBANNER := $(CTR_TOOLSDIR)/bin/makebanner.exe
|
||||||
|
ADDBANNER := $(CTR_TOOLSDIR)/bin/addbanner.exe
|
||||||
|
NTEXCONV := $(CTR_TOOLSDIR)/bin/ntexconv.exe
|
||||||
|
COMPSTATIC := $(CTR_TOOLSDIR)/bin/compstatic.exe
|
||||||
|
MAKEROM := $(CTR_TOOLSDIR)/bin/makerom.exe
|
||||||
|
EMUCHILD := $(CTR_TOOLSDIR)/bin/emuchild.exe
|
||||||
|
ATTACHSIGN := $(CTR_TOOLSDIR)/bin/attachsign.exe
|
||||||
|
BIN2OBJ := $(CTR_TOOLSDIR)/bin/bin2obj.exe
|
||||||
|
|
||||||
|
MAKELCF_FLAGS ?=
|
||||||
|
MAKEBANNER_FLAGS ?=
|
||||||
|
MAKEROM_FLAGS ?=
|
||||||
|
COMPSTATIC_FLAGS ?=
|
||||||
|
DEFAULT_COMP_ARM9 ?= $(if $(findstring TEG,$(CTR_PLATFORM)),ferret,mongoose)
|
||||||
|
DEFAULT_ADDRESS_DTCM ?= $(if $(findstring TEG,$(CTR_PLATFORM)),0x02380000,0x027e0000)
|
||||||
|
DEFAULT_COMPSUFFIX ?= _LZ
|
||||||
|
DEFAULT_MAKEROM_ARM11 := $(CTR_COMPONENTSDIR)/printserver/$(CTR_BUILDTYPE_ARM9)/main.nef
|
||||||
|
DEFAULT_MAKEROM_ARM9 := $(CTR_COMPONENTSDIR)/$(DEFAULT_COMP_ARM9)/$(CTR_BUILDTYPE_ARM7)/$(DEFAULT_COMP_ARM9)_sub$(TS_VERSION).nef
|
||||||
|
|
||||||
|
DEFAULT_MAKEROM_ROMROOT := ./files
|
||||||
|
DEFAULT_MAKEROM_ROMFILES :=
|
||||||
|
DEFAULT_MAKEROM_ROMSPEED ?= $(CTR_ROMSPEED)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# LIST OF JUNKS for "make
|
||||||
|
#
|
||||||
|
|
||||||
|
GDIRT_CLEAN = a.out core *~ *.bak \\\#*\\\# $(GDIRT_CLEAN_DIRS)
|
||||||
|
|
||||||
|
GDIRT_CLOBBER = $(GDIRT_CLOBBER_DIRS)
|
||||||
|
|
||||||
|
GDIRT_INSTALLED = $(addprefix $(INSTALL_DIR)/,$(notdir $(INSTALL_TARGETS)))
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# CTRSDK_INSTALL_ROOT
|
||||||
|
#
|
||||||
|
|
||||||
|
ifdef CTRSDK_INSTALL_ROOT
|
||||||
|
CTRSDK_INSTALL_ROOT_ := $(CTRSDK_INSTALL_ROOT)
|
||||||
|
else
|
||||||
|
CTRSDK_INSTALL_ROOT_ := $(CTRSDK_ROOT)
|
||||||
|
endif
|
||||||
|
|
||||||
|
CTR_INSTALL_ROOT := $(subst $(SPACE),\ ,$(subst \,/,$(CTRSDK_INSTALL_ROOT_)))
|
||||||
|
CTR_INSTALL_INCDIR := $(CTR_INSTALL_ROOT)/include
|
||||||
|
CTR_INSTALL_TOOLSDIR := $(CTR_INSTALL_ROOT)/tools
|
||||||
|
CTR_INSTALL_LIBDIR := $(CTR_INSTALL_ROOT)/lib/$(CTR_LIBTYPE)
|
||||||
|
CTR_INSTALL_COMPONENTSDIR := $(CTR_INSTALL_ROOT)/components
|
||||||
|
CTR_INSTALL_ADDINS := $(CTR_INSTALL_ROOT)/add-ins
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# PRIVATE FLAGS
|
||||||
|
#
|
||||||
|
-include $(CTR_BUILDTOOLSDIR)/_privatedefs
|
||||||
|
-include $(CTR_BUILDTOOLSDIR)/@privatedefs
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Load add-ins' commondefs
|
||||||
|
#
|
||||||
|
-include $(CTR_BUILDTOOLSDIR)/commondefs.add-ins.*
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# DEFAULT TARGET
|
||||||
|
#
|
||||||
|
ifdef CTR_UTEST
|
||||||
|
default all: utest
|
||||||
|
else
|
||||||
|
default all: build
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
endif # CTRSDK_COMMONDEFS_
|
||||||
|
#----- End of commondefs -----
|
||||||
41
trunk/build/buildtools/commondefs.add-ins.utest
Normal file
41
trunk/build/buildtools/commondefs.add-ins.utest
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - UnitTest Tool
|
||||||
|
# File: commondefs.add-ins.utest
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded insructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#
|
||||||
|
# UNIT TEST on ARM11
|
||||||
|
#
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
|
||||||
|
ELIBRARIES += libutest$(CTR_LIBSUFFIX).a
|
||||||
|
|
||||||
|
MAKE_UTEST_MAIN = $(CTR_TOOLSDIR)/bin/make_utest_main__
|
||||||
|
UTEST_MAIN_SRC = $(OBJDIR)/utest_main__.c
|
||||||
|
UTEST_MAIN_BIN = utest_main__.srl
|
||||||
|
|
||||||
|
ifdef UTEST_CHECKASSERT
|
||||||
|
MACRO_FLAGS += -DSDK_CHECKASSERT
|
||||||
|
endif
|
||||||
|
|
||||||
|
#
|
||||||
|
# UNIT TEST on ARM9
|
||||||
|
#
|
||||||
|
else # ($(CODEGEN_PROC),ARM9)
|
||||||
|
# Not support unit test on ARM9
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
#===== End of commondefs.add-ins.utest =====
|
||||||
510
trunk/build/buildtools/commondefs.cctype.CW
Normal file
510
trunk/build/buildtools/commondefs.cctype.CW
Normal file
@ -0,0 +1,510 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - buildtools - compiler dependant settings for CW
|
||||||
|
# File: commondefs.cctype.CW
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
EMPTY ?=
|
||||||
|
SPACE ?= $(EMPTY) $(EMPTY)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
CTR_STD_PCHDR ?= True
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
CWFOLDER_IRIS ?= C:/Program Files/Metrowerks/CW for NINTENDO DS V1.2
|
||||||
|
CWFOLDER_CTR ?= $(CWFOLDER_IRIS)
|
||||||
|
LM_LICENSE_FILE := $(subst /,\,$(CWFOLDER_CTR))\license.dat
|
||||||
|
CW_ROOT := $(subst $(SPACE),\ ,$(subst \,/,$(CWFOLDER_CTR)))
|
||||||
|
CW_BINDIR := $(CW_ROOT)/ARM_Tools/Command_Line_Tools
|
||||||
|
CW_ARMDIR := $(CW_ROOT)/ARM_EABI_Support
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
SDK_VERINFO_CW_CC := $(CTR_BUILDTOOLSDIR)/verinfo.cw.cc
|
||||||
|
SDK_VERINFO_CW_LD := $(CTR_BUILDTOOLSDIR)/verinfo.cw.ld
|
||||||
|
|
||||||
|
ifeq ($(MAKECMDGOALS),do-build)
|
||||||
|
|
||||||
|
-include $(SDK_VERINFO_CW_CC) $(SDK_VERINFO_CW_LD)
|
||||||
|
#--------CW2.0beta2 以降のバージョンへの対応
|
||||||
|
ifndef SDK_CW_BUILD_VERSION_CC
|
||||||
|
#--------SDK_CW_BUILD_VERSION_CCが定義されていない場合makeでverinfoを作成
|
||||||
|
MAKE_VERINFO := $(shell make make-verinfo)
|
||||||
|
-include $(SDK_VERINFO_CW_CC) $(SDK_VERINFO_CW_LD)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(shell expr "$(SDK_CW_BUILD_VERSION_CC)" ">=" 3.0),1)
|
||||||
|
CW_MAJOR_VER ?= 2
|
||||||
|
endif
|
||||||
|
# "__declspec(force_export)" support
|
||||||
|
ifeq ($(shell expr "$(SDK_CW_BUILD_VERSION_CC)" ">=" 3.0),1)
|
||||||
|
SDK_CW_FORCE_EXPORT_SUPPORT := yes
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
CW_MAJOR_VER ?= 1
|
||||||
|
|
||||||
|
######## IRIS V0.2 Hotfix 1
|
||||||
|
######## CTR V0.3
|
||||||
|
#CW_AVOID_STRB := -avoid_strb all,noerr
|
||||||
|
#
|
||||||
|
######## CTR V0.4 or other
|
||||||
|
CW_AVOID_STRB := -avoid_byte strb -warn_byte none
|
||||||
|
#CW_AVOID_STRB := -avoid_byte strb -warn_byte all
|
||||||
|
#
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
MWCC := $(CW_BINDIR)/mwccarm.exe
|
||||||
|
MWAS := $(CW_BINDIR)/mwasmarm.exe
|
||||||
|
MWLD := $(CW_BINDIR)/mwldarm.exe
|
||||||
|
MWAR := $(MWLD)
|
||||||
|
|
||||||
|
CC := $(MWCC)
|
||||||
|
AS := $(MWAS)
|
||||||
|
LD := $(MWLD)
|
||||||
|
AR := $(MWAR)
|
||||||
|
|
||||||
|
ELFTOBIN := $(CW_BINDIR)/elftobin.exe
|
||||||
|
ELFTOBIN_TYPE := $(CTR_PLATFORM)$(CODEGEN_ARCH)/$(CTR_BUILD_DIR)
|
||||||
|
ELFTOBIN_ARM11 ?= $(CTR_COMPONENTSDIR)/printserver/$(CTR_BUILDTYPE_ARM11)/printserver.nef
|
||||||
|
ELFTOBIN_ARM9 ?= $(CTR_COMPONENTSDIR)/ferret/$(CTR_BUILDTYPE_ARM9)/ferret.nef
|
||||||
|
ELFTOBIN_ROMHEADER ?= $(CTR_TOOLSDIR)/elftobin/romHeader.bin
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Workaround flags
|
||||||
|
# SDK_CW_WARNOFF_SAFESTRB : use code32.h to wipe warning STRB out
|
||||||
|
# SDK_CW_WA_OPT4 : workaround for -O4
|
||||||
|
# SDK_CW_WA_CONSTPOOLS : workaround for CW 'ConstantPools.c'line: 346
|
||||||
|
# SDK_CW_WA_OPT_BLX : workaround for blxeq,blxne with opt>=2
|
||||||
|
# SDK_CW_WA_LIBCXX : workaround for 'C++' libname in lcf
|
||||||
|
#
|
||||||
|
|
||||||
|
#--- flags ---
|
||||||
|
ifeq ($(CTR_PLATFORM),TEG)
|
||||||
|
SDK_CW_WARNOFF_SAFESTRB := yes
|
||||||
|
else
|
||||||
|
SDK_CW_WARNOFF_SAFESTRB :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
######## IRIS V0.2 Hotfix 1
|
||||||
|
######## CTR V0.3
|
||||||
|
######## CTR V0.4.1
|
||||||
|
#SDK_CW_WA_OPT4 := yes
|
||||||
|
#SDK_CW_WA_CONSTPOOLS := yes
|
||||||
|
#SDK_CW_WA_OPT_BLX := yes
|
||||||
|
######## CTR V0.5
|
||||||
|
######## CTR V0.5 + HotFix1
|
||||||
|
######## CTR V0.6
|
||||||
|
#SDK_CW_WA_LIBCXX := yes
|
||||||
|
|
||||||
|
#-----------------------------------
|
||||||
|
#
|
||||||
|
ifdef SDK_CW_WA_OPT_BLX
|
||||||
|
ifdef CTR_BLXCHECKED
|
||||||
|
# workaround by pragma
|
||||||
|
MACRO_FLAGS += -DSDK_CW_WA_OPT_BLX
|
||||||
|
else
|
||||||
|
# workaround by option
|
||||||
|
SDK_CW_AVOID_ARM_ARCH5 := yes
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef SDK_CW_WARNOFF_SAFESTRB
|
||||||
|
MACRO_FLAGS += -DSDK_CW_WARNOFF_SAFESTRB
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef SDK_CW_WA_OPT4
|
||||||
|
ifeq ($(CTR_CODEGEN),ARM)
|
||||||
|
ifneq ($(CTR_BUILD_TYPE),DEBUG)
|
||||||
|
MACRO_FLAGS += -DSDK_CW_WA_OPT4
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef SDK_CW_WA_CONSTPOOLS
|
||||||
|
ifeq ($(CTR_CODEGEN),THUMB)
|
||||||
|
ifneq ($(CTR_BUILD_TYPE),DEBUG)
|
||||||
|
MACRO_FLAGS += -DSDK_CW_WA_CONSTPOOLS
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef SDK_CW_FORCE_EXPORT_SUPPORT
|
||||||
|
MACRO_FLAGS += -DSDK_CW_FORCE_EXPORT_SUPPORT
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# SDK small build
|
||||||
|
|
||||||
|
ifdef SDK_SMALL_BUILD
|
||||||
|
MACRO_FLAGS += -DSDK_SMALL_BUILD
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Workaround flags
|
||||||
|
# SDK_TEG_WA_VBLANK : workaround TEG vblank problems
|
||||||
|
#
|
||||||
|
|
||||||
|
ifeq ($(CTR_PLATFORM),TEG)
|
||||||
|
MACRO_FLAGS += -DSDK_TEG_WA_VBLANK
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
######## IRIS V0.2 Hotfix 1
|
||||||
|
######## CTR V0.3
|
||||||
|
######## CTR V0.4
|
||||||
|
#CW_LIBNAME_RULE_A := ARM
|
||||||
|
#CW_LIBNAME_RULE_T := Thumb
|
||||||
|
#CW_LIBNAME_RULE_AI := ARM_i
|
||||||
|
#CW_LIBNAME_RULE_RA := ARM_Runtime
|
||||||
|
#CW_LIBNAME_RULE_RT := Thumb_Runtime
|
||||||
|
#CW_LIBNAME_RULE_RAI := ARM_Runtime_i
|
||||||
|
######## CTR V0.5 or other
|
||||||
|
CW_LIBNAME_RULE_A := CTR_A
|
||||||
|
CW_LIBNAME_RULE_T := CTR_T
|
||||||
|
CW_LIBNAME_RULE_AI := CTR_Ai
|
||||||
|
CW_LIBNAME_RULE_RA := CTR_Runtime_A
|
||||||
|
CW_LIBNAME_RULE_RT := CTR_Runtime_T
|
||||||
|
CW_LIBNAME_RULE_RAI := CTR_Runtime_Ai
|
||||||
|
#
|
||||||
|
|
||||||
|
CW_INCDIRS = $(CW_ARMDIR)/msl/MSL_C/MSL_ARM/Include \
|
||||||
|
$(CW_ARMDIR)/msl/MSL_C/MSL_Common/Include \
|
||||||
|
$(CW_ARMDIR)/msl/MSL_C/MSL_Common_Embedded/Math/Include \
|
||||||
|
$(CW_ARMDIR)/msl/MSL_C++/MSL_ARM/Include \
|
||||||
|
$(CW_ARMDIR)/msl/MSL_C++/MSL_Common/Include \
|
||||||
|
$(CW_ARMDIR)/msl/MSL_Extras/MSL_Common/Include \
|
||||||
|
$(CW_ARMDIR)/Profiler/include
|
||||||
|
#--------CW2.0beta2 以降のバージョンではRuntimeのディレクトリが変更されたため
|
||||||
|
ifeq ($(CW_MAJOR_VER),2)
|
||||||
|
CW_INCDIRS += $(CW_ARMDIR)/msl/MSL_Extras/MSL_ARM/Include
|
||||||
|
endif
|
||||||
|
|
||||||
|
CW_CXX = $(if $(SDK_CW_WA_LIBCXX),CXX,CPP)
|
||||||
|
CW_LIBCXX_DIR = $(if $(SDK_CW_WA_LIBCXX),$(ROOT)/lib/CodeWarrior,$(CW_ARMDIR)/msl/MSL_C++/MSL_ARM/Lib)
|
||||||
|
#--------CW2.0beta2 以降のバージョンではRuntimeのディレクトリが変更されたため
|
||||||
|
ifeq ($(CW_MAJOR_VER),2)
|
||||||
|
CW_LIBDIRS ?= $(CW_ARMDIR)/msl/MSL_C/MSL_ARM/Lib \
|
||||||
|
$(CW_LIBCXX_DIR) \
|
||||||
|
$(CW_ARMDIR)/msl/MSL_Extras/MSL_ARM/Lib \
|
||||||
|
$(CW_ARMDIR)/Runtime/Runtime_ARM/Runtime_CTR/Lib \
|
||||||
|
$(CW_ARMDIR)/Mathlib/lib
|
||||||
|
endif
|
||||||
|
CW_LIBDIRS ?= $(CW_ARMDIR)/msl/MSL_C/MSL_ARM/Lib \
|
||||||
|
$(CW_LIBCXX_DIR) \
|
||||||
|
$(CW_ARMDIR)/msl/MSL_Extras/MSL_ARM/Lib \
|
||||||
|
$(CW_ARMDIR)/Runtime/Lib \
|
||||||
|
$(CW_ARMDIR)/Mathlib/lib
|
||||||
|
|
||||||
|
ifeq ($(CODEGEN_PROC)-$(CTR_PLATFORM),ARM9-TEG)
|
||||||
|
CW_SUFFIX = _LE_strb.a
|
||||||
|
else
|
||||||
|
CW_SUFFIX = _LE.a
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM9)
|
||||||
|
CW_LIBFP ?= FP_fastI_v5t_LE.a
|
||||||
|
# CW_LIBFP ?= FP_fixedI_v5t_LE.a
|
||||||
|
# CW_LIBFP ?= FP_flush0_v5t_LE.a
|
||||||
|
# CW_LIBFP ?= FP_fullI_v5t_LE.a
|
||||||
|
else
|
||||||
|
CW_LIBFP ?= FP_fastI_v4t_LE.a
|
||||||
|
# CW_LIBFP ?= FP_fixedI_v4t_LE.a
|
||||||
|
# CW_LIBFP ?= FP_flush0_v4t_LE.a
|
||||||
|
# CW_LIBFP ?= FP_fullI_v4t_LE.a
|
||||||
|
endif
|
||||||
|
|
||||||
|
CW_LIBCXX_ARM = MSL_$(CW_CXX)_$(CW_LIBNAME_RULE_AI)$(CW_SUFFIX)
|
||||||
|
|
||||||
|
CW_LIBS_ARM = MSL_C_$(CW_LIBNAME_RULE_AI)$(CW_SUFFIX) \
|
||||||
|
MSL_Extras_$(CW_LIBNAME_RULE_AI)$(CW_SUFFIX) \
|
||||||
|
$(CW_LIBCXX_ARM) \
|
||||||
|
$(CW_LIBFP) \
|
||||||
|
$(CW_LIBNAME_RULE_RAI)$(CW_SUFFIX)
|
||||||
|
|
||||||
|
# Workaround for Byte Access: Don't use thumb libraries if ARM9-TEG
|
||||||
|
ifeq ($(CODEGEN_PROC)-$(CTR_PLATFORM),ARM9-TEG)
|
||||||
|
|
||||||
|
CW_LIBCXX_THUMB = $(CW_LIBCXX_ARM)
|
||||||
|
|
||||||
|
CW_LIBS_THUMB = $(CW_LIBS_ARM)
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
CW_LIBCXX_THUMB = MSL_$(CW_CXX)_$(CW_LIBNAME_RULE_T)_LE.a
|
||||||
|
|
||||||
|
CW_LIBS_THUMB = MSL_C_$(CW_LIBNAME_RULE_T)_LE.a \
|
||||||
|
MSL_Extras_$(CW_LIBNAME_RULE_T)_LE.a \
|
||||||
|
$(CW_LIBCXX_THUMB) \
|
||||||
|
$(CW_LIBFP) \
|
||||||
|
$(CW_LIBNAME_RULE_RT)_LE.a
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
STUBS_LIBS += libstubscw$(CTR_LIBSUFFIX).a
|
||||||
|
else # ($(CODEGEN_PROC),ARM9)
|
||||||
|
STUBS_LIBS += libstubscw_sp$(CTR_LIBSUFFIX).a
|
||||||
|
endif
|
||||||
|
$(ECHO) "==== test";
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch by codegen target
|
||||||
|
# CTR_PLATFORM TEG/TS
|
||||||
|
# CTR_MEMSIZE 64M/128M
|
||||||
|
# CODEGEN_PROC ARM11/ARM9
|
||||||
|
# CODEGEN_CC ARM/THUMB
|
||||||
|
# CODEGEN_AS ARM/THUMB
|
||||||
|
#
|
||||||
|
|
||||||
|
MACRO_FLAGS += -DSDK_$(CTR_PLATFORM) \
|
||||||
|
-DSDK_$(CTR_MEMSIZE) \
|
||||||
|
-DSDK_$(CODEGEN_PROC)
|
||||||
|
|
||||||
|
MACRO_FLAGS_CC += -DSDK_CODE_$(CODEGEN_CC)
|
||||||
|
MACRO_FLAGS_AS += -DSDK_CODE_$(CODEGEN_AS)
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------- CODEGEN_PROC ARM11/ARM9
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM9)
|
||||||
|
|
||||||
|
CCFLAGS_PROC := -proc $(if $(SDK_CW_AVOID_ARM_ARCH5),arm7tdmi,arm946e)
|
||||||
|
ASFLAGS_PROC := -proc arm5TE
|
||||||
|
|
||||||
|
ifeq ($(CTR_PLATFORM),TEG)
|
||||||
|
CCFLAGS_PROC += $(CW_AVOID_STRB)
|
||||||
|
endif
|
||||||
|
|
||||||
|
else # ($(CODEGEN_PROC),ARM7)
|
||||||
|
|
||||||
|
CCFLAGS_PROC := -proc arm7tdmi
|
||||||
|
ASFLAGS_PROC := -proc arm4T
|
||||||
|
|
||||||
|
endif # ($(CODEGEN_PROC))
|
||||||
|
|
||||||
|
#-------------------------------------- CTR_CODEGEN ARM/THUMB
|
||||||
|
|
||||||
|
ifeq ($(CTR_CODEGEN),ARM)
|
||||||
|
CW_LIBS ?= $(CW_LIBS_ARM)
|
||||||
|
else # ($(CTR_CODEGEN),THUMB)
|
||||||
|
CW_LIBS ?= $(CW_LIBS_THUMB)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------- CODEGEN_CC ARM/THUMB
|
||||||
|
|
||||||
|
ifeq ($(CODEGEN_CC),THUMB)
|
||||||
|
CCFLAGS_ISET := -thumb
|
||||||
|
else
|
||||||
|
CCFLAGS_ISET := -nothumb
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------- CODEGEN_AS ARM/THUMB
|
||||||
|
|
||||||
|
ifeq ($(CODEGEN_AS),THUMB)
|
||||||
|
ASFLAGS_ISET := -16
|
||||||
|
else
|
||||||
|
ASFLAGS_ISET := -32
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
CCFLAGS_ARCH ?= $(CCFLAGS_PROC) $(CCFLAGS_ISET) -nopic -nopid -interworking
|
||||||
|
ASFLAGS_ARCH ?= $(ASFLAGS_PROC) $(ASFLAGS_ISET)
|
||||||
|
LDFLAGS_ARCH ?= $(CCFLAGS_PROC) $(CCFLAGS_ISET) -nopic -nopid -interworking
|
||||||
|
ARFLAGS_ARCH ?=
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# standard includes/libraries for CodeWarrior
|
||||||
|
#
|
||||||
|
|
||||||
|
export MWCIncludes := $(subst \;, ,$(subst $(SPACE),;,$(CW_INCDIRS)))
|
||||||
|
export MWLibraries := $(subst \;, ,$(subst $(SPACE),;,$(CW_LIBDIRS)))
|
||||||
|
export MWLibraryFiles := $(subst \;, ,$(subst $(SPACE),;,$(CW_LIBS)))
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch by C Compiler CW/SNC
|
||||||
|
#
|
||||||
|
|
||||||
|
MACRO_FLAGS += -DSDK_$(CTR_CCTYPE)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch by DEBUG/RELEASE/FINALROM
|
||||||
|
#
|
||||||
|
|
||||||
|
MACRO_FLAGS += -DSDK_$(CTR_BUILD_TYPE)
|
||||||
|
|
||||||
|
ifeq ($(CTR_BUILD_TYPE),DEBUG)
|
||||||
|
|
||||||
|
CCFLAGS_OPT ?= -O0 -inline off
|
||||||
|
ASFLAGS_OPT ?=
|
||||||
|
LDFLAGS_OPT ?=
|
||||||
|
ARFLAGS_OPT ?=
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
CCFLAGS_OPT_O_ = -O4 -inline on,noauto
|
||||||
|
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
CCFLAGS_OPT_O_ += -opt speed
|
||||||
|
else
|
||||||
|
CCFLAGS_OPT_O_ += -opt space
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CTR_BUILD_TYPE),FINALROM)
|
||||||
|
CCFLAGS_OPT ?= $(CCFLAGS_OPT_O_)
|
||||||
|
ASFLAGS_OPT ?=
|
||||||
|
LDFLAGS_OPT ?=
|
||||||
|
ARFLAGS_OPT ?=
|
||||||
|
else # ($(CTR_BUILD_TYPE),RELEASE) # (default)
|
||||||
|
CCFLAGS_OPT ?= $(CCFLAGS_OPT_O_)
|
||||||
|
ASFLAGS_OPT ?=
|
||||||
|
LDFLAGS_OPT ?=
|
||||||
|
ARFLAGS_OPT ?=
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifndef CTR_NO_OPT_G
|
||||||
|
CCFLAGS_OPT += -g
|
||||||
|
LDFLAGS_OPT += -g
|
||||||
|
endif
|
||||||
|
|
||||||
|
#--------CW2.0beta2 以降のバージョンではサイズ増大問題回避のため -ipa file オプションが必須
|
||||||
|
ifeq ($(CW_MAJOR_VER),2)
|
||||||
|
CCFLAGS_OPT += -ipa file
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch for code profiling
|
||||||
|
#
|
||||||
|
|
||||||
|
ifdef CTR_PROFILE
|
||||||
|
CCFLAGS_OPT += -profile
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef CTR_PROFILE_TYPE
|
||||||
|
CCFLAGS_OPT += -DSDK_PROFILE_$(CTR_PROFILE_TYPE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch for anti-thread policy
|
||||||
|
#
|
||||||
|
|
||||||
|
ifdef CTR_NO_THREAD
|
||||||
|
MACRO_FLAGS += -DSDK_NO_THREAD
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch for AUTOTEST/UNITTEST
|
||||||
|
#
|
||||||
|
ifdef CTR_AUTOTEST
|
||||||
|
MACRO_FLAGS += -DSDK_AUTOTEST
|
||||||
|
endif
|
||||||
|
ifdef CTR_UTEST
|
||||||
|
MACRO_FLAGS += -DSDK_UTEST
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Switch for using system call when SVC_WaitVBlankIntr
|
||||||
|
#
|
||||||
|
ifdef CTR_SVC_WAITVBLANK_COMPATIBLE
|
||||||
|
MACRO_FLAGS += -DSDK_SVC_WAITVBLANK_COMPATIBLE
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Switch for automatic PrintServer
|
||||||
|
#
|
||||||
|
ifdef CTR_ENABLE_ARM9_PRINT
|
||||||
|
MACRO_FLAGS += -DSDK_ENABLE_ARM9_PRINT
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch for TS board
|
||||||
|
#
|
||||||
|
# Default value of CTR_TS_VERSION is defined in <nitro/spec.h>
|
||||||
|
#
|
||||||
|
# CTR_TS_VERSION = [0/100/200]
|
||||||
|
#
|
||||||
|
# 0 : Prototype breadboard ~ ISD-BOX Ver.C
|
||||||
|
# 100 : ISD-BOX Ver.D
|
||||||
|
# 200 : ISD-BOX Ver.E
|
||||||
|
#
|
||||||
|
#
|
||||||
|
ifdef CTR_TS_VERSION
|
||||||
|
MACRO_FLAGS += -DSDK_TS_VERSION=$(CTR_TS_VERSION)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# my macro flags
|
||||||
|
#
|
||||||
|
MACRO_FLAGS += $(LMACRO_FLAGS)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
CCFLAGS_WARNING_FULL = all,cmdline,illpragmas,emptydecl,possible,unusedarg,unusedvar,unused,extracomma,pedantic,hidevirtual,implicitconv,impl_int2float,impl_float2int,impl_signedunsigned,notinlined,largeargs,structclass,padding,notused,missingreturn,unusedexpr,ptrintconv,anyptrintconv,undefmacro,filecaps,sysfilecaps,tokenpasting
|
||||||
|
|
||||||
|
CCFLAGS_MSGSTYLE ?= -msgstyle std
|
||||||
|
|
||||||
|
ifdef CTR_WARNING_STRICT
|
||||||
|
CCFLAGS_WARNING ?= -w $(CCFLAGS_WARNING_FULL)
|
||||||
|
else
|
||||||
|
CCFLAGS_WARNING ?= -w all
|
||||||
|
endif
|
||||||
|
LDFLAGS_WARNING ?= -w on
|
||||||
|
ARFLAGS_WARNING ?= -w on
|
||||||
|
|
||||||
|
ifeq ($(CTRSDK_LANG),en)
|
||||||
|
CCFLAGS_ENCODING ?= -enc ascii
|
||||||
|
else
|
||||||
|
CCFLAGS_ENCODING ?= -enc SJIS
|
||||||
|
endif
|
||||||
|
CCFLAGS_CHARTYPE ?= -char signed
|
||||||
|
|
||||||
|
CCFLAGS_MISC = $(CCFLAGS_MSGSTYLE) $(CCFLAGS_WARNING) $(CCFLAGS_ENCODING) $(CCFLAGS_CHARTYPE)
|
||||||
|
ASFLAGS_MISC = $(CCFLAGS_MSGSTYLE)
|
||||||
|
LDFLAGS_MISC = $(CCFLAGS_MSGSTYLE) $(LDFLAGS_WARNING)
|
||||||
|
ARFLAGS_MISC = $(CCFLAGS_MSGSTYLE) $(ARFLAGS_WARNING)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CCFLAGS_SYS ?= -stdinc -enum int -stdkeywords off -Cpp_exceptions off
|
||||||
|
ASFLAGS_SYS ?= -nostdinc -DSDK_ASM
|
||||||
|
LDFLAGS_SYS ?= -stdlib -map closure -main _start
|
||||||
|
ARFLAGS_SYS ?= -library
|
||||||
|
|
||||||
|
|
||||||
|
CCFLAGS = -lang c $(CCFLAGS_ARCH) $(CCFLAGS_OPT) $(CCFLAGS_MISC) \
|
||||||
|
$(CCFLAGS_SYS) $(MACRO_FLAGS) $(MACRO_FLAGS_CC)
|
||||||
|
|
||||||
|
CXXFLAGS = -lang c++ $(CCFLAGS_ARCH) $(CCFLAGS_OPT) $(CCFLAGS_MISC) \
|
||||||
|
$(CCFLAGS_SYS) $(MACRO_FLAGS) $(MACRO_FLAGS_CC)
|
||||||
|
|
||||||
|
ASFLAGS = $(ASFLAGS_ARCH) $(ASFLAGS_OPT) $(ASFLAGS_MISC) \
|
||||||
|
$(ASFLAGS_SYS) $(MACRO_FLAGS) $(MACRO_FLAGS_AS)
|
||||||
|
|
||||||
|
LDFLAGS = $(LDFLAGS_ARCH) $(LDFLAGS_OPT) $(LDFLAGS_MISC) \
|
||||||
|
$(LDFLAGS_SYS)
|
||||||
|
|
||||||
|
ARFLAGS = $(ARFLAGS_ARCH) $(ARFLAGS_OPT) $(ARFLAGS_MISC) \
|
||||||
|
$(ARFLAGS_SYS)
|
||||||
|
|
||||||
|
|
||||||
|
#----- End of commondefs.cctype.CW -----
|
||||||
321
trunk/build/buildtools/commondefs.cctype.RVCT
Normal file
321
trunk/build/buildtools/commondefs.cctype.RVCT
Normal file
@ -0,0 +1,321 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrFirm - buildtools - compiler dependant settings for RCVT
|
||||||
|
# File: commondefs.cctype.RVCT
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
EMPTY ?=
|
||||||
|
SPACE ?= $(EMPTY) $(EMPTY)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
RVCT_PATH ?= $(ARMROOT)\RVCT
|
||||||
|
RVCT_ROOT = $(patsubst %/,%,$(subst $(SPACE),\ ,$(subst \,/,$(RVCT_PATH))))
|
||||||
|
RVCT_BINDIR = $(patsubst %/,%,$(subst $(SPACE),\ ,$(subst \,/,$(RVCT30BIN))))
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
RVCTCC := $(RVCT_BINDIR)/armcc.exe
|
||||||
|
RVCTAS := $(RVCT_BINDIR)/armasm.exe
|
||||||
|
RVCTLD := $(RVCT_BINDIR)/armlink.exe
|
||||||
|
RVCTAR := $(RVCT_BINDIR)/armar.exe
|
||||||
|
FROMELF := $(RVCT_BINDIR)/fromelf.exe
|
||||||
|
S3TOEXO := $(BROM_TOOLSDIR)/s3toexo/s3toexo.pl
|
||||||
|
|
||||||
|
CC := $(RVCTCC)
|
||||||
|
AS := $(RVCTAS)
|
||||||
|
LD := $(RVCTLD)
|
||||||
|
AR := $(RVCTAR)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifeq ($(EXO_PLATFORM),DSTEG)
|
||||||
|
EXO_SBIN_SIZE ?= 0x00008400
|
||||||
|
else
|
||||||
|
EXO_SBIN_SIZE ?= 0x00010000
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
EXO_OFFSET ?= 0x00000000
|
||||||
|
else # ($(CODEGEN_PROC),ARM9)
|
||||||
|
EXO_OFFSET ?= EXO_SBIN_SIZE
|
||||||
|
endif
|
||||||
|
|
||||||
|
EXO_FLAGS += --base $(EXO_OFFSET)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# SDK small build
|
||||||
|
#
|
||||||
|
ifdef SDK_SMALL_BUILD
|
||||||
|
MACRO_FLAGS += -DSDK_SMALL_BUILD
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
RVCT_INCDIRS = $(patsubst %/,%,$(subst $(SPACE),\ ,$(subst \,/,$(RVCT30INC))))
|
||||||
|
RVCT_LIBDIRS = $(patsubst %/,%,$(subst $(SPACE),\ ,$(subst \,/,$(RVCT30LIB))))
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch by codegen target
|
||||||
|
# CTR_PLATFORM TEG/TS
|
||||||
|
# CTR_MEMSIZE 64M/128M
|
||||||
|
# CODEGEN_PROC ARM11/ARM9
|
||||||
|
# CODEGEN_CC ARM/THUMB
|
||||||
|
#
|
||||||
|
MACRO_FLAGS += -DSDK_$(CTR_PLATFORM) \
|
||||||
|
-DSDK_$(CTR_MEMSIZE) \
|
||||||
|
-DSDK_$(CODEGEN_PROC)
|
||||||
|
|
||||||
|
MACRO_FLAGS_CC += -DSDK_CODE_$(CODEGEN_CC)
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------- CODEGEN_PROC ARM11/ARM9/ARM7
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
CCFLAGS_PROC := --cpu ARM11
|
||||||
|
ASFLAGS_PROC := --cpu ARM11
|
||||||
|
else # ($(CODEGEN_PROC),ARM9)
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM9)
|
||||||
|
CCFLAGS_PROC := --cpu ARM946E-S
|
||||||
|
ASFLAGS_PROC := --cpu ARM946E-S
|
||||||
|
else # ($(CODEGEN_PROC),ARM7)
|
||||||
|
CCFLAGS_PROC := --cpu ARM7TDMI
|
||||||
|
ASFLAGS_PROC := --cpu ARM7TDMI
|
||||||
|
endif # ($(CODEGEN_PROC))
|
||||||
|
endif # ($(CODEGEN_PROC))
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------- CTR_CODEGEN ARM/THUMB
|
||||||
|
ifeq ($(CTR_CODEGEN),ARM)
|
||||||
|
RVCT_LIBS ?= $(RVCT_LIBS_ARM)
|
||||||
|
else # ($(CTR_CODEGEN),THUMB)
|
||||||
|
RVCT_LIBS ?= $(RVCT_LIBS_THUMB)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------- CODEGEN_CC ARM/THUMB
|
||||||
|
ifeq ($(CODEGEN_CC),THUMB)
|
||||||
|
CCFLAGS_ISET := --thumb
|
||||||
|
else
|
||||||
|
CCFLAGS_ISET :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------- CODEGEN_AS ARM/THUMB
|
||||||
|
ifeq ($(CODEGEN_AS),THUMB)
|
||||||
|
ASFLAGS_ISET :=
|
||||||
|
else
|
||||||
|
ASFLAGS_ISET :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
CCFLAGS_ARCH ?= $(CCFLAGS_PROC) $(CCFLAGS_ISET)
|
||||||
|
ASFLAGS_ARCH ?= $(ASFLAGS_PROC) $(ASFLAGS_ISET)
|
||||||
|
LDFLAGS_ARCH ?=
|
||||||
|
ARFLAGS_ARCH ?=
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch by C Compiler CW/SNC/RVCT
|
||||||
|
#
|
||||||
|
|
||||||
|
MACRO_FLAGS += -DSDK_$(CTR_CCTYPE) # -D__RVCT__
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch by DEBUG/RELEASE/FINALROM
|
||||||
|
#
|
||||||
|
|
||||||
|
MACRO_FLAGS += -DSDK_$(CTR_BUILD_TYPE) -DBROM_BUILDTYPE_ARM11=$(BROM_BUILDTYPE_ARM11) -DBROM_BUILDTYPE_ARM9=$(BROM_BUILDTYPE_ARM9)
|
||||||
|
|
||||||
|
ifeq ($(CTR_BUILD_TYPE),DEBUG)
|
||||||
|
CCFLAGS_OPT_O_ = -O0
|
||||||
|
CCFLAGS_OPT_G_ = -g
|
||||||
|
else
|
||||||
|
ifeq ($(CTR_BUILD_TYPE),FINALROM)
|
||||||
|
CCFLAGS_OPT_O_ = -O3 -Ospace
|
||||||
|
CCFLAGS_OPT_G_ =
|
||||||
|
else # ($(CTR_BUILD_TYPE),RELEASE) # (default)
|
||||||
|
CCFLAGS_OPT_O_ = -O3 -Ospace
|
||||||
|
CCFLAGS_OPT_G_ =
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
CCFLAGS_OPT ?= $(CCFLAGS_OPT_G_) $(CCFLAGS_OPT_O_)
|
||||||
|
ASFLAGS_OPT ?=
|
||||||
|
LDFLAGS_OPT ?=
|
||||||
|
ARFLAGS_OPT ?=
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch for anti-thread policy
|
||||||
|
#
|
||||||
|
ifdef CTR_NO_THREAD
|
||||||
|
MACRO_FLAGS += -DSDK_NO_THREAD
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch for AUTOTEST/UNITTEST
|
||||||
|
#
|
||||||
|
ifdef CTR_AUTOTEST
|
||||||
|
MACRO_FLAGS += -DSDK_AUTOTEST
|
||||||
|
endif
|
||||||
|
ifdef CTR_UTEST
|
||||||
|
MACRO_FLAGS += -DSDK_UTEST
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch for TS board
|
||||||
|
#
|
||||||
|
# Default value of CTR_TS_VERSION is defined in <nitro/spec.h>
|
||||||
|
#
|
||||||
|
# CTR_TS_VERSION = [0/100/200]
|
||||||
|
#
|
||||||
|
# 0 : Prototype breadboard ~ ISD-BOX Ver.C
|
||||||
|
# 100 : ISD-BOX Ver.D
|
||||||
|
# 200 : ISD-BOX Ver.E
|
||||||
|
#
|
||||||
|
ifdef CTR_TS_VERSION
|
||||||
|
MACRO_FLAGS += -DSDK_TS_VERSION=$(CTR_TS_VERSION)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# switch for anti-thread policy
|
||||||
|
#
|
||||||
|
ifdef BROM_DEF_LINK_SCATLD
|
||||||
|
MACRO_FLAGS += -DBROM_DEF_LINK_SCATLD
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# my macro flags
|
||||||
|
#
|
||||||
|
MACRO_FLAGS += $(LMACRO_FLAGS)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Demote the following compiler warnings to remarks:
|
||||||
|
#
|
||||||
|
# 66: enumeration value is out of "int" range
|
||||||
|
# 108: signed bit field of length 1
|
||||||
|
# 177: variable was declared but never referenced
|
||||||
|
# 236: controlling expression is constant
|
||||||
|
# 1256: "unsigned char" would have been promoted to "int"
|
||||||
|
# when passed through the ellipsis parameter; use the latter type instead
|
||||||
|
#A1581W: Added 2 bytes of padding at address 0x3e2
|
||||||
|
T_CFLAGS_WARN += --diag_remark 236,177
|
||||||
|
T_CFLAGS_WARN += --diag_suppress 66,108,1256,A1581W
|
||||||
|
|
||||||
|
# Promote the following compiler warnings to errors:
|
||||||
|
#
|
||||||
|
# 61: integer operation result is out of range
|
||||||
|
# 68: integer conversion resulted in a change of sign
|
||||||
|
# 88: assignment in condition
|
||||||
|
# 111: statement is unreachable
|
||||||
|
# 174: expression has no effect
|
||||||
|
# 188: enumerated type mixed with another type
|
||||||
|
# 223: function "<foo>" declared implicitly
|
||||||
|
# 550: variable was set but never used
|
||||||
|
# 3017: <foo> may be used before being set
|
||||||
|
T_CFLAGS_WARN += --diag_error 68,88,111,174,188,223,3017
|
||||||
|
|
||||||
|
# Demote the following linker warnings to suppresses:
|
||||||
|
#
|
||||||
|
# L6314W: No section matches pattern
|
||||||
|
# L6329W: Pattern * only matches removed unused sections
|
||||||
|
T_LDFLAGS_WARN += --diag_suppress L6314W,L6329W
|
||||||
|
|
||||||
|
ifdef BROM_PROMGEN
|
||||||
|
# L6305W: Image does not have an entry point. (Not specified or not set due to multiple choices.)
|
||||||
|
T_LDFLAGS_WARN += --diag_suppress L6305W
|
||||||
|
endif # BROM_PROMGEN
|
||||||
|
|
||||||
|
# Promote the following linker warnings to errors:
|
||||||
|
#
|
||||||
|
# L6332W: Undefined symbol
|
||||||
|
T_LDFLAGS_WARN += --diag_error L6332W
|
||||||
|
|
||||||
|
|
||||||
|
CCFLAGS_WARNING ?= $(T_CFLAGS_WARN)
|
||||||
|
LDFLAGS_WARNING ?= $(T_LDFLAGS_WARN)
|
||||||
|
ARFLAGS_WARNING ?=
|
||||||
|
|
||||||
|
ifeq ($(CTRSDK_LANG),en)
|
||||||
|
CCFLAGS_ENCODING ?=
|
||||||
|
else
|
||||||
|
CCFLAGS_ENCODING ?= --multibyte-chars
|
||||||
|
endif
|
||||||
|
CCFLAGS_CHARTYPE ?=
|
||||||
|
|
||||||
|
CCFLAGS_MISC = $(CCFLAGS_MSGSTYLE) $(CCFLAGS_WARNING) $(CCFLAGS_ENCODING) $(CCFLAGS_CHARTYPE)
|
||||||
|
ASFLAGS_MISC = $(CCFLAGS_MSGSTYLE)
|
||||||
|
LDFLAGS_MISC = $(CCFLAGS_MSGSTYLE) $(LDFLAGS_WARNING)
|
||||||
|
ARFLAGS_MISC = $(CCFLAGS_MSGSTYLE) $(ARFLAGS_WARNING)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
CCFLAGS_SYS ?= \
|
||||||
|
--no_unaligned_access \
|
||||||
|
--no_exceptions \
|
||||||
|
--no_exceptions_unwind \
|
||||||
|
--gnu \
|
||||||
|
--debug \
|
||||||
|
--split_sections \
|
||||||
|
--apcs /interwork \
|
||||||
|
-Ono_ldrd -Ono_memcpy --dwarf2 \
|
||||||
|
|
||||||
|
T_ENTRYPOINT = _start
|
||||||
|
LDFLAGS_SYS ?= \
|
||||||
|
--callgraph --no_locals --map --mangled --symbols \
|
||||||
|
--info=common,sizes,veneers,totals \
|
||||||
|
--list=$(BINDIR)/realview.map \
|
||||||
|
--locals \
|
||||||
|
--scanlib \
|
||||||
|
--no_exceptions \
|
||||||
|
--exceptions_tables=nocreate \
|
||||||
|
--datacompressor off \
|
||||||
|
--remove \
|
||||||
|
--pad 0xFF \
|
||||||
|
--scatter $(LCFILE) \
|
||||||
|
|
||||||
|
ifndef BROM_PROMGEN
|
||||||
|
LDFLAGS_SYS += \
|
||||||
|
--entry $(T_ENTRYPOINT) --unresolved=$(T_ENTRYPOINT) \
|
||||||
|
|
||||||
|
endif # BROM_PROMGEN
|
||||||
|
|
||||||
|
# --keep '*crt0.*o(.ARM.exidx)' \
|
||||||
|
# --info=unused \
|
||||||
|
|
||||||
|
ARFLAGS_SYS ?= -rcuT
|
||||||
|
|
||||||
|
CCFLAGS = $(CCFLAGS_ARCH) $(CCFLAGS_OPT) $(CCFLAGS_MISC) \
|
||||||
|
$(CCFLAGS_SYS) $(MACRO_FLAGS) $(MACRO_FLAGS_CC)
|
||||||
|
|
||||||
|
CXXFLAGS = $(CCFLAGS_ARCH) $(CCFLAGS_OPT) $(CCFLAGS_MISC) \
|
||||||
|
$(CCFLAGS_SYS) $(MACRO_FLAGS) $(MACRO_FLAGS_CC)
|
||||||
|
|
||||||
|
ASFLAGS = $(ASFLAGS_ARCH) $(ASFLAGS_OPT) $(ASFLAGS_MISC)
|
||||||
|
# $(ASFLAGS_SYS) $(MACRO_FLAGS) $(MACRO_FLAGS_AS)
|
||||||
|
|
||||||
|
LDFLAGS = $(LDFLAGS_ARCH) $(LDFLAGS_OPT) $(LDFLAGS_MISC) \
|
||||||
|
$(LDFLAGS_SYS)
|
||||||
|
|
||||||
|
ARFLAGS = $(ARFLAGS_ARCH) $(ARFLAGS_OPT) $(ARFLAGS_MISC) \
|
||||||
|
$(ARFLAGS_SYS)
|
||||||
|
|
||||||
|
|
||||||
|
#----- End of commondefs.cctype.RVCT -----
|
||||||
152
trunk/build/buildtools/commondefs.cygpath
Normal file
152
trunk/build/buildtools/commondefs.cygpath
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK
|
||||||
|
# File: commondefs
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Date:: 2008-09-29#$
|
||||||
|
# $Rev: 8757 $
|
||||||
|
# $Author: adachi_hiroaki $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifndef CTRFIRM_COMMONDEFS_CYGPATH_
|
||||||
|
CTRFIRM_COMMONDEFS_CYGPATH_ = TRUE
|
||||||
|
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# cygpath
|
||||||
|
#
|
||||||
|
|
||||||
|
CYGPATH ?= cygpath
|
||||||
|
|
||||||
|
# 高速 cygpath は標準では無効 (make 3.80 では eval 関数に不具合があり動作しないため)
|
||||||
|
CYGPATH_NOCMD ?= FALSE
|
||||||
|
|
||||||
|
# 自動判別する場合は上の定義を消す(動作未確認)
|
||||||
|
#ifndef CYGPATH_NOCMD
|
||||||
|
#
|
||||||
|
#MAKE_VERSION := $(shell $(MAKE) -v | $(HEAD) -1 | $(AWK) '{print $3}')
|
||||||
|
#
|
||||||
|
#ifndef MSYSTEM
|
||||||
|
#
|
||||||
|
#ifeq ($(shell(expr "$(MAKE_VERSION)" ">=" "3.81")),1)
|
||||||
|
#CYGPATH_NOCMD=TRUE
|
||||||
|
#else # MAKE_VERSION
|
||||||
|
#CYGPATH_NOCMD=FALSE
|
||||||
|
#endif # MAKE_VERSION
|
||||||
|
#
|
||||||
|
#endif # MSYSTEM
|
||||||
|
#
|
||||||
|
#endif # CYGPATH_NOCMD
|
||||||
|
|
||||||
|
|
||||||
|
# cygdrive path prefix を取得
|
||||||
|
|
||||||
|
ifeq ($(CYGPATH_MOUNTPOINT),)
|
||||||
|
CYGPATH_MOUNTPOINT := $(patsubst %/,%,$(dir $(shell $(CYGPATH) -u c:/)))
|
||||||
|
endif # CYGPATH_MOUNTPOINT
|
||||||
|
|
||||||
|
ifeq ($(CYGPATH_NOCMD),TRUE)
|
||||||
|
|
||||||
|
ifeq ($(CYGPATH_DRIVELIST),)
|
||||||
|
# 安全
|
||||||
|
CYGPATH_DRIVELIST_ALL = $(shell DRIVES=`$(MOUNT) | $(GREP) 'type user' | $(CUT) -c1 | tr '\n' ' '` \
|
||||||
|
&& echo $${DRIVES} `echo $${DRIVES} | $(TR) '[a-z]' '[A-Z]'`)
|
||||||
|
|
||||||
|
# 最小限で速い
|
||||||
|
CYGPATH_DRIVELIST_FAST = $(shell $(CYGPATH) -aw '$(CTRSDK_ROOT)c' \
|
||||||
|
'$(CWFOLDER_CTR)c' \
|
||||||
|
'$(CTRSYSTEM_ROOT)c' \
|
||||||
|
'$(IS_CTR_DIR)c' '$(IS_TWL_DIR)c' \
|
||||||
|
| $(CUT) -c1)
|
||||||
|
|
||||||
|
CYGPATH_DRIVELIST := $(sort $(CYGPATH_DRIVELIST_FAST))
|
||||||
|
#CYGPATH_DRIVELIST := $(sort $(CYGPATH_DRIVELIST_ALL))
|
||||||
|
endif # CYGPATH_DRIVELIST
|
||||||
|
|
||||||
|
|
||||||
|
define cygpathm
|
||||||
|
$(strip $(eval VALUE=$(1))$(foreach DRIVE,$(CYGPATH_DRIVELIST),$(eval VALUE:=$$(patsubst $(CYGPATH_MOUNTPOINT)/$(DRIVE)/%,$(DRIVE):/%,$$(subst \,/,$$(VALUE)))))$(VALUE))
|
||||||
|
endef # cygpathm
|
||||||
|
|
||||||
|
define cygpathu
|
||||||
|
$(strip $(eval VALUE:=$(1))$(foreach DRIVE,$(CYGPATH_DRIVELIST),$(eval VALUE:=$$(patsubst $(DRIVE):/%,$(CYGPATH_MOUNTPOINT)/$(DRIVE)/%,$$(subst \,/,$$(VALUE)))))$(VALUE))
|
||||||
|
endef # cygpathu
|
||||||
|
|
||||||
|
define cygpathm_multi
|
||||||
|
$(foreach pathvar,$(1),$(call cygpathm,$(pathvar)))
|
||||||
|
endef # cygpathm_multi
|
||||||
|
|
||||||
|
define cygpathu_multi
|
||||||
|
$(foreach pathvar,$(1),$(call cygpathu,$(pathvar)))
|
||||||
|
endef # cygpathu_multi
|
||||||
|
|
||||||
|
define eupath
|
||||||
|
$(subst $(SPACE),\ ,$(call cygpathu,$(subst \ , ,$(1))))
|
||||||
|
endef # eupath
|
||||||
|
|
||||||
|
define empath
|
||||||
|
$(subst $(SPACE),\ ,$(call cygpathm,$(subst \ , ,$(1))))
|
||||||
|
endef # empath
|
||||||
|
|
||||||
|
else # CYGPATH_NOCMD
|
||||||
|
|
||||||
|
define empath
|
||||||
|
$(subst $(SPACE),\ ,$(shell $(CYGPATH) -m $(subst \,\\,$(subst \ , ,$(1)))))
|
||||||
|
endef # empath
|
||||||
|
|
||||||
|
ifdef MSYSTEM
|
||||||
|
|
||||||
|
define eupath
|
||||||
|
$(call empath,$(1))
|
||||||
|
endef #eupath
|
||||||
|
|
||||||
|
define cygpathu
|
||||||
|
$(shell cygpath -m $(subst \,\\,$(subst \ , ,$(1))))
|
||||||
|
endef
|
||||||
|
|
||||||
|
else # MSYSTEM
|
||||||
|
|
||||||
|
define eupath
|
||||||
|
$(subst $(SPACE),\ ,$(shell $(CYGPATH) -u $(subst \,\\,$(subst \ , ,$(1)))))
|
||||||
|
endef
|
||||||
|
|
||||||
|
define cygpathu
|
||||||
|
$(shell cygpath -u $(subst \,\\,$(subst \ , ,$(1))))
|
||||||
|
endef
|
||||||
|
|
||||||
|
endif # MSYSTEM
|
||||||
|
|
||||||
|
define cygpathm
|
||||||
|
$(shell cygpath -m $(subst \,\\,$(subst \ , ,$(1))))
|
||||||
|
endef
|
||||||
|
|
||||||
|
define cygpathu_multi
|
||||||
|
$(call cygpathu,$(1))
|
||||||
|
endef
|
||||||
|
|
||||||
|
define cygpathm_multi
|
||||||
|
$(call cygpathm,$(1))
|
||||||
|
endef
|
||||||
|
|
||||||
|
endif # CYGPATH_NOCMD
|
||||||
|
|
||||||
|
export CYGPATH_MOUNTPOINT CYGPATH_DRIVELIST CYGPATH_NOCMD
|
||||||
|
|
||||||
|
define encode_specialchar
|
||||||
|
$(subst $(SPACE),%20,$(1))
|
||||||
|
endef
|
||||||
|
|
||||||
|
define decode_specialchar
|
||||||
|
$(subst %20,$(SPACE),$(1))
|
||||||
|
endef
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
endif # CTRFIRM_COMMONDEFS_CYGPATH_
|
||||||
|
#----- End of commondefs -----
|
||||||
61
trunk/build/buildtools/commondefs.emtype.ISD
Normal file
61
trunk/build/buildtools/commondefs.emtype.ISD
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - buildtools - debugger dependant settings for ISDbgr
|
||||||
|
# File: commondefs.emtype.ISD
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ifdef IS_CTR_DEBUGGER_DIR
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Setting for IS-NITRO-EMULATOR
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
EMPTY ?=
|
||||||
|
SPACE ?= $(EMPTY) $(EMPTY)
|
||||||
|
CTR_ISD_ROOT := $(patsubst %/,%,$(subst $(SPACE),\ ,$(subst \,/,$(IS_CTR_DEBUGGER_DIR))))
|
||||||
|
CTR_ISD_ROOT_NOSPACE := $(subst \,/,$(shell cygpath -d $(CTR_ISD_ROOT)))
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM9)
|
||||||
|
|
||||||
|
CTR_ISD_INCDIRS := $(CTR_ISD_ROOT)/Target/include/ARM9
|
||||||
|
CTR_ISD_LIBDIRS := $(CTR_ISD_ROOT_NOSPACE)/Target/lib/ARM9-TS
|
||||||
|
|
||||||
|
ifeq ($(CTR_CODEGEN),ARM)
|
||||||
|
CTR_ISD_LIBS := libistdmainparm.a
|
||||||
|
else # ($(CTR_CODEGEN),THUMB)
|
||||||
|
CTR_ISD_LIBS := libistdmainpthumb.a
|
||||||
|
endif
|
||||||
|
|
||||||
|
else # ($(CODEGEN_PROC),ARM7)
|
||||||
|
|
||||||
|
CTR_ISD_INCDIRS := $(CTR_ISD_ROOT)/Target/include/ARM7
|
||||||
|
CTR_ISD_LIBDIRS := $(CTR_ISD_ROOT_NOSPACE)/Target/lib/ARM7-TS
|
||||||
|
|
||||||
|
ifeq ($(CTR_CODEGEN),ARM)
|
||||||
|
CTR_ISD_LIBS := libistdsubparm.a
|
||||||
|
else # ($(CTR_CODEGEN),THUMB)
|
||||||
|
CTR_ISD_LIBS := libistdsubpthumb.a
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----- End of commondefs.emtype.ISD -----
|
||||||
395
trunk/build/buildtools/modulerules
Normal file
395
trunk/build/buildtools/modulerules
Normal file
@ -0,0 +1,395 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - modulerules - common rules for build system
|
||||||
|
# File: modulerules
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifndef CTRSDK_MODULERULES_
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Implicit RULES
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
.SUFFIXES: # Delete all suffix rules
|
||||||
|
|
||||||
|
ifneq ($(CTR_FORCE_BUILD),)
|
||||||
|
|
||||||
|
VPATH = $(SRCDIR)
|
||||||
|
|
||||||
|
SSRCFILES = $(addprefix $(OBJDIR)/,$(notdir $(SRCS)))
|
||||||
|
ASRCFILES = $(addprefix $(OBJDIR)/,$(notdir $(SRCS_AUTOLOAD)))
|
||||||
|
VSRCFILES = $(addprefix $(OBJDIR)/,$(notdir $(SRCS_OVERLAY)))
|
||||||
|
|
||||||
|
SOBJS_CC = $(filter %.o,$(SSRCFILES:.c=.o))
|
||||||
|
SOBJS_AS = $(filter %.o,$(SSRCFILES:.s=.o))
|
||||||
|
SOBJS_CXX = $(filter %.o,$(SSRCFILES:.cpp=.o))
|
||||||
|
AOBJS_CC = $(filter %.o,$(ASRCFILES:.c=.o))
|
||||||
|
AOBJS_AS = $(filter %.o,$(ASRCFILES:.s=.o))
|
||||||
|
AOBJS_CXX = $(filter %.o,$(ASRCFILES:.cpp=.o))
|
||||||
|
VOBJS_CC = $(filter %.o,$(VSRCFILES:.c=.o))
|
||||||
|
VOBJS_AS = $(filter %.o,$(VSRCFILES:.s=.o))
|
||||||
|
VOBJS_CXX = $(filter %.o,$(VSRCFILES:.cpp=.o))
|
||||||
|
|
||||||
|
OBJS_CC = $(SOBJS_CC) $(AOBJS_CC) $(VOBJS_CC)
|
||||||
|
OBJS_AS = $(SOBJS_AS) $(AOBJS_AS) $(VOBJS_AS)
|
||||||
|
OBJS_CXX = $(SOBJS_CXX) $(AOBJS_CXX) $(VOBJS_CXX)
|
||||||
|
OBJS_STATIC = $(SOBJS_CC) $(SOBJS_AS) $(SOBJS_CXX) $(EXT_OBJS)
|
||||||
|
OBJS_AUTOLOAD = $(AOBJS_CC) $(AOBJS_AS) $(AOBJS_CXX) $(EXT_OBJS_AUTOLOAD)
|
||||||
|
OBJS_OVERLAY = $(VOBJS_CC) $(VOBJS_AS) $(VOBJS_CXX) $(EXT_OBJS_OVERLAY)
|
||||||
|
OBJS = $(OBJS_STATIC) $(OBJS_AUTOLOAD) $(OBJS_OVERLAY)
|
||||||
|
|
||||||
|
-include $(CTR_BUILDTOOLSDIR)/modulerules.cctype.$(CTR_CCTYPE)
|
||||||
|
|
||||||
|
# Common Rules
|
||||||
|
|
||||||
|
# .bin .srl
|
||||||
|
ifdef CTR_MAKEROM
|
||||||
|
#
|
||||||
|
# MAKEROM
|
||||||
|
#
|
||||||
|
|
||||||
|
ROM_SPEC ?= $(DEFAULT_ROM_SPEC)
|
||||||
|
MAKEROM_ARM11 ?= $(DEFAULT_MAKEROM_ARM11)
|
||||||
|
MAKEROM_ARM9 ?= $(DEFAULT_MAKEROM_ARM9)
|
||||||
|
MAKEROM_ROMROOT ?= $(DEFAULT_MAKEROM_ROMROOT)
|
||||||
|
MAKEROM_ROMFILES ?= $(DEFAULT_MAKEROM_ROMFILES)
|
||||||
|
MAKEROM_ROMSPEED ?= $(DEFAULT_MAKEROM_ROMSPEED)
|
||||||
|
MAKEROM_FLAGS ?=
|
||||||
|
MAKEROM_FLAGS += $(if $(CTR_FINALROM),,-F)
|
||||||
|
|
||||||
|
MAKEROM_DEFS = -DCTRSDK_ROOT='$(ROOT)' \
|
||||||
|
-DTARGET_NAME='$(TARGET_NAME)' \
|
||||||
|
-DMAKEROM_ROMROOT='$(MAKEROM_ROMROOT)' \
|
||||||
|
-DMAKEROM_ROMFILES='$(MAKEROM_ROMFILES)' \
|
||||||
|
-DMAKEROM_ROMSPEED='$(MAKEROM_ROMSPEED)' \
|
||||||
|
-DBINDIR='$(BINDIR)' \
|
||||||
|
-DCOMPDIR='$(CTR_COMPONENTSDIR)' \
|
||||||
|
-DCOMPTYPE11='$(CTR_BUILDTYPE_ARM11)' \
|
||||||
|
-DCOMPTYPE9='$(CTR_BUILDTYPE_ARM9)' \
|
||||||
|
-DPROC='$(CODEGEN_PROC)' \
|
||||||
|
-DPLATFORM='$(CTR_PLATFORM)' \
|
||||||
|
-DCODEGEN='$(CODEGEN_ARCH)' \
|
||||||
|
-DBUILD='$(CTR_BUILD_DIR)' \
|
||||||
|
-DCOMPSUFFIX9='$(COMPSUFFIX)' \
|
||||||
|
-DCOMPSUFFIX7=''
|
||||||
|
|
||||||
|
TARGET_ROM = $(strip $(findstring .srl,$(TARGET_BIN)) \
|
||||||
|
$(findstring .bin,$(TARGET_BIN)))
|
||||||
|
|
||||||
|
ifneq ($(strip $(OBJS) $(LLIBRARIES)),) # any object?
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
SDEPENDS_BIN = $(BINDIR)/%.nef $(MAKEROM_ARM11)
|
||||||
|
MAKEROM_DEFS += -DMAKEROM_ARM11='$(basename $@)' \
|
||||||
|
-DMAKEROM_ARM9='$(basename $(MAKEROM_ARM9))'
|
||||||
|
else # !ARM11
|
||||||
|
SDEPENDS_BIN = $(BINDIR)/%.nef $(MAKEROM_ARM11)
|
||||||
|
MAKEROM_DEFS += -DMAKEROM_ARM11='$(basename $(MAKEROM_ARM11))' \
|
||||||
|
-DMAKEROM_ARM9='$(basename $@)'
|
||||||
|
endif # -ARM11
|
||||||
|
else # !OBJS !LLIBRARIES
|
||||||
|
SDEPENDS_BIN = $(MAKEROM_ARM11) $(MAKEROM_ARM7)
|
||||||
|
MAKEROM_DEFS += -DMAKEROM_ARM11='$(basename $(MAKEROM_ARM11))' \
|
||||||
|
-DMAKEROM_ARM9='$(basename $(MAKEROM_ARM9))'
|
||||||
|
endif # -OBJS -LLIBRARIES
|
||||||
|
|
||||||
|
ifndef USE_MY_RULE_BIN
|
||||||
|
$(BINDIR)/%.bin $(BINDIR)/%.srl: $(SDEPENDS_BIN) $(ROM_SPEC) $(LDEPENDS_BIN) $(EDEPENDS_BIN)
|
||||||
|
$(MAKEROM) $(MAKEROM_FLAGS) $(MAKEROM_DEFS) $(ROM_SPEC) $@
|
||||||
|
endif # -USE_MY_RULE_BIN
|
||||||
|
|
||||||
|
$(BINDIR)/$(TARGET_SIGN_BIN): $(BINDIR)/$(TARGET_BIN)
|
||||||
|
$(CTRSDK_ROOT)/tools/bin/attachsign.exe -D $(addprefix $(BINDIR)/,$(TARGET_BIN))
|
||||||
|
|
||||||
|
else # !CTR_MAKEROM
|
||||||
|
#
|
||||||
|
# ELFTOBIN
|
||||||
|
#
|
||||||
|
ifndef USE_MY_RULE_BIN
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
$(BINDIR)/%.bin $(BINDIR)/%.srl: $(BINDIR)/%.nef $(LDEPENDS_BIN) $(EDEPENDS_BIN)
|
||||||
|
$(ELFTOBIN) $< $(ELFTOBIN_ARM7) $(ELFTOBIN_ROMHEADER) -o $@
|
||||||
|
else # !ARM11
|
||||||
|
$(BINDIR)/%.bin $(BINDIR)/%.srl: $(BINDIR)/%.nef $(LDEPENDS_BIN) $(EDEPENDS_BIN)
|
||||||
|
$(ELFTOBIN) $(ELFTOBIN_ARM9) $< $(ELFTOBIN_ROMHEADER) -o $@
|
||||||
|
endif # -ARM11
|
||||||
|
endif # -USE_MY_RULE_BIN
|
||||||
|
endif # -CTR_MAKEROM
|
||||||
|
|
||||||
|
endif # -CTR_FORCE_BUILD
|
||||||
|
|
||||||
|
# .bnr .bsf
|
||||||
|
%.bnr: %.bsf
|
||||||
|
$(MAKEBANNER) $(MAKEBANNER_FLAGS) $< $@
|
||||||
|
|
||||||
|
%.nbfc %.nbfp: %.bmp
|
||||||
|
$(NTEXCONV) -no -bg -bgb -bgnc $< >/dev/null
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# MAKE TARGETS
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
.PHONY: all default build install clean clobber full super-full
|
||||||
|
|
||||||
|
BUILDCMDS = all default build
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
SUBDIR_FLAGS += $(if $(CTR_CODEGEN_ALL),CTR_CODEGEN_ALL=False)
|
||||||
|
|
||||||
|
define MAKE_SUBDIR
|
||||||
|
+$(foreach DIR,$(SUBDIRS),$(MAKE) $(SUBDIR_FLAGS) -C $(DIR) $(MAKECMDGOALS) $(AND)) true
|
||||||
|
+$(foreach FILE,$(SUBMAKES),$(MAKE) $(SUBDIR_FLAGS) -C $(dir $(FILE)) -f $(notdir $(FILE)) $(MAKECMDGOALS) $(AND)) true
|
||||||
|
endef
|
||||||
|
|
||||||
|
ifeq ($(MAKEFILE),Makefile)
|
||||||
|
MAKEFILE_ =
|
||||||
|
else
|
||||||
|
MAKEFILE_ = /$(MAKEFILE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
define ECHO_CURDIR
|
||||||
|
$(ECHO) "==== $(CURDIR)$(MAKEFILE_)";
|
||||||
|
endef
|
||||||
|
|
||||||
|
define DO_INSTALL_FILES
|
||||||
|
$(INSTALL) -d $(1) $(AND) \
|
||||||
|
$(foreach FILE, $(2), \
|
||||||
|
if [ ! -e $(1)/$(notdir $(FILE)) -o \
|
||||||
|
$(FILE) -nt $(1)/$(notdir $(FILE)) ]; \
|
||||||
|
then \
|
||||||
|
$(ECHO) " install: $(FILE) -> $(1)" $(AND) \
|
||||||
|
$(INSTALL) $(FILE) $(1)/$(notdir $(FILE)); \
|
||||||
|
fi $(AND) ) true
|
||||||
|
endef
|
||||||
|
|
||||||
|
DO_INSTALL = $(call DO_INSTALL_FILES,$(INSTALL_DIR),$(INSTALL_TARGETS))
|
||||||
|
|
||||||
|
INSTALL_INDEX_SRC = $(firstword $(INSTALL_TARGETS))
|
||||||
|
INSTALL_INDEX_DEST = $(INSTALL_DIR)/$(notdir $(INSTALL_INDEX_SRC))
|
||||||
|
|
||||||
|
define DO_INSTALL_WILDCARD
|
||||||
|
$(INSTALL) -d $(INSTALL_DIR) $(AND) \
|
||||||
|
if [ ! -e $(INSTALL_INDEX_DEST) -o \
|
||||||
|
$(INSTALL_INDEX_SRC) -nt $(INSTALL_INDEX_DEST) ]; \
|
||||||
|
then \
|
||||||
|
$(foreach FILE, $(INSTALL_TARGETS), \
|
||||||
|
$(ECHO) " install: $(FILE) -> $(INSTALL_DIR)" $(AND) \
|
||||||
|
$(INSTALL) $(FILE) $(INSTALL_DIR) $(AND) ) true; \
|
||||||
|
fi
|
||||||
|
endef
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# make parallelly
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS_PREFIX = make-subdir-p-
|
||||||
|
SUBDIRS_PARALLEL = $(addprefix $(SUBDIRS_PREFIX),$(SUBDIRS_P))
|
||||||
|
|
||||||
|
$(SUBDIRS_PARALLEL):$(SUBDIRS_PREFIX)%:
|
||||||
|
$(MAKE) -C $(*F) $(MAKECMDGOALS)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# make build
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
.PHONY: do-build
|
||||||
|
|
||||||
|
build:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
ifneq ($(strip $(NEWDIRS)),)
|
||||||
|
@$(MKDIRP) $(NEWDIRS)
|
||||||
|
endif
|
||||||
|
@+$(REMAKE) do-build
|
||||||
|
ifdef INSTALL_TARGETS
|
||||||
|
@$(DO_INSTALL)
|
||||||
|
endif
|
||||||
|
ifeq ($(CTR_CODEGEN_ALL),True)
|
||||||
|
ifeq ($(CTR_CODEGEN),ARM)
|
||||||
|
@+$(REMAKE) CTR_CODEGEN_ALL=False CTR_CODEGEN=THUMB build
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# make install
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
install:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
ifdef INSTALL_TARGETS
|
||||||
|
@$(DO_INSTALL)
|
||||||
|
endif
|
||||||
|
ifeq ($(CTR_CODEGEN_ALL),True)
|
||||||
|
ifeq ($(CTR_CODEGEN),ARM)
|
||||||
|
@+$(REMAKE) CTR_CODEGEN_ALL=False CTR_CODEGEN=THUMB install
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# make full
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
define makefull
|
||||||
|
@echo [[[ make full $(1) $(CURDIR) ]]]
|
||||||
|
@+unset CTR_DEBUG CTR_RELEASE CTR_FINALROM CTR_CODEGEN_ALL; \
|
||||||
|
$(foreach b,FINALROM RELEASE DEBUG, \
|
||||||
|
$(foreach a,ARM THUMB, \
|
||||||
|
date "+::: %Y/%m/%d %H:%M:%S $a-$b" $(AND) \
|
||||||
|
$(REMAKE) CTR_$b=TRUE CTR_CODEGEN=$a CTR_CODEGEN_ALL=False $(1) $(AND) \
|
||||||
|
) \
|
||||||
|
) true
|
||||||
|
endef
|
||||||
|
|
||||||
|
full:
|
||||||
|
$(call makefull,build)
|
||||||
|
|
||||||
|
full-install:
|
||||||
|
$(call makefull,install)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# make super-full
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
define makesuperfull
|
||||||
|
@echo [[[ make super-full $(1) $(CURDIR) ]]]
|
||||||
|
@+unset CTR_DEBUG CTR_RELEASE CTR_FINALROM CTR_CODEGEN_ALL; \
|
||||||
|
$(foreach p,TS TEG, \
|
||||||
|
$(foreach b,FINALROM RELEASE DEBUG, \
|
||||||
|
$(foreach a,ARM THUMB, \
|
||||||
|
date "+::: %Y/%m/%d %H:%M:%S $a-$b" $(AND) \
|
||||||
|
$(REMAKE) CTR_$b=TRUE CTR_PLATFORM=$p CTR_CODEGEN=$a CTR_CODEGEN_ALL=False $(1) $(AND) \
|
||||||
|
)\
|
||||||
|
)\
|
||||||
|
) true
|
||||||
|
endef
|
||||||
|
|
||||||
|
super-full:
|
||||||
|
$(call makesuperfull,build)
|
||||||
|
|
||||||
|
super-full-install:
|
||||||
|
$(call makesuperfull,install)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Autotest using IS-NITRO-EMULATOR
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifdef IS_CTR_DIR
|
||||||
|
|
||||||
|
AUTOTESTLOG := $(ROOT)/autotest.log
|
||||||
|
|
||||||
|
.PHONY: autotest do-autotest do-autotest-test
|
||||||
|
|
||||||
|
autotest:
|
||||||
|
@+$(REMAKE) clobber
|
||||||
|
@+$(REMAKE) build CTR_AUTOTEST=TRUE
|
||||||
|
@$(RM) $(AUTOTESTLOG)
|
||||||
|
@+$(REMAKE) do-autotest
|
||||||
|
@$(SED) -e 's/\r//g;s/$$/\r/g;' $(AUTOTESTLOG) > $(AUTOTESTLOG).tmp
|
||||||
|
@$(MV) $(AUTOTESTLOG).tmp $(AUTOTESTLOG)
|
||||||
|
|
||||||
|
do-autotest:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
ifneq ($(TARGET_ROM),)
|
||||||
|
@+$(REMAKE) test-run
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# make clobber & clean
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
.PHONY: clobber-installed
|
||||||
|
|
||||||
|
clobber:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
-$(RM) $(GDIRT_CLEAN) $(LDIRT_CLEAN) $(EDIRT_CLEAN)
|
||||||
|
-$(RM) $(GDIRT_CLOBBER) $(LDIRT_CLOBBER) $(EDIRT_CLOBBER)
|
||||||
|
ifneq ($(GDIRT_INSTALLED),)
|
||||||
|
ifneq ($(CTR_FORCE_BUILD),)
|
||||||
|
$(call makefull,clobber-installed)
|
||||||
|
else
|
||||||
|
@+$(REMAKE) clobber-installed
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
clobber-installed:
|
||||||
|
-$(RM) $(GDIRT_INSTALLED)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
super-clobber:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
-$(RM) $(GDIRT_CLEAN) $(LDIRT_CLEAN) $(EDIRT_CLEAN)
|
||||||
|
-$(RM) $(GDIRT_CLOBBER) $(LDIRT_CLOBBER) $(EDIRT_CLOBBER)
|
||||||
|
ifneq ($(GDIRT_INSTALLED),)
|
||||||
|
$(call makesuperfull,clobber-installed)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
-$(RM) $(GDIRT_CLEAN) $(LDIRT_CLEAN) $(EDIRT_CLEAN)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# source file dependancies
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#
|
||||||
|
# dynamic dependancy generation
|
||||||
|
# like as $(OBJDIR)/main.o: main.c
|
||||||
|
#
|
||||||
|
DEP_SRCS_ALL = $(SRCS) $(SRCS_AUTOLOAD) $(SRCS_OVERLAY)
|
||||||
|
|
||||||
|
define RuleCtoObj
|
||||||
|
$$(OBJDIR)/$$(notdir $$(basename $(1))).o: $(1)
|
||||||
|
|
||||||
|
endef
|
||||||
|
endif # CTRSDK_MODULERULES_
|
||||||
|
|
||||||
|
# Put this sentance out of include-guard to avoid $(eval xxx) limitation
|
||||||
|
$(foreach FILE,$(DEP_SRCS_ALL),$(eval $(call RuleCtoObj,$(FILE))))
|
||||||
|
|
||||||
|
|
||||||
|
ifndef CTRSDK_MODULERULES_
|
||||||
|
#
|
||||||
|
# include dependancies file
|
||||||
|
#
|
||||||
|
ifeq ($(MAKECMDGOALS),do-build)
|
||||||
|
ifdef SRCS
|
||||||
|
-include $(DEPENDDIR)/*.d
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# for IS-NITRO-EMULATOR
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifdef IS_CTR_DIR
|
||||||
|
-include $(CTR_BUILDTOOLSDIR)/modulerules.emtype.ISD
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Load add-ins' modulerules
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
-include $(CTR_BUILDTOOLSDIR)/modulerules.add-ins.*
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
CTRSDK_MODULERULES_ = TRUE
|
||||||
|
endif # CTRSDK_MODULERULES_
|
||||||
|
#----- End of modulerules -----
|
||||||
57
trunk/build/buildtools/modulerules.add-ins.twl
Normal file
57
trunk/build/buildtools/modulerules.add-ins.twl
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - modulerules - common rules for build system
|
||||||
|
# File: modulerules
|
||||||
|
#
|
||||||
|
# Copyright 2007 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifndef TWLSDK_MODULERULES_
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
.PHONY: twltop twllib twldbg link
|
||||||
|
|
||||||
|
link:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
-rm $(BINDIR)/$(TARGET_BIN_BASENAME).axf $(BINDIR)/$(TARGET_BIN_BASENAME).nef
|
||||||
|
@+$(REMAKE)
|
||||||
|
|
||||||
|
twltop:
|
||||||
|
@$(MAKE) -C $(TWLSDK_ROOT)
|
||||||
|
|
||||||
|
twllib:
|
||||||
|
@$(MAKE) -C $(TWLSDK_ROOT)/build/buildsetup
|
||||||
|
@$(MAKE) -C $(TWLSDK_ROOT)/build/libraries
|
||||||
|
|
||||||
|
twldbg:
|
||||||
|
@$(TOUCH) $(TWL_LDEPENDS_DBG)
|
||||||
|
@$(MAKE) -C $(TWLSDK_ROOT)/build/libraries/os
|
||||||
|
@+$(REMAKE)
|
||||||
|
|
||||||
|
# .axf
|
||||||
|
$(BINDIR)/$(TARGET_BIN_BASENAME).axf: $(OBJS) $(LCFILE) $(MAKEFILE) $(LDEPENDS_NEF) $(EDEPENDS_NEF) $(ALIBRARIES) $(LDRES_FILE) $(CW_LIBCXX)
|
||||||
|
ifeq ($(CTR_CCTYPE),RVCT)
|
||||||
|
$(LD) $(LDFLAGS) $(LIBRARY_DIRS) -o $@ $(GLIBRARIES) $(OBJS)
|
||||||
|
else
|
||||||
|
$(LD) $(LDFLAGS) $(LIBRARY_DIRS) @$(LDRES_FILE) $(LCFILE) -o $@
|
||||||
|
ifeq ($(TWL_PLATFORM),TS)
|
||||||
|
cp $(BINDIR)/$(TARGET_BIN_BASENAME).axf $(BINDIR)/$(TARGET_BIN_BASENAME).nef
|
||||||
|
endif
|
||||||
|
ifdef FIRM_STRIP_AXF
|
||||||
|
$(OBJCOPY) $@ $(BINDIR)/$(TARGET_BIN_BASENAME).sbin
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
TWLSDK_MODULERULES_ = TRUE
|
||||||
|
endif # TWLSDK_MODULERULES_
|
||||||
|
#----- End of modulerules -----
|
||||||
53
trunk/build/buildtools/modulerules.add-ins.twldll
Normal file
53
trunk/build/buildtools/modulerules.add-ins.twldll
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - modulerules - common rules for build system
|
||||||
|
# File: modulerules
|
||||||
|
#
|
||||||
|
# Copyright 2007 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifndef TWLDLL_MODULERULES_
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#MakefileでDLL_FILESを定義しておくとmake dllでstaticsymlist.cができます
|
||||||
|
|
||||||
|
DLL_LIBS ?= $(addprefix $(TWL_LIBDIR)/,$(addsuffix $(TWL_LIBSUFFIX).a,$(DLL_FILES)))
|
||||||
|
NODBG_LIBS ?= $(addprefix $(TWL_LIBDIR)/,$(addsuffix $(TWL_LIBSUFFIX).nodbg.a,$(DLL_FILES)))
|
||||||
|
STATIC_LIBS ?= $(addprefix $(TWL_LIBDIR)/,$(TWL_LIBS))
|
||||||
|
|
||||||
|
.PHONY: dll
|
||||||
|
|
||||||
|
dll:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
ifdef DLL_FILES
|
||||||
|
$(foreach DLLFILE, $(DLL_LIBS), \
|
||||||
|
$(TWLSDK_ROOT)/tools/stripdebug/stripdebug.exe -o $(subst .a,.nodbg.a,$(DLLFILE)) $(DLLFILE);)
|
||||||
|
|
||||||
|
$(TWLSDK_ROOT)/tools/makelst/makelst.exe -o $(SRCDIR)/staticsymlist.c \
|
||||||
|
-static $(STATIC_LIBS) \
|
||||||
|
-dll $(NODBG_LIBS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# $(foreach DLLFILE, $(DLL_LIBS), \
|
||||||
|
# $(TWLSDK_ROOT)/tools/makelst/makelst.exe -o staticsymlist.c \
|
||||||
|
# -static $(STATIC_LIBS) \
|
||||||
|
# -dll $(TWL_LIBDIR)/$(DLLFILE)
|
||||||
|
#)
|
||||||
|
#
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
TWLDLL_MODULERULES_ = TRUE
|
||||||
|
endif # TWLDLL_MODULERULES_
|
||||||
|
#----- End of modulerules -----
|
||||||
67
trunk/build/buildtools/modulerules.add-ins.utest
Normal file
67
trunk/build/buildtools/modulerules.add-ins.utest
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - UnitTest Tool
|
||||||
|
# File: modulerules.add-ins.utest
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded insructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
.PHONY: utest
|
||||||
|
|
||||||
|
#
|
||||||
|
# UNIT TEST on ARM11
|
||||||
|
#
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
|
||||||
|
UTEST_MAKEOPTS = \
|
||||||
|
SRCS="$(SRCS) $(UTEST_MAIN_SRC)" \
|
||||||
|
LIBRARIES_UNLINK=$(TARGET_LIB) \
|
||||||
|
TARGET_BIN=$(UTEST_MAIN_BIN) \
|
||||||
|
TARGET_NEF= \
|
||||||
|
TARGET_LIB= \
|
||||||
|
TARGET_OBJ= \
|
||||||
|
TARGET_SIGN_BIN= \
|
||||||
|
UTEST_OBJS_TESTEE="$(OBJS)" \
|
||||||
|
UTEST_CHECKASSERT=True \
|
||||||
|
CTR_UTEST=True
|
||||||
|
|
||||||
|
utest:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
ifneq ($(strip $(TARGET_LIB)),)
|
||||||
|
ifneq ($(strip $(NEWDIRS)),)
|
||||||
|
@$(MKDIRP) $(NEWDIRS) $(BINDIR)
|
||||||
|
endif
|
||||||
|
@$(REMAKE) -s $(UTEST_MAIN_SRC) $(UTEST_MAKEOPTS)
|
||||||
|
@if [ -e $(UTEST_MAIN_SRC) ]; \
|
||||||
|
then \
|
||||||
|
$(REMAKE) -s do-build $(UTEST_MAKEOPTS) && \
|
||||||
|
$(REMAKE) -s run TARGET_BIN=$(UTEST_MAIN_BIN); \
|
||||||
|
fi
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(UTEST_MAIN_SRC): $(UTEST_OBJS_TESTEE)
|
||||||
|
@$(MAKE_UTEST_MAIN) -c $(UTEST_MAIN_SRC) $(UTEST_OBJS_TESTEE)
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# UNIT TEST on ARM9
|
||||||
|
#
|
||||||
|
else # ($(CODEGEN_PROC),ARM9)
|
||||||
|
|
||||||
|
utest:
|
||||||
|
@ # Not support unit test on ARM9
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of modulerules.add-ins.utest =====
|
||||||
338
trunk/build/buildtools/modulerules.cctype.CW
Normal file
338
trunk/build/buildtools/modulerules.cctype.CW
Normal file
@ -0,0 +1,338 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - buildtools - compiler dependant settings for CodeWarrior
|
||||||
|
# File: modulerules.cctype.CW
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
AINCLUDE_DIRS = $(LINCLUDES) $(EINCLUDES) $(GINCLUDES)
|
||||||
|
ALIBRARY_DIRS = $(LLIBRARY_DIRS) $(ELIBRARY_DIRS) $(GLIBRARY_DIRS)
|
||||||
|
ALIBRARIES = $(LLIBRARIES) $(ELIBRARIES) $(GLIBRARIES)
|
||||||
|
|
||||||
|
#
|
||||||
|
# (make version 3.80)
|
||||||
|
#
|
||||||
|
# VPATH does not support the path name included white space like "C:/Program Files"
|
||||||
|
# Please, be careful !!!
|
||||||
|
#
|
||||||
|
ifdef MSYSTEM
|
||||||
|
CTR_LIBVPATH_ = $(subst \:,\ ,$(subst $(SPACE),:,$(ALIBRARY_DIRS)))
|
||||||
|
else
|
||||||
|
CYGDRV ?= $(shell cygpath -u c:)/..
|
||||||
|
ALIBVPATH = $(subst : ,,$(patsubst %:,$(CYGDRV)/%:,$(subst :,: ,$(ALIBRARY_DIRS))))
|
||||||
|
endif
|
||||||
|
|
||||||
|
vpath %.a $(ALIBVPATH)
|
||||||
|
vpath %.o $(ALIBVPATH)
|
||||||
|
|
||||||
|
INCLUDE_DIRS = $(subst \ -I,\ ,$(addprefix -I,$(AINCLUDE_DIRS)))
|
||||||
|
LIBRARY_DIRS = $(subst \ -L,\ ,$(addprefix -L,$(ALIBRARY_DIRS)))
|
||||||
|
LIBRARIES = $(subst \ -l,\ ,$(addprefix -l,$(ALIBRARIES)))
|
||||||
|
|
||||||
|
INCLUDES = -gccinc -I. $(INCLUDE_DIRS)
|
||||||
|
|
||||||
|
ifdef MSYSTEM # for MinGW32
|
||||||
|
QUOTE ='
|
||||||
|
else
|
||||||
|
QUOTE ="
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
.PRECIOUS: $(OBJDIR)/%.o $(BINDIR)/%.nef $(LCFILE) $(PCHDR_H) $(PCHDR_PCH)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generate dependency files
|
||||||
|
#
|
||||||
|
DEPEND_RULE = $(QUOTE)/ARM_EABI_Support/d;s/\\x0D//g;s/\\\\\\([^ ]\\)/\\/\\1/g;$(QUOTE)
|
||||||
|
DEPEND_RULE2 = $(QUOTE)s/^[^\\t].*: //;s/^\\t//;s/ \\\\$$//;s/\\([^ ].*\\)/\\1:/;1s/^./\\n&/;$(QUOTE)
|
||||||
|
|
||||||
|
define MOVE_SRC_DEPEND
|
||||||
|
$(SED) -e $(DEPEND_RULE) $(*F).d > $(*F).2.d && \
|
||||||
|
$(SED) -e $(DEPEND_RULE2) $(*F).2.d > $(*F).3.d && \
|
||||||
|
$(CAT) $(*F).2.d $(*F).3.d > $(DEPENDDIR)/$(*F).d && \
|
||||||
|
$(RM) $(*F).d $(*F).2.d $(*F).3.d
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
ifdef CTR_STD_PCHDR
|
||||||
|
ifndef CTR_NO_STD_PCHDR
|
||||||
|
|
||||||
|
# .mch
|
||||||
|
PCHDR_SRC = $(ROOT)/include/nitro.h
|
||||||
|
PCHDR_CACHE = $(ROOT)/cache/include
|
||||||
|
|
||||||
|
PCHDR_C_DEFS = $(sort $(filter -DSDK_%,$(CCFLAGS)))
|
||||||
|
PCHDR_C_NODEF = $(filter-out -D%,$(CCFLAGS))
|
||||||
|
PCHDR_C_NAME = $(subst $(SPACE),,$(subst -DSDK_,.,$(subst =,-,$(PCHDR_C_DEFS))))
|
||||||
|
PCHDR_C_BASE = $(PCHDR_CACHE)/$(notdir $(PCHDR_SRC))$(PCHDR_C_NAME).C
|
||||||
|
PCHDR_C_MCH = $(PCHDR_C_BASE).mch
|
||||||
|
PCHDR_C_DEPEND = $(PCHDR_C_BASE).depend
|
||||||
|
PCHDR_CCFLAGS = -include $(PCHDR_C_MCH)
|
||||||
|
CCFLAGS_NOLDEF = $(PCHDR_C_DEFS) $(PCHDR_C_NODEF)
|
||||||
|
|
||||||
|
PCHDR_CXX_DEFS = $(sort $(filter -DSDK_%,$(CXXFLAGS)))
|
||||||
|
PCHDR_CXX_NODEF = $(filter-out -D%,$(CXXFLAGS))
|
||||||
|
PCHDR_CXX_NAME = $(subst $(SPACE),,$(subst -DSDK_,.,$(subst =,-,$(PCHDR_CXX_DEFS))))
|
||||||
|
PCHDR_CXX_BASE = $(PCHDR_CACHE)/$(notdir $(PCHDR_SRC))$(PCHDR_CXX_NAME).CXX
|
||||||
|
PCHDR_CXX_MCH = $(PCHDR_CXX_BASE).mch
|
||||||
|
PCHDR_CXX_DEPEND= $(PCHDR_CXX_BASE).depend
|
||||||
|
PCHDR_CXXFLAGS = -include $(PCHDR_CXX_MCH)
|
||||||
|
CXXFLAGS_NOLDEF = $(PCHDR_CXX_DEFS) $(PCHDR_CXX_NODEF)
|
||||||
|
|
||||||
|
GDIRT_CLOBBER += $(PCHDR_CACHE)/$(notdir $(PCHDR_SRC)).*
|
||||||
|
|
||||||
|
ifeq ($(MAKECMDGOALS),do-build)
|
||||||
|
|
||||||
|
## $(call BUILD_PCHDR,$(BASE),$(CCFLAGS))
|
||||||
|
define BUILD_PCHDR
|
||||||
|
@$(CP) $(PCHDR_SRC) $(1).h
|
||||||
|
($(CD) $(dir $(1).mch) && \
|
||||||
|
$(CC) $(subst -include ,-DSDK_PCHDR_DUMMY_,$(2)) $(INCLUDES) -MD -precompile $(notdir $(1).mch) $(1).h)
|
||||||
|
@($(ECHO) $(1).mch: $(PCHDR_SRC) \\ > $(1).depend && \
|
||||||
|
$(SED) -e '1d' -e $(DEPEND_RULE) $(1).d >> $(1).depend && $(RM) $(1).d $(1).h)
|
||||||
|
endef
|
||||||
|
|
||||||
|
# precomipled header for C
|
||||||
|
ifneq ($(strip $(OBJS_CC)),)
|
||||||
|
-include $(PCHDR_C_DEPEND)
|
||||||
|
|
||||||
|
$(PCHDR_C_DEPEND): $(PCHDR_C_MCH)
|
||||||
|
|
||||||
|
$(PCHDR_C_MCH):
|
||||||
|
$(call BUILD_PCHDR,$(PCHDR_C_BASE),$(CCFLAGS_NOLDEF))
|
||||||
|
endif
|
||||||
|
|
||||||
|
# precomipled header for C++
|
||||||
|
ifneq ($(strip $(OBJS_CXX)),)
|
||||||
|
-include $(PCHDR_CXX_DEPEND)
|
||||||
|
|
||||||
|
$(PCHDR_CXX_DEPEND): $(PCHDR_CXX_MCH)
|
||||||
|
|
||||||
|
$(PCHDR_CXX_MCH):
|
||||||
|
$(call BUILD_PCHDR,$(PCHDR_CXX_BASE),$(CXXFLAGS_NOLDEF))
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif # do-build
|
||||||
|
endif # CTR_NO_STD_PCHDR
|
||||||
|
endif # CTR_STD_PCHDR
|
||||||
|
|
||||||
|
# .c
|
||||||
|
$(OBJS_CC):%.o:
|
||||||
|
$(CC) $(CCFLAGS) $(INCLUDES) $(PCHDR_CCFLAGS) -c $(shell cygpath -m $<) -MD -o $@
|
||||||
|
@$(MOVE_SRC_DEPEND)
|
||||||
|
|
||||||
|
# .cpp
|
||||||
|
$(OBJS_CXX):%.o:
|
||||||
|
$(CC) $(CXXFLAGS) $(INCLUDES) $(PCHDR_CXXFLAGS) -c $(shell cygpath -m $<) -MD -o $@
|
||||||
|
@$(MOVE_SRC_DEPEND)
|
||||||
|
|
||||||
|
# .s
|
||||||
|
$(OBJS_AS):%.o:
|
||||||
|
$(AS) $(ASFLAGS) $(INCLUDES) -c $(shell cygpath -m $<) -MD -o $@
|
||||||
|
@$(MOVE_SRC_DEPEND)
|
||||||
|
|
||||||
|
# .lcf .par
|
||||||
|
ifdef LCFILE_SPEC
|
||||||
|
|
||||||
|
ADDRESS_DTCM ?= $(DEFAULT_ADDRESS_DTCM)
|
||||||
|
|
||||||
|
# exporting
|
||||||
|
GLIBRARIES_LINK = $(filter-out $(LIBRARIES_UNLINK),$(ELIBRARIES) $(GLIBRARIES))
|
||||||
|
LLIBRARIES_LINK = $(filter-out $(LIBRARIES_UNLINK),$(LLIBRARIES))
|
||||||
|
|
||||||
|
MAKELCF_DEFS = -DCTRSDK_ROOT='$(ROOT)' \
|
||||||
|
-DTARGET_NAME='$(TARGET_NAME)' \
|
||||||
|
-DOBJS_STATIC='$(OBJS_STATIC)' \
|
||||||
|
-DOBJS_AUTOLOAD='$(OBJS_AUTOLOAD)' \
|
||||||
|
-DOBJS_OVERLAY='$(OBJS_OVERLAY)' \
|
||||||
|
-DGLIBS='$(GLIBRARIES_LINK)' \
|
||||||
|
-DLLIBS='$(LLIBRARIES_LINK)' \
|
||||||
|
-DCW_LIBS='$(CW_LIBS)' \
|
||||||
|
-DOBJDIR='$(OBJDIR)' \
|
||||||
|
-DLIBDIR='$(LIBDIR)' \
|
||||||
|
-DBINDIR='$(BINDIR)' \
|
||||||
|
-DPROC='$(CODEGEN_PROC)' \
|
||||||
|
-DPLATFORM='$(CTR_PLATFORM)' \
|
||||||
|
-DCODEGEN='$(CODEGEN_ARCH)' \
|
||||||
|
-DBUILD='$(CTR_BUILD_DIR)' \
|
||||||
|
-DADDRESS_DTCM='$(ADDRESS_DTCM)'
|
||||||
|
|
||||||
|
MAKELCF_FORMAT = -V$(CW_MAJOR_VER)
|
||||||
|
|
||||||
|
MAKELCF_OPTS = $(MAKELCF_FLAGS) $(MAKELCF_DEFS) $(MAKELCF_FORMAT)
|
||||||
|
|
||||||
|
$(LCFILE_AUTOGEN): $(LCFILE_SPEC) $(LCFILE_TEMPLATE) $(MAKEFILE) $(CTR_BUILDTOOLSDIR)/commondefs $(LDEPENDS_LCF)
|
||||||
|
$(MAKELCF) $(MAKELCF_OPTS) $< $(LCFILE_TEMPLATE) $@
|
||||||
|
|
||||||
|
$(LDRES_AUTOGEN): $(LCFILE_SPEC) $(LDRES_TEMPLATE) $(MAKEFILE) $(CTR_BUILDTOOLSDIR)/commondefs $(LDEPENDS_RES)
|
||||||
|
@$(MAKELCF) $(MAKELCF_OPTS) $< $(LDRES_TEMPLATE) $@
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
# compress/digest
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
ifdef CTR_COMPRESS
|
||||||
|
COMPSTATIC_CMDS = -11 -c
|
||||||
|
#COMPSTATIC_CMDS = -9 -c
|
||||||
|
endif
|
||||||
|
ifdef CTR_DIGEST
|
||||||
|
COMPSTATIC_CMDS += -a
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef COMPSTATIC_CMDS
|
||||||
|
COMPSUFFIX ?= $(DEFAULT_COMPSUFFIX)
|
||||||
|
ifneq ($(COMPSUFFIX),)
|
||||||
|
COMPSTATIC_FLAGS += -e$(COMPSUFFIX)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# libcxx workaround
|
||||||
|
ifdef SDK_CW_WA_LIBCXX
|
||||||
|
CW_LIBCXX = $(CW_LIBCXX_DIR)/$(CW_LIBCXX_ARM)
|
||||||
|
$(CW_LIBCXX): $(ROOT)/build/buildsetup/libcxx/Makefile
|
||||||
|
$(MAKE) -f $<
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# .nef
|
||||||
|
ifndef USE_MY_RULE_NEF
|
||||||
|
ifneq ($(CTR_MAKEROM),)
|
||||||
|
$(BINDIR)/$(TARGET_BIN_BASENAME).nef: $(OBJS) $(LCFILE) $(MAKEFILE) $(LDEPENDS_NEF) $(EDEPENDS_NEF) $(ALIBRARIES) $(LDRES_FILE) $(CW_LIBCXX)
|
||||||
|
$(LD) $(LDFLAGS) $(LIBRARY_DIRS) @$(LDRES_FILE) $(LCFILE) -o $@
|
||||||
|
ifdef COMPSTATIC_CMDS
|
||||||
|
$(COMPSTATIC) $(COMPSTATIC_CMDS) $(COMPSTATIC_FLAGS) -f $(BINDIR)/component.files $(CTR_STDOUT)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
$(BINDIR)/$(TARGET_BIN_BASENAME).nef: $(OBJS) $(LCFILE) $(MAKEFILE) $(LDEPENDS_NEF) $(EDEPENDS_NEF) $(ALIBRARIES) $(CW_LIBCXX)
|
||||||
|
$(LD) $(LDFLAGS) $(LIBRARY_DIRS) $(OBJS) $(LIBRARIES) $(LCFILE) -o $@
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# .a
|
||||||
|
ifndef USE_MY_RULE_A
|
||||||
|
$(LIBDIR)/$(TARGET_LIB): $(OBJS) $(MAKEFILE)
|
||||||
|
$(AR) $(ARFLAGS) $(OBJS) -o $@
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Get SDK_CW_BUILD_VERSION SDK_CW_BUILD_NUMBER
|
||||||
|
#
|
||||||
|
# IRIS V0.2 Hotfix 1
|
||||||
|
# SDK_CW_BUILD_VERSION_CC=2.0
|
||||||
|
# SDK_CW_BUILD_VERSION_LD=2.0
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0038
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0050
|
||||||
|
#
|
||||||
|
# NITRO V0.3
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0038
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0056
|
||||||
|
#
|
||||||
|
# NITRO V0.4.1
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0043
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0057
|
||||||
|
#
|
||||||
|
# NITRO V0.5
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0046
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0058
|
||||||
|
#
|
||||||
|
# NITRO V0.5 + HotFix1
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0049
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0061
|
||||||
|
#
|
||||||
|
# NITRO V0.6
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0050
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0062
|
||||||
|
#
|
||||||
|
# NITRO V0.6.1
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0050
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0063
|
||||||
|
#
|
||||||
|
# NITRO V0.7
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0050
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0063
|
||||||
|
#
|
||||||
|
# NITRO V1.0
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0056
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0067
|
||||||
|
#
|
||||||
|
# NITRO V1.0.2
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0068
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0068
|
||||||
|
#
|
||||||
|
# NITRO V1.2
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0073
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0072
|
||||||
|
#
|
||||||
|
# NITRO V1.2SP1
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0074
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0072
|
||||||
|
#
|
||||||
|
# NITRO V1.2SP2+patch
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0080
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0074
|
||||||
|
#
|
||||||
|
# NITRO V1.2SP3
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0084
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0077
|
||||||
|
#
|
||||||
|
# NITRO V1.2SP4
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0087
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=7702
|
||||||
|
#
|
||||||
|
# NITRO V2.0beta
|
||||||
|
# SDK_CW_BUILD_VERSION_CC=3.0
|
||||||
|
# SDK_CW_BUILD_VERSION_LD=2.0
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0107
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0077
|
||||||
|
#
|
||||||
|
# NITRO V2.0
|
||||||
|
# SDK_CW_BUILD_NUMBER_CC=0114
|
||||||
|
# SDK_CW_BUILD_NUMBER_LD=0082
|
||||||
|
#
|
||||||
|
ifneq ($(findstring $(MAKECMDGOALS),do-build make-verinfo clean-verinfo),)
|
||||||
|
|
||||||
|
.PHONY: make-verinfo
|
||||||
|
make-verinfo: $(SDK_VERINFO_CW_CC) $(SDK_VERINFO_CW_LD)
|
||||||
|
|
||||||
|
$(SDK_VERINFO_CW_CC): $(MWCC)
|
||||||
|
@$(MWCC) -version | \
|
||||||
|
$(SED) -e $(QUOTE)/^Version /!d;s/\(build [0-9]\{2,3\}\) /\100 /;s/^Version \([0-9.]*\).*build \([0-9]*\).*(build \([0-9]*\)).*/SDK_CW_BUILD_VERSION_CC=\1\nSDK_CW_BUILD_NUMBER_CC=\3\nSDK_CW_BUILD_NUMBER2_CC=\2/i;$(QUOTE) >$(SDK_VERINFO_CW_CC)
|
||||||
|
@$(TOUCH) -r $(MWCC) $(SDK_VERINFO_CW_CC)
|
||||||
|
|
||||||
|
$(SDK_VERINFO_CW_LD): $(MWLD)
|
||||||
|
@$(MWLD) -version | \
|
||||||
|
$(SED) -e $(QUOTE)/^Version /!d;s/\(build [0-9]\{2,3\}\) /\100 /;s/^Version \([0-9.]*\).*build \([0-9]*\).*(build \([0-9]*\)).*/SDK_CW_BUILD_VERSION_LD=\1\nSDK_CW_BUILD_NUMBER_LD=\3\nSDK_CW_BUILD_NUMBER2_LD=\2/i;$(QUOTE) >$(SDK_VERINFO_CW_LD)
|
||||||
|
@$(TOUCH) -r $(MWLD) $(SDK_VERINFO_CW_LD)
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
.PHONY: clean-verinfo
|
||||||
|
clean-verinfo:
|
||||||
|
@$(RM) $(CTR_BUILDTOOLSDIR)/verinfo.*
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Check codegen bug around blxeq/blxne
|
||||||
|
#
|
||||||
|
|
||||||
|
.PHONY: codecheck
|
||||||
|
|
||||||
|
codecheck:
|
||||||
|
@$(ECHO) --- checking codegen ---
|
||||||
|
@$(CTR_TOOLSDIR)/bin/blxchecker
|
||||||
|
|
||||||
|
#----- End of modulerules.cctype.CW -----
|
||||||
150
trunk/build/buildtools/modulerules.cctype.RVCT
Normal file
150
trunk/build/buildtools/modulerules.cctype.RVCT
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrFirm - buildtools - compiler dependant settings for ProDG
|
||||||
|
# File: modulerules.cctype.RVCT
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
AINCLUDE_DIRS = $(LINCLUDES) $(EINCLUDES) $(GINCLUDES) $(RVCT_INCDIRS)
|
||||||
|
ALIBRARY_DIRS = $(LLIBRARY_DIRS) $(ELIBRARY_DIRS) $(GLIBRARY_DIRS) # $(RVCT_LIBDIRS)
|
||||||
|
ALIBRARIES = $(LLIBRARIES) $(ELIBRARIES) $(GLIBRARIES)
|
||||||
|
|
||||||
|
#
|
||||||
|
# (make version 3.80)
|
||||||
|
#
|
||||||
|
# VPATH does not support the path name included white space like "C:/Program Files"
|
||||||
|
# Please, be careful !!!
|
||||||
|
#
|
||||||
|
ifdef MSYSTEM
|
||||||
|
CTR_LIBVPATH_ = $(subst \:,\ ,$(subst $(SPACE),:,$(ALIBRARY_DIRS)))
|
||||||
|
else
|
||||||
|
CYGDRV ?= $(shell cygpath -u c:)/..
|
||||||
|
ALIBVPATH = $(subst : ,,$(patsubst %:,$(CYGDRV)/%:,$(subst :,: ,$(ALIBRARY_DIRS))))
|
||||||
|
endif
|
||||||
|
|
||||||
|
vpath %.a $(ALIBVPATH)
|
||||||
|
vpath %.o $(ALIBVPATH)
|
||||||
|
|
||||||
|
INCLUDE_DIRS = $(subst \ -I,\ ,$(addprefix -I,$(AINCLUDE_DIRS)))
|
||||||
|
LIBRARY_DIRS = $(subst \ -L,\ ,$(addprefix --userlibpath ,$(ALIBRARY_DIRS)))
|
||||||
|
LIBRARIES = $(subst \ -l,\ ,$(addprefix -l,$(ALIBRARIES)))
|
||||||
|
|
||||||
|
INCLUDES = -I. $(INCLUDE_DIRS)
|
||||||
|
|
||||||
|
ifdef MSYSTEM # for MinGW32
|
||||||
|
QUOTE ='
|
||||||
|
else
|
||||||
|
QUOTE ="
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
.PRECIOUS: $(OBJDIR)/%.o $(BINDIR)/%.nef $(LCFILE)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generate dependency files
|
||||||
|
#
|
||||||
|
DEPEND_RULE = $(QUOTE)s/^\(.*\)\s\(.*\)$$/&\n\2:/;$(QUOTE)
|
||||||
|
|
||||||
|
define MOVE_SRC_DEPEND
|
||||||
|
$(SED) -e $(DEPEND_RULE) $(*F).d > $(DEPENDDIR)/$(*F).d && $(RM) $(*F).d
|
||||||
|
endef
|
||||||
|
|
||||||
|
# .c
|
||||||
|
$(OBJS_CC):%.o:
|
||||||
|
$(CC) $(CCFLAGS) $(INCLUDES) -c $(shell cygpath -m $<) --depend_format=unix_escaped --depend $(*F).d -o $@
|
||||||
|
@$(MOVE_SRC_DEPEND)
|
||||||
|
|
||||||
|
# .cpp
|
||||||
|
$(OBJS_CXX):%.o:
|
||||||
|
$(CC) $(CXXFLAGS) $(INCLUDES) -c $(shell cygpath -m $<) --depend_format=unix_escaped --depend $(*F).d -o $@
|
||||||
|
@$(MOVE_SRC_DEPEND)
|
||||||
|
|
||||||
|
# .s
|
||||||
|
$(OBJS_AS):%.o:
|
||||||
|
$(AS) $(ASFLAGS) --depend $(*F).d -o $@ $(shell cygpath -m $<)
|
||||||
|
@$(MOVE_SRC_DEPEND)
|
||||||
|
|
||||||
|
# .lcf .par
|
||||||
|
ifdef LCFILE_SPEC
|
||||||
|
|
||||||
|
ADDRESS_DTCM ?= $(DEFAULT_ADDRESS_DTCM)
|
||||||
|
|
||||||
|
# exporting
|
||||||
|
MAKELCF_DEFS = -DCTRSDK_ROOT='$(ROOT)' \
|
||||||
|
-DTARGET_NAME='$(TARGET_NAME)' \
|
||||||
|
-DOBJS_STATIC='$(OBJS_STATIC)' \
|
||||||
|
-DOBJS_AUTOLOAD='$(OBJS_AUTOLOAD)' \
|
||||||
|
-DOBJS_OVERLAY='$(OBJS_OVERLAY)' \
|
||||||
|
-DGLIBS='$(GLIBRARIES)' \
|
||||||
|
-DLLIBS='$(LLIBRARIES)' \
|
||||||
|
-DCW_LIBS='$(SN_LIBS)' \
|
||||||
|
-DOBJDIR='$(OBJDIR)' \
|
||||||
|
-DLIBDIR='$(LIBDIR)' \
|
||||||
|
-DBINDIR='$(BINDIR)' \
|
||||||
|
-DPROC='$(CODEGEN_PROC)' \
|
||||||
|
-DPLATFORM='$(CTR_PLATFORM)' \
|
||||||
|
-DCODEGEN='$(CODEGEN_ARCH)' \
|
||||||
|
-DBUILD='$(CTR_BUILD_DIR)' \
|
||||||
|
-DADDRESS_DTCM='$(ADDRESS_DTCM)'
|
||||||
|
|
||||||
|
MAKELCF_OPTS = $(MAKELCF_FLAGS) $(MAKELCF_DEFS)
|
||||||
|
|
||||||
|
|
||||||
|
$(LCFILE_AUTOGEN): $(LCFILE_TEMPLATE) $(MAKEFILE) $(LDEPENDS_LCF)
|
||||||
|
$(CC) $(CCFLAGS) $(INCLUDES) -E -o $(LCFILE_AUTOGEN) $(LCFILE_TEMPLATE)
|
||||||
|
|
||||||
|
$(LDRES_AUTOGEN): $(LCFILE_SPEC) $(LDRES_TEMPLATE) $(MAKEFILE) $(LDEPENDS_RES)
|
||||||
|
$(MAKELCF) $(MAKELCF_OPTS) $< $(LDRES_TEMPLATE) $@
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# compress/digest
|
||||||
|
ifeq ($(CODEGEN_PROC),ARM11)
|
||||||
|
ifdef CTR_COMPRESS
|
||||||
|
COMPSTATIC_CMDS = -11 -c
|
||||||
|
#COMPSTATIC_CMDS = -9 -c
|
||||||
|
endif
|
||||||
|
ifdef CTR_DIGEST
|
||||||
|
COMPSTATIC_CMDS += -a
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef COMPSTATIC_CMDS
|
||||||
|
COMPSUFFIX ?= $(DEFAULT_COMPSUFFIX)
|
||||||
|
ifneq ($(COMPSUFFIX),)
|
||||||
|
COMPSTATIC_FLAGS += -e$(COMPSUFFIX)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# .nef
|
||||||
|
ifndef USE_MY_RULE_NEF
|
||||||
|
$(BINDIR)/$(TARGET_BIN_BASENAME).nef: $(OBJS) $(MAKEFILE) $(LDEPENDS_NEF) $(LDRES_FILE) $(ALIBRARIES)
|
||||||
|
# $(LD) $(LDFLAGS) -T $(LCFILE) -LSF $(LCFILE_SPEC) -Map $@.xMAP $(LIBRARY_DIRS) @$(LDRES_FILE) -o $@
|
||||||
|
$(LD) $(LDFLAGS) -T $(LCFILE) -Map $@.xMAP $(LIBRARY_DIRS) @$(LDRES_FILE) -o $@
|
||||||
|
ifdef COMPSTATIC_CMDS
|
||||||
|
$(COMPSTATIC) $(COMPSTATIC_CMDS) $(COMPSTATIC_FLAGS) -f $(BINDIR)/component.files $(CTR_STDOUT)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# .a
|
||||||
|
ifndef USE_MY_RULE_A
|
||||||
|
$(LIBDIR)/$(TARGET_LIB): $(OBJS) $(MAKEFILE)
|
||||||
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----- End of modulerules.cctype.RVCT -----
|
||||||
41
trunk/build/buildtools/modulerules.emtype.ISD
Normal file
41
trunk/build/buildtools/modulerules.emtype.ISD
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - buildtools - debugger dependant settings for ISDbgr
|
||||||
|
# File: modulerules.emtype.ISD
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Run command for IS-NITRO-EMULATOR
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
ifneq ($(TARGET_ROM),)
|
||||||
|
|
||||||
|
.PHONY: run test-run
|
||||||
|
run:
|
||||||
|
@if [ -e "$(ISD_NITLOAD_GCC)" ]; \
|
||||||
|
then \
|
||||||
|
$(ISD_NITLOAD_GCC) -p $(BINDIR)/$(firstword $(TARGET_BIN)); \
|
||||||
|
else \
|
||||||
|
$(ISD_NITLOAD) -p $(BINDIR)/$(firstword $(TARGET_BIN)); \
|
||||||
|
fi
|
||||||
|
|
||||||
|
#test-run:
|
||||||
|
# @echo ==== $(CURDIR) > $(AUTOTESTLOG).tmp
|
||||||
|
# @echo :TEST-TARGET: [$(BINDIR)/$(firstword $(TARGET_BIN))] >> $(AUTOTESTLOG).tmp
|
||||||
|
# @echo >> $(AUTOTESTLOG).tmp
|
||||||
|
# cscript $(NITRO_TOOLSDIR)/bin/runEmu.js //Nologo //T:60 $(BINDIR)/$(firstword $(TARGET_BIN)) $(AUTOTESTLOG).tmp
|
||||||
|
# @gawk '/<AUTO-TEST> / || NR <= 30' $(AUTOTESTLOG).tmp >> $(AUTOTESTLOG)
|
||||||
|
# @echo >> $(AUTOTESTLOG)
|
||||||
|
endif
|
||||||
|
|
||||||
|
#----- End of modulerules.emtype.ISD -----
|
||||||
158
trunk/build/buildtools/modulerules.x86
Normal file
158
trunk/build/buildtools/modulerules.x86
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - modulerules - common rules for build system
|
||||||
|
# File: modulerules.x86
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Implicit RULES
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
WARNING = -Wall
|
||||||
|
|
||||||
|
LEX = flex
|
||||||
|
YACC = bison -y
|
||||||
|
|
||||||
|
# workaround for flex gen code to avoid warnings
|
||||||
|
%.yy.o:WARNING += -Wno-unused-label -Wno-unused-function
|
||||||
|
|
||||||
|
ifdef DEBUG
|
||||||
|
MACROS += -DDEBUG -g
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef CTR_DEBUG
|
||||||
|
MACROS += -g
|
||||||
|
endif
|
||||||
|
|
||||||
|
define COMPILE_C
|
||||||
|
$(CC_X86) $(MACROS) -DSDK_WIN32 $(WARNING) -c -I. -I$(CTR_INCDIR) $< -o $@
|
||||||
|
endef
|
||||||
|
|
||||||
|
define COMPILE_CXX
|
||||||
|
$(CXX_X86) $(MACROS) -DSDK_WIN32 $(WARNING) -c -I. -I$(CTR_INCDIR) $< -o $@
|
||||||
|
endef
|
||||||
|
|
||||||
|
%.o: %.c
|
||||||
|
$(COMPILE_C)
|
||||||
|
|
||||||
|
%.o: %.cpp
|
||||||
|
$(COMPILE_CXX)
|
||||||
|
|
||||||
|
%.yy.c: %.l
|
||||||
|
$(LEX) -P$(basename $<)_yy -o$@ $<
|
||||||
|
|
||||||
|
%.tab.c: %.y
|
||||||
|
$(YACC) -d -p $(basename $<)_yy -b $(basename $<) $<
|
||||||
|
|
||||||
|
%.tab.h: %.tab.c
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# MAKE TARGETS
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
.PHONY: all default build do-build install do-install \
|
||||||
|
clean clobber super-clobber
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
define MAKE_SUBDIR
|
||||||
|
+$(foreach DIR,$(SUBDIRS),$(MAKE) -C $(DIR) $(MAKECMDGOALS) $(AND)) true
|
||||||
|
+$(foreach FILE,$(SUBMAKES),$(MAKE) -C $(dir $(FILE)) -f $(notdir $(FILE)) $(MAKECMDGOALS) $(AND)) true
|
||||||
|
endef
|
||||||
|
|
||||||
|
ifeq ($(MAKEFILE),Makefile)
|
||||||
|
MAKEFILE_ =
|
||||||
|
else
|
||||||
|
MAKEFILE_ = /$(MAKEFILE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
define ECHO_CURDIR
|
||||||
|
$(ECHO) "==== $(CURDIR)$(MAKEFILE_)";
|
||||||
|
endef
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# make build
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
build:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
ifdef TARGETS
|
||||||
|
ifdef NEWDIRS
|
||||||
|
@$(MKDIRP) $(NEWDIRS)
|
||||||
|
endif
|
||||||
|
@+$(REMAKE) do-build
|
||||||
|
ifdef INSTALL_TARGETS
|
||||||
|
@+$(REMAKE) do-install
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# make install
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
install:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
ifdef INSTALL_TARGETS
|
||||||
|
@+$(REMAKE) do-install
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
define DO_INSTALL
|
||||||
|
$(INSTALL) -d $(INSTALL_DIR) $(AND) \
|
||||||
|
$(foreach FILE, $(INSTALL_TARGETS), \
|
||||||
|
if [ ! -e $(INSTALL_DIR)/$(notdir $(FILE)) -o \
|
||||||
|
$(FILE) -nt $(INSTALL_DIR)/$(notdir $(FILE)) ]; \
|
||||||
|
then \
|
||||||
|
$(ECHO) " install: $(FILE) -> $(INSTALL_DIR)" $(AND) \
|
||||||
|
$(INSTALL) $(FILE) $(INSTALL_DIR)/$(notdir $(FILE)); \
|
||||||
|
fi $(AND) ) true
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
do-install:
|
||||||
|
@$(DO_INSTALL)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# make do-autotest
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
do-autotest:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# make clobber & clean
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
super-clobber clobber:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
-$(RM) $(GDIRT_CLEAN) $(LDIRT_CLEAN)
|
||||||
|
-$(RM) $(GDIRT_CLOBBER) $(LDIRT_CLOBBER)
|
||||||
|
-$(RM) $(GDIRT_INSTALLED)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@$(MAKE_SUBDIR)
|
||||||
|
@$(ECHO_CURDIR)
|
||||||
|
-$(RM) $(GDIRT_CLEAN) $(LDIRT_CLEAN)
|
||||||
|
|
||||||
|
|
||||||
|
#----- End of modulerules -----
|
||||||
80
trunk/build/buildtools/sdk_indent.pl
Normal file
80
trunk/build/buildtools/sdk_indent.pl
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# Project: CtrSDK - code formatter-
|
||||||
|
# File: sdk_indent.pl
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: sdk_indent.pl,v $
|
||||||
|
# Revision 1.2 2004/02/05 07:09:01 yasu
|
||||||
|
# change SDK prefix iris -> nitro
|
||||||
|
#
|
||||||
|
# Revision 1.1 2003/12/01 11:17:08 nishida_kenji
|
||||||
|
# 新規
|
||||||
|
#
|
||||||
|
# $NoKeywords: $
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
foreach $filename (@ARGV) {
|
||||||
|
print STDERR "processing $filename\n";
|
||||||
|
open INFILE, "$filename" or die "cannot open infile $filename\n";
|
||||||
|
$intext = "";
|
||||||
|
while(<INFILE>) {
|
||||||
|
$intext .= $_;
|
||||||
|
}
|
||||||
|
|
||||||
|
close(INFILE);
|
||||||
|
|
||||||
|
next if ($intext =~ m/\Wasm\W/s); #asmがあったら何もしない!
|
||||||
|
{
|
||||||
|
# intext処理部
|
||||||
|
$intext =~ s/extern\s+\"C\"[^{]*\{/extern \"C\";/s; # extern "C" {のカッコが邪魔
|
||||||
|
$intext =~ s/\#ifdef\s+__cplusplus\s+\}/\#ifdef __cplusplus\n\/* \} *\//s;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
# open2がおかしいのでベタに書くことにする
|
||||||
|
open OUTFILE, ">indent.tmp" or die "cannot open outfile indent.tmp\n";
|
||||||
|
print OUTFILE $intext;
|
||||||
|
close(OUTFILE);
|
||||||
|
}
|
||||||
|
|
||||||
|
$tpdefs = "\
|
||||||
|
-T BOOL -T f64 -T u64 -T s64 -T f32 -T u32 -T s32 -T u16 -T s16 -T u8 -T s8 \
|
||||||
|
-T VecFx16 -T VecFx32 -T OS_Thread -T OS_Mutex -T OS_MessageQueue -T OS_Context \
|
||||||
|
-T MtxFx44 -T MtxFx43 -T MtxFx33 -T MtxFx22 -T LockWord -T LockByte -T G3XMiscStatus \
|
||||||
|
-T G3DLInfo -T G3BoxTestParam -T G2OamAttr -T G2OamAffine -T fxdiv_ -T fx64Tmp_ \
|
||||||
|
-T G2ENUM_OAM_SHAPE";
|
||||||
|
|
||||||
|
system "indent -bap -bbo -bli0 -bls -c60 -cd60 -cli0 -cp8 -nbfda -i4 -l120 -lc120 -lps -nbc -ncs -npsl -nsob -nut -npcs -nprs -saf -sai -saw -ss $tdefs indent.tmp";
|
||||||
|
|
||||||
|
open INFILE2, "indent.tmp" or die "cannot open infile indent.tmp\n";
|
||||||
|
|
||||||
|
$outtext = "";
|
||||||
|
while(<INFILE2>) {
|
||||||
|
$outtext .= $_;
|
||||||
|
}
|
||||||
|
|
||||||
|
unlink("indent.tmp");
|
||||||
|
unlink("indent.tmp~");
|
||||||
|
|
||||||
|
close(INFILE2);
|
||||||
|
|
||||||
|
{
|
||||||
|
# outtext処理部
|
||||||
|
$outtext =~ s/extern\s+\"C\";/extern \"C\" \{/s; # extern "C" {のカッコをつける
|
||||||
|
$outtext =~ s/\#ifdef\s+__cplusplus\s+\/\* \} \*\//\#ifdef __cplusplus\n\}/s;
|
||||||
|
}
|
||||||
|
|
||||||
|
open OUTFILE2, ">$filename" or die "cannot open outfile $filename\n";
|
||||||
|
print OUTFILE2 $outtext;
|
||||||
|
close(OUTFILE2);
|
||||||
|
}
|
||||||
15
trunk/build/buildtools/template/Copyright.Header
Normal file
15
trunk/build/buildtools/template/Copyright.Header
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: NitroSDK - OS -
|
||||||
|
File: XXXXXXXX.c
|
||||||
|
|
||||||
|
Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
|
||||||
|
These coded instructions, statements, and computer programs contain
|
||||||
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
|
$Log: $
|
||||||
|
$NoKeywords: $
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
12
trunk/build/buildtools/template/Function.Header
Normal file
12
trunk/build/buildtools/template/Function.Header
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: OSExceptionInit
|
||||||
|
|
||||||
|
Description: Performs exception initialization.
|
||||||
|
- installs the first level exception handlers
|
||||||
|
- set up exception table and common exception handler
|
||||||
|
|
||||||
|
Arguments: installDBIntegrator if TRUE, copy OSDBIntegrator into
|
||||||
|
low memory.
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
40
trunk/build/buildtools/template/Makefile.BuildSrc
Normal file
40
trunk/build/buildtools/template/Makefile.BuildSrc
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: NitroSDK - -
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS =
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SRCS = main.c
|
||||||
|
TARGET_BIN = main.srl
|
||||||
|
|
||||||
|
#SRCDIR = # using default
|
||||||
|
#LCFILE = # using default
|
||||||
|
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
do-build: $(TARGETS)
|
||||||
|
|
||||||
|
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
44
trunk/build/buildtools/template/Makefile.BuildSrc.ARM7
Normal file
44
trunk/build/buildtools/template/Makefile.BuildSrc.ARM7
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: NitroSDK - -
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS =
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Codegen for sub processer
|
||||||
|
CODEGEN_PROC = ARM9
|
||||||
|
|
||||||
|
|
||||||
|
SRCS = main.c
|
||||||
|
TARGET_BIN = main.srl
|
||||||
|
|
||||||
|
|
||||||
|
#SRCDIR =
|
||||||
|
#LCFILE =
|
||||||
|
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
do-build: $(TARGETS)
|
||||||
|
|
||||||
|
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
31
trunk/build/buildtools/template/Makefile.BuildSubdir
Normal file
31
trunk/build/buildtools/template/Makefile.BuildSubdir
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: NitroSDK - -
|
||||||
|
# File: Makefile
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded instructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SUBDIRS =
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include $(CTRSDK_ROOT)/build/buildtools/modulerules
|
||||||
|
|
||||||
|
|
||||||
|
#===== End of Makefile =====
|
||||||
3
trunk/build/buildtools/verinfo.cw.cc
Normal file
3
trunk/build/buildtools/verinfo.cw.cc
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
SDK_CW_BUILD_VERSION_CC=3.0
|
||||||
|
SDK_CW_BUILD_NUMBER_CC=137
|
||||||
|
SDK_CW_BUILD_NUMBER2_CC=13700
|
||||||
3
trunk/build/buildtools/verinfo.cw.ld
Normal file
3
trunk/build/buildtools/verinfo.cw.ld
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
SDK_CW_BUILD_VERSION_LD=2.0
|
||||||
|
SDK_CW_BUILD_NUMBER_LD=87
|
||||||
|
SDK_CW_BUILD_NUMBER2_LD=8700
|
||||||
20
trunk/build/buildtools/versiondefs
Normal file
20
trunk/build/buildtools/versiondefs
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: CtrSDK - versiondefs
|
||||||
|
# File: versiondefs
|
||||||
|
#
|
||||||
|
# Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
#
|
||||||
|
# These coded insructions, statements, and computer programs contain
|
||||||
|
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
# Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
# not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
# in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
-include $(NITROSDK_ROOT)/include/nitro/version.h
|
||||||
|
|
||||||
|
#===== End of versiondefs =====
|
||||||
17
trunk/setup
Normal file
17
trunk/setup
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
# This script is not for execute directly.
|
||||||
|
# Please use 'source ./setup'.
|
||||||
|
#----------------------------------------------------------------
|
||||||
|
|
||||||
|
export CTRFIRM_ROOT=`cygpath -m $PWD`
|
||||||
|
export CTRBROM_ROOT=$CTRFIRM_ROOT/bootrom
|
||||||
|
export CTRSDK_ROOT=$CTRFIRM_ROOT
|
||||||
|
export CYGPATH_NOCMD='TRUE'
|
||||||
|
|
||||||
|
echo "Set CTRFIRM_ROOT: $CTRFIRM_ROOT"
|
||||||
|
echo "Set CTRBROM_ROOT: $CTRBROM_ROOT"
|
||||||
|
echo "Set CTRSDK_ROOT: $CTRSDK_ROOT"
|
||||||
|
echo "Set CYGPATH_NOCMD: $CYGPATH_NOCMD"
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user