[FW]TCL WWW Info

博客提供了一组WWW上的TCL/Tk参考资料索引,从TCL常见问题解答中可访问的资料开始,并不断添加新参考。还提及若需本地副本,整个树结构及创建脚本存档于指定位置。此外列出了TCL、Tk等相关手册页。

[From:http://www.cs.ut.ee/facilities/docs/tcl/Tcl.html]

TCL WWW Info

These pages are an index to a set of TCL/Tk references on the WWW. I've started off with pointers to the ones I could access from the TCL FAQ and added references as I came across them.

If you want local copies of any of these pages for your own use, the entire tree plus the scripts I use to create them is archived on harbor.ecn.purdue.edu:pub/tcl/docs :
tclhtml.README
tclhtml.tar.gz.

If you find any additional WWW references please take a moment to tell me about it.
I'll take e-mail ( hops@sco.com ) or a very loud yell.


Local TCL FAQ

These pages are a mirror of the html TCL FAQ at http//www.cis.ohio-state.edu/hypertext/faq/usenet/tcl-faq
The local mirror is updated shortly after the one at ohio state.
The last update was 14 July 1994 (MJH).

Manual Pages

References

Net and Web Stuff

User Applications

    TkWWW - Web Browser (Home Page)
  • ical - Tk based calendar program
  • TkMail - Tk based mail user Agent

Misc

ftp sites

Neat stuff

    Tcl/TK Resources (By Wade Holst),
    - VGood presentation of Harbor Archive and other Tcl resources
    • Register your Code and design ideas ( to avoid duplication by others )
    • View Lists of TK/Tcl documents by various Criteria,
    • General Information
    • General Documents

Tcl Services

Useful Names and Addresses

This section is experimental. I've probably missed names that should be here and if so I would appreciate being told about it.


Hops (hops@sco.com)

D:\OpenOCD-20250710-0.12.0\bin\openocd.exe -s D:\OpenOCD-20250710-0.12.0\share\openocd\scripts -f C:\STM32\1-3\config\pwlink.cfg -c "tcl_port disabled" -c "gdb_port disabled" -c "tcl_port disabled" -c "program \"C:/STM32/1-3/cmake-build-debug/1-3.elf\"" -c reset -c shutdown Open On-Chip Debugger 0.12.0 (2025-07-10) [https://github.com/sysprogs/openocd] Licensed under GNU GPL v2 libusb1 d52e355daa09f17ce64819122cb067b8a2ee0d4b For bug reports, read http://openocd.org/doc/doxygen/bugs.html adapter speed: 100 kHz DEPRECATED! use 'tcl port' not 'tcl_port' DEPRECATED! use 'gdb port', not 'gdb_port' DEPRECATED! use 'tcl port' not 'tcl_port' Info : Using CMSIS-DAPv2 interface with VID:PID=0x0d28:0x0204, serial=702FEE19CE 84EFF83A5DEFC01E649139 Info : CMSIS-DAP: SWD supported Info : CMSIS-DAP: Atomic commands supported Info : CMSIS-DAP: Test domain timer supported Info : CMSIS-DAP: FW Version = 2.1.0 Info : CMSIS-DAP: Interface Initialised (SWD) Info : SWCLK/TCK = 0 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 Info : CMSIS-DAP: Interface ready Info : clock speed 100 kHz Info : SWD DPIDR 0x1ba01477 Info : [stm32f1x.cpu] Cortex-M3 r1p1 processor detected Info : [stm32f1x.cpu] target has 6 breakpoints, 4 watchpoints Info : [stm32f1x.cpu] Examination succeed Info : [stm32f1x.cpu] gdb port disabled [stm32f1x.cpu] halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x1ffff020 msp: 0x200001fc ** Programming Started ** Info : device id = 0x20036410 Info : ignoring flash probed value, using configured bank size Info : flash size = 128 KiB Warn : Adding extra erase range, 0x080014f0 .. 0x080017ff ** Programming Finished ** shutdown command invoked
10-20
#------------------------------------------------------------------------------- # GigE Vision Reference Design Firmware #------------------------------------------------------------------------------- # Software environment : Xilinx Vitis 2022.2 # Hardware platform : MVDK + Enclustra Mercury ZX5 # Target SoC : XC7Z015 # Embedded CPU : ARM Cortex-A9 #------------------------------------------------------------------------------- # Complementary Makefile to perform tasks not covered by the Xilinx Vitis GUI. # # Particular targets... # scripts : update auxiliary TCL scripts # lib : build the GigE static library # eeprom : generate EEPROM binary image # Top-level targets... # all : build everything # s2i : prepare scripts and library for customer # # The scripts, lib, boot, and s2i targets are nonfunctional for end customers # due to missing source code of the scripts, library, and bootloader. Customer # gets prebuilt object files in the ./lib directory and up to date scripts # in the ./etc directory instead. #------------------------------------------------------------------------------- # 0.1 | 2014-07-16 | JP | Initial release # 0.2 | 2014-08-01 | JP | Fixed incompatibility with Vivado 2014.2 under # | | | Windows operating systems # 0.3 | 2014-10-07 | MAS | Cleanup for Zynq design flow (no bootloader, # | | | bitstream/application.bin file creation) # 0.4 | 2016-12-02 | JP | Upgraded to Vivado/SDK 2016.2 # 0.5 | 2019-03-20 | JP | Updated to current tools # 0.6 | 2021-11-30 | SS | Update to Vivado 2020.2/Vitis # 0.7 | 2025-02-11 | NF | Update to Vivado 2022.2/Vitis #------------------------------------------------------------------------------- #---- Project specific settings ------------------------------------------------ # Vitis workspace projects VITIS_PRJ_APP = xgvrd VITIS_CFG_APP = Release VITIS_EXPORT = xgvrd_platform/export/xgvrd_platform VITIS_EXPORT_SW = $(VITIS_EXPORT)/sw/xgvrd_platform VITIS_EXPORT_HW = $(VITIS_EXPORT)/hw # EEPROM image generator options EE_OPTIONS = -m 3C:39:E7:71:02:86 -c 6 -i 169.254.100.100 -n 255.255.0.0 -g 169.254.100.1 -p 3956 -e 999999 -a FEC00000 # Configuration flash memory map OFFSET_BIT = 0x00400000 OFFSET_APP = 0x00800000 OFFSET_XML = 0x00C00000 # Serial communication device SERIAL = /dev/ttyUSB0 #---- Project files and directories -------------------------------------------- # Base names of the input/output files LIB_NAME = gige APP_NAME = application EE_NAME = eeprom XML_NAME = xgvrd-tpg HW_NAME = xgvrd BIF_NAME = bootimage # Project directories HW_PATH = $(wildcard ../*.runs/impl_1) FW_PATH = . OUT_PATH = $(FW_PATH)/bin LIB_PATH = $(FW_PATH)/lib ETC_PATH = $(FW_PATH)/etc # Full input/output file names LIB_FILE = $(LIB_PATH)/lib$(LIB_NAME).a APP_BIN_FILE = $(OUT_PATH)/$(APP_NAME).bin EE_BIN_FILE = $(OUT_PATH)/$(EE_NAME).bin EE_C_FILE = $(FW_PATH)/$(VITIS_PRJ_APP)/src/$(EE_NAME).c XML_FILE = $(ETC_PATH)/$(XML_NAME).xml HW_BIT = $(HW_PATH)/$(HW_NAME).bit BIN_FILE = $(OUT_PATH)/$(BIF_NAME).bin BOOTIMAGE = $(ETC_PATH)/$(BIF_NAME).bif # Vitis workspace paths and files BSP_PATH = $(FW_PATH)/$(VITIS_EXPORT_SW)/domain_0 APP_PATH = $(FW_PATH)/$(VITIS_PRJ_APP) APP_OUT = $(APP_PATH)/$(VITIS_CFG_APP) APP_FILE = $(APP_OUT)/$(VITIS_PRJ_APP).elf APP_SRC := $(wildcard $(APP_PATH)/src/*.c) APP_HDR := $(wildcard $(APP_PATH)/src/*.h) FSBL_FILE = $(FW_PATH)/$(VITIS_EXPORT_SW)/boot/fsbl.elf XSA_FILE = $(FW_PATH)/$(VITIS_EXPORT_HW)/$(HW_NAME).xsa #---- Private GigE files and directories --------------------------------------- FW_PREFIX = ./fw # TCL scripts SCRIPTS_PATH = $(FW_PREFIX)/scripts/tcl # GigE library source files LIB_SRC := $(wildcard $(FW_PREFIX)/libgige/src/*.c) LIB_HDR := $(wildcard $(FW_PREFIX)/libgige/src/*.h) LIB_OBJ := $(addsuffix .o,$(basename $(notdir $(wildcard $(FW_PREFIX)/libgige/src/*.c)))) LIB_PUB := $(FW_PREFIX)/libgige/src/gige.h #---- Toolchain setup ---------------------------------------------------------- # CPU tools AR = arm-none-eabi-ar CC = arm-none-eabi-gcc SIZE = arm-none-eabi-size OC = arm-none-eabi-objcopy # Compiler options CC_OPT_LIB = -O2 CC_FLAGS = -Wall -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -nostartfiles CC_INCLUDES = -I$(BSP_PATH)/bspinclude/include # Linker options LNK_LIBPATH = -L$(BSP_PATH)/bsplib/lib -L$(LIB_PATH) LNK_FLAGS = -l$(LIB_NAME) # Object copy options OC_FLAGS = -v -I elf32-littlearm -O binary OC_REMOVE = -R .vectors.reset -R .vectors.sw_exception -R .vectors.interrupt -R .vectors.hw_exception # Correct command line tools for GNUWin environment XILINX_VITIS_DIR := $(subst \,/,$(XILINX_VITIS)) ifneq (,$(wildcard $(XILINX_VITIS_DIR)/gnuwin/.)) MKDIR := $(XILINX_VITIS_DIR)/gnuwin/bin/mkdir ECHO := $(XILINX_VITIS_DIR)/gnuwin/bin/echo RM := $(XILINX_VITIS_DIR)/gnuwin/bin/rm DATE := $(shell $(XILINX_VITIS_DIR)/gnuwin/bin/date +%Y%m%d) else MKDIR := mkdir ECHO := echo RM := rm DATE := $(shell date +%Y%m%d) endif # Correct NULL file ifeq ($(SHELL),$(filter $(SHELL),sh.exe command.com)) NULL := nul else NULL := /dev/null endif # Tcl interpreter and scripts TCLSH := $(shell which tclsh 2>$(NULL)) XTCLSH := $(shell which xtclsh 2>$(NULL)) VIVADO := $(shell which vivado 2>$(NULL)) ifdef TCLSH TCL := tclsh TCLARGS := else ifdef XTCLSH TCL := xtclsh TCLARGS := else ifdef VIVADO TCL := vivado -mode batch -nojournal -nolog -notrace -source TCLARGS := -tclargs else TCL := TCLARGS := endif endif endif CKSUM = cksum.tcl EEPROM = eeprom.tcl BITBIN = bit2bin.tcl #---- Compilation targets ------------------------------------------------------ # Aliases all: scripts lib eeprom bin s2i: scripts lib scripts: $(ETC_PATH)/$(CKSUM) $(ETC_PATH)/$(EEPROM) $(ETC_PATH)/$(BITBIN) lib: $(LIB_FILE) # delete "$(EE_C_FILE)" if EEPROM emulation is not needed #eeprom: $(EE_BIN_FILE) $(EE_C_FILE) eeprom: $(EE_BIN_FILE) app: $(APP_FILE) bin: $(BIN_FILE) # Update TCL scripts $(ETC_PATH)/$(CKSUM): $(wildcard $(SCRIPTS_PATH)/$(CKSUM)) ifeq ($(wildcard $(SCRIPTS_PATH)/$(CKSUM)),) @$(ECHO) @$(ECHO) The TCL script is not available! @$(ECHO) Please use the $(ETC_PATH)/$(CKSUM) script delivered by S2I! @$(ECHO) else @cp -fv $(SCRIPTS_PATH)/$(CKSUM) $(ETC_PATH)/$(CKSUM) endif $(ETC_PATH)/$(EEPROM): $(wildcard $(SCRIPTS_PATH)/$(EEPROM)) ifeq ($(wildcard $(SCRIPTS_PATH)/$(EEPROM)),) @$(ECHO) @$(ECHO) The TCL script is not available! @$(ECHO) Please use the $(ETC_PATH)/$(EEPROM) script delivered by S2I! @$(ECHO) else @cp -fv $(SCRIPTS_PATH)/$(EEPROM) $(ETC_PATH)/$(EEPROM) endif $(ETC_PATH)/$(BITBIN): $(wildcard $(SCRIPTS_PATH)/$(BITBIN)) ifeq ($(wildcard $(SCRIPTS_PATH)/$(BITBIN)),) @$(ECHO) @$(ECHO) The TCL script is not available! @$(ECHO) Please use the $(ETC_PATH)/$(BITBIN) script delivered by S2I! @$(ECHO) else @cp -fv $(SCRIPTS_PATH)/$(BITBIN) $(ETC_PATH)/$(BITBIN) endif # Actual targets $(LIB_FILE): $(LIB_SRC) $(LIB_HDR) ifeq ($(LIB_SRC),) @$(ECHO) @$(ECHO) Building the GigE library is not available to end customers! @$(ECHO) Please use the prebuilt $(LIB_FILE) delivered by S2I! @$(ECHO) else @$(MKDIR) -p $(LIB_PATH) @$(RM) -f $(LIB_OBJ) $(CC) $(CC_OPT_LIB) $(CC_FLAGS) $(CC_INCLUDES) -c $(LIB_SRC) $(AR) rcs $(LIB_FILE) $(LIB_OBJ) @$(RM) -f $(LIB_OBJ) @$(ECHO) $(SIZE) -t $(LIB_FILE) @$(ECHO) @cp $(LIB_PUB) $(FW_PATH)/$(VITIS_PRJ_APP)/src/ endif $(EE_BIN_FILE): $(XML_FILE) $(ETC_PATH)/$(CKSUM) $(ETC_PATH)/$(EEPROM) ifndef TCL $(error Tcl interpreter not found) endif @$(TCL) $(ETC_PATH)/$(EEPROM) $(TCLARGS) $(EE_OPTIONS) -x $(XML_FILE) -o $(EE_BIN_FILE) @$(TCL) $(ETC_PATH)/$(CKSUM) $(TCLARGS) -x $(EE_BIN_FILE) $(EE_C_FILE): $(XML_FILE) $(ETC_PATH)/$(EEPROM) ifndef TCL $(error Tcl interpreter not found) endif @$(TCL) $(ETC_PATH)/$(EEPROM) $(TCLARGS) $(EE_OPTIONS) -t -x $(XML_FILE) -o $(EE_C_FILE) $(APP_FILE): $(LIB_FILE) $(APP_SRC) $(APP_HDR) make -C $(APP_OUT) all $(APP_BIN_FILE): $(APP_FILE) $(ETC_PATH)/$(CKSUM) @$(OC) $(OC_FLAGS) $(OC_REMOVE) $(APP_FILE) $(APP_BIN_FILE) @chmod -x $(APP_BIN_FILE) ifdef TCL @$(TCL) $(ETC_PATH)/$(CKSUM) $(TCLARGS) -x $(APP_BIN_FILE) endif $(BIN_FILE): $(HW_BIT) $(APP_FILE) $(FSBL_FILE) $(XML_FILE) @$(ECHO) "//arch = zynq; split = false; format = BIN" > $(BOOTIMAGE) @$(ECHO) "the_ROM_image:" >> $(BOOTIMAGE) @$(ECHO) "{" >> $(BOOTIMAGE) @$(ECHO) " [bootloader]$(FSBL_FILE)" >> $(BOOTIMAGE) @$(ECHO) " [offset = $(OFFSET_BIT)]$(HW_BIT)" >> $(BOOTIMAGE) @$(ECHO) " [offset = $(OFFSET_APP)]$(APP_FILE)" >> $(BOOTIMAGE) @$(ECHO) " [offset = $(OFFSET_XML)]$(XML_FILE)" >> $(BOOTIMAGE) @$(ECHO) "}" >> $(BOOTIMAGE) bootgen -image $(BOOTIMAGE) -arch zynq -o $(BIN_FILE) -w on # @$(RM) -f $(BOOT_NAME).bif #---- Device programming targets ----------------------------------------------- prog: $(HW_BIT) @$(ECHO) "connect" > xsdb_prog.tcl @$(ECHO) "targets 2" >> xsdb_prog.tcl @$(ECHO) "rst" >> xsdb_prog.tcl @$(ECHO) "fpga $(HW_BIT)" >> xsdb_prog.tcl @$(ECHO) "exit" >> xsdb_prog.tcl xsdb xsdb_prog.tcl # @$(RM) -f xsdb_prog.tcl # @$(RM) -f ps7_init.* ps7_init_gpl.* run: $(APP_FILE) @$(ECHO) "connect" > xsdb_run.tcl @$(ECHO) "targets 2" >> xsdb_run.tcl # @$(ECHO) "loadhw $(HW_NAME).xsa" >> xsdb_run.tcl @$(ECHO) "source xgvrd_platform/hw/ps7_init.tcl" >> xsdb_run.tcl @$(ECHO) "ps7_init" >> xsdb_run.tcl @$(ECHO) "ps7_post_config" >> xsdb_run.tcl @$(ECHO) "dow $(APP_FILE)" >> xsdb_run.tcl @$(ECHO) "con" >> xsdb_run.tcl @$(ECHO) "exit" >> xsdb_run.tcl xsdb xsdb_run.tcl # @$(RM) -f xsdb_run.tcl # @$(RM) -f ps7_init.* ps7_init_gpl.* prog_flash: $(BIN_FILE) $(FSBL_FILE) program_flash -f $(BIN_FILE) -offset 0 -flash_type qspi_single -verify -fsbl $(FSBL_FILE) #---- Cleanup ------------------------------------------------------------------ clean: ifneq ($(LIB_SRC),) @$(RM) -fv $(LIB_FILE) endif @$(RM) -fv $(APP_BIN_FILE) @$(RM) -fv $(EE_BIN_FILE) @$(RM) -fv $(BIN_FILE) ifneq ($(wildcard $(SCRIPTS_PATH)/$(CKSUM)),) @$(RM) -fv $(ETC_PATH)/$(CKSUM) endif ifneq ($(wildcard $(SCRIPTS_PATH)/$(EEPROM)),) @$(RM) -fv $(ETC_PATH)/$(EEPROM) endif ifneq ($(wildcard $(SCRIPTS_PATH)/$(BITBIN)),) @$(RM) -fv $(ETC_PATH)/$(BITBIN) endif 以上是makefile内容,请说明在makefile中如何修改?
10-30
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值