⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hal.cdl

📁 eCos操作系统源码
💻 CDL
📖 第 1 页 / 共 2 页
字号:
                                && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN }                description   "                    This option is a configuration hint - it is enabled                    when the HAL initialization code will make use                    of the console channel configuration option."            }                            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {                display       "Initialize whole of virtual vector table"                default_value { CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR }                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA                requires CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS                description   "                    This option will cause the whole of the virtual                    vector table to be initialized with dummy values on                    startup. When this option is enabled, all the                    options below must also be enabled - or the                    table would be empty when the application                    launches.                    On targets where older ROM monitors without                    virtual vector support may still be in use, it is                    necessary for RAM applictions to initialize the                    table (since all HAL diagnostics and debug IO                    happens via the table)."            }            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {                display       "Claim virtual vector table entries by default"		active_if     !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE                default_value 1                description "                    By default most virtual vectors will be claimed by                    RAM startup configurations, meaning that the RAM                    application will provide the services. The                    exception is COMMS support (HAL                    diagnostics/debugging IO) which is left in the                    control of the ROM monitor.                    The reasoning behind this is to get as much of the                    code exercised during regular development so it                    is known to be working the few times a new ROM                    monitor or a ROM production configuration is used                    - COMMS are excluded only by necessity in order to                    avoid breaking an existing debugger connections                    (there may be ways around this).                    For production RAM configurations this option can                    be switched off, causing the appliction to rely on                    the ROM monitor for these services, thus                    saving some space.                    Individual vectors may also be left unclaimed,                    controlled by the below options (meaning that the                    associated service provided by the ROM monitor                    will be used)."            }            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {                display       "Claim reset virtual vectors"                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }                description   "                    This option will cause the reset and kill_by_reset                    virtual vectors to be claimed."            }            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {                display       "Claim version virtual vectors"                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE }                description   "                    This option will cause the version                    virtual vectors to be claimed."            }            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {                display       "Claim delay_us virtual vector"                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }                description   "                    This option will cause the delay_us                    virtual vector to be claimed."            }            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {                display       "Claim cache virtual vectors"                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }                description   "                    This option will cause the cache virtual vectors                    to be claimed."            }            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {                display       "Claim data virtual vectors"                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \                                || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }                description   "                    This option will cause the data virtual vectors                    to be claimed. At present there is only one, used                    by the RedBoot ethernet driver to share diag output."            }            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {                display       "Claim comms virtual vectors"                default_value { CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE \                                || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS }                description   "                    This option will cause the communication tables                    that are part of the virtual vectors mechanism to                    be claimed. Note that doing this may cause an                    existing ROM monitor communication connection to                    be closed. For this reason, the option is disabled                    per default for normal application                    configurations."            }            cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {                display       "Do diagnostic IO via virtual vector table"                calculated    1                description   "                    All HAL IO happens via the virtual vector table / comm                    tables when those tables are supported by the HAL.                    If so desired, the low-level IO functions can                    still be provided by the RAM application by                    enabling the CLAIM_COMMS option."            }        }        cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {            display "Build common GDB stub ROM image"            default_value 0            parent  CYGBLD_GLOBAL_OPTIONS            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS            no_define            description "                Unless a target board has specific requirements to the                stub implementation, it can use a simple common stub.                This option, which gets enabled by platform HALs as                appropriate, controls the building of the common stub."                                     make -priority 315 {                <PREFIX>/bin/gdb_module.img : <PACKAGE>/src/stubrom/stubrom.c <PREFIX>/lib/extras.o <PREFIX>/lib/libtarget.a <PREFIX>/lib/target.ld <PREFIX>/lib/vectors.o                @sh -c "mkdir -p src/stubrom $(dir $@)"                $(CC) -c $(INCLUDE_PATH) -Wp,-MD,deps.tmp -I$(dir $<) $(CFLAGS) -o src/stubrom/gdb_module.o $<                @echo $@ ": \\" > $(notdir $@).deps                @echo $(wildcard $(PREFIX)/lib/*) " \\" >> $(notdir $@).deps                @tail -n +2 deps.tmp >> $(notdir $@).deps                @echo >> $(notdir $@).deps                @rm deps.tmp                $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ src/stubrom/gdb_module.o            }        }    }    # Does platform need special I/O initializations?    cdl_interface     CYGINT_HAL_PLF_IF_INIT {        display       "Platform defined I/O channels."        description   "          Platforms which provide additional I/O channels can implement          this interface, indicating that the function plf_if_init()          needs to be called."    }    # Does platform provide IDE I/O macros?    cdl_interface     CYGINT_HAL_PLF_IF_IDE {        display       "Platform IDE I/O support."        description   "          Platforms which provide IDE controllers can implement          this interface, indicating that IDE I/O macros are          available."    }    cdl_option CYGPKG_HAL_GDB_FILEIO {        display       "File I/O operations via GDB"        default_value 0        active_if     CYGSEM_REDBOOT_BSP_SYSCALLS        requires      CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS        compile       gdb-fileio.c        description   "This option enables support for various file I/O                       operations using the GDB remote protocol to communicate                       with GDB. The operations are then performed on the                       debugging host by proxy. These operations are only                       currently available by using a system call interface                       to RedBoot. This may change in the future."    }    define_proc {        puts $::cdl_header "/***** proc output start *****/"        puts $::cdl_header "#include <pkgconf/system.h>"        puts $::cdl_header "#include CYGBLD_HAL_TARGET_H"        puts $::cdl_header "#ifdef   CYGBLD_HAL_VARIANT_H"        puts $::cdl_header "#include CYGBLD_HAL_VARIANT_H"        puts $::cdl_header "#endif"        puts $::cdl_header "#include CYGBLD_HAL_PLATFORM_H"        puts $::cdl_header "/****** proc output end ******/"    }    cdl_option     CYGPKG_HAL_BUILD_COMPILER_TESTS {        display       "Build Compiler sanity checking tests"        description   "            Enabling this option causes compiler tests to be built."    }    cdl_component CYGPKG_HAL_TESTS {        display "Common HAL tests"        flavor  data        no_define        calculated {  "tests/context tests/basic"                      . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")                      . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")                      . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") }        description   "            This option specifies the set of tests for the common HAL."        cdl_interface CYGINT_HAL_TESTS_NO_CACHES {            display       "Interface for cache presence"            flavor        booldata            description   "                Some architectures and/or platforms do not have caches. By                implementing this interface, these can disable the various                cache-related tests."        }                    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -