📄 hal_i386_pc.cdl
字号:
# ====================================================================## hal_i386_pc.cdl## PC/i386 target HAL package configuration data## ====================================================================#####ECOSGPLCOPYRIGHTBEGIN###### -------------------------------------------## This file is part of eCos, the Embedded Configurable Operating System.## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.#### eCos is free software; you can redistribute it and/or modify it under## the terms of the GNU General Public License as published by the Free## Software Foundation; either version 2 or (at your option) any later version.#### eCos is distributed in the hope that it will be useful, but WITHOUT ANY## WARRANTY; without even the implied warranty of MERCHANTABILITY or## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License## for more details.#### You should have received a copy of the GNU General Public License along## with eCos; if not, write to the Free Software Foundation, Inc.,## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.#### As a special exception, if other files instantiate templates or use macros## or inline functions from this file, or you compile this file and link it## with other works to produce a work based on this file, this file does not## by itself cause the resulting work to be covered by the GNU General Public## License. However the source code for this file must still be made available## in accordance with section (3) of the GNU General Public License.#### This exception does not invalidate any other reasons why a work based on## this file might be covered by the GNU General Public License.#### Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.## at http://sources.redhat.com/ecos/ecos-license/## -------------------------------------------#####ECOSGPLCOPYRIGHTEND##### ====================================================================######DESCRIPTIONBEGIN###### Author(s): jskov# Original data: jskov# Contributors:# Date: 1999-11-01######DESCRIPTIONEND###### ====================================================================cdl_package CYGPKG_HAL_I386_PC { display "i386 PC Target" parent CYGPKG_HAL_I386 define_header hal_i386_pc.h include_dir cyg/hal description " The i386 PC Target HAL package provides the support needed to run eCos binaries on an i386 PC." compile hal_diag.c plf_misc.c plf_stub.c implements CYGINT_HAL_DEBUG_GDB_STUBS implements CYGINT_HAL_DEBUG_GDB_STUBS_BREAK implements CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT implements CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_GUARANTEED define_proc { puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H <pkgconf/hal_i386.h>" puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_i386_pc.h>" puts $::cdl_header "" puts $::cdl_header "#define HAL_PLATFORM_CPU \"I386\"" puts $::cdl_header "#define HAL_PLATFORM_BOARD \"PC\"" puts $::cdl_header "#define HAL_PLATFORM_EXTRA \"\"" puts $::cdl_header "#include <pkgconf/hal_i386_pcmb.h>" puts $::cdl_header "" } cdl_component CYG_HAL_STARTUP { display "Startup type" flavor data legal_values {"RAM" "FLOPPY" "ROM" "GRUB"} default_value {"RAM"} no_define define -file system.h CYG_HAL_STARTUP description " It is possible to configure eCos for the PC target to build for: RAM startup (generally when being run under an existing Monitor program like RedBoot); FLOPPY startup (for writing to a floppy disk, which can then be used for booting on PCs with a standard BIOS), GRUB startup (for being booted by the GRUB bootloader) ROM startup (for writing straight to a boot ROM/Flash). ROM startup is experimental at this time." } cdl_option CYGDBG_HAL_DEBUG_GDB_INITIAL_BREAK { display "Enable initial breakpoint" parent CYGPKG_HAL_DEBUG active_if CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS default_value { !CYGPKG_REDBOOT } description " This option causes an application that has GDB stubs built in to take a breakpoint immediately before calling cyg_start(). This gives the developer a chance to set any breakpoints or inspect the system state before it proceeds." } cdl_option CYGBLD_BUILD_I386_ROMBOOT { display "Build ROM bootstrap code" calculated { CYG_HAL_STARTUP == "ROM" } make { <PREFIX>/lib/romboot.ld: <PACKAGE>/src/romboot.ld cp $< $@ } make { <PREFIX>/bin/romboot.elf : <PACKAGE>/src/romboot.S @sh -c "mkdir -p $(dir $@)" $(CC) -Wp,-MD,romboot.tmp $(INCLUDE_PATH) -nostdlib -Wl,-static -T$(PREFIX)/lib/romboot.ld -o $@ $< @echo $@ ": \\" > $(notdir $@).deps @tail -n +2 romboot.tmp >> $(notdir $@).deps @echo >> $(notdir $@).deps @rm romboot.tmp } } cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD { display "Diagnostic serial port baud rate" flavor data legal_values 9600 19200 38400 57600 115200 default_value 38400 description " This option selects the baud rate used for the diagnostic port. Note: this should match the value chosen for the GDB port if the diagnostic and GDB port are the same." } cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD { display "GDB serial port baud rate" flavor data legal_values 9600 19200 38400 57600 115200 default_value 38400 description " This option controls the baud rate used for the GDB connection." } cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { display "Number of communication channels on the board" flavor data legal_values 1 to 3 default_value { CYGSEM_HAL_I386_PC_DIAG_SCREEN ? 3 : 2 } description " This define the number of serial ports that will be used by the HAL. Ports 0 and 1 equate to COM1 and COM2 and port 2 is the PC screen and keyboard." } cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL { display "Debug serial port" flavor data legal_values 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 default_value 0 description " On PCs with two serial ports, this option chooses which port will be used to connect to a host running GDB." } cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT { display "Default console channel." flavor data legal_values 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 default_value 0 } cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL { display "Diagnostic serial port" flavor data legal_values 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 default_value CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT description " On PCs with two serial ports, this option chooses which port will be used for diagnostic output. Selecting port 2 will cause the PC screen to be used." } cdl_option CYGSEM_HAL_I386_PC_DIAG_SCREEN { display "Output to PC screen" flavor bool default_value 1 implements CYGINT_HAL_I386_PCMB_SCREEN_SUPPORT description "This option enables use of the PC screen and keyboard as a third virtual serial device." }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -