亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? makefile

?? 一個基于AVR 單片機的操作系統,有組于了解操作系統在單片機上運行的內幕.
??
字號:
# Hey Emacs, this is a -*- makefile -*-
#
# WinAVR Sample makefile written by Eric B. Weddington, J鰎g Wunsch, et al.
# Released to the Public Domain
# Please read the make user manual!
#
# Additional material for this makefile was submitted by:
#  Tim Henigan
#  Peter Fleury
#  Reiner Patommel
#  Sander Pool
#  Frederik Rouleau
#  Markus Pfaff
#
# On command line:
#
# make all = Make software.
#
# make clean = Clean out built project files.
#
# make coff = Convert ELF to AVR COFF (for use with AVR Studio 3.x or VMLAB).
#
# make extcoff = Convert ELF to AVR Extended COFF (for use with AVR Studio
#                4.07 or greater).
#
# make program = Download the hex file to the device, using avrdude.  Please
#                customize the avrdude settings below first!
#
# make filename.s = Just compile filename.c into the assembler code only
#
# To rebuild project do "make clean" then "make all".
#
TRUE	= 1
FALSE	= 0

# MCU name
#MCU      = atmega8
#MCU      = atmega16
MCU      = atmega128
#MCU      = at90s8515

CPUCLK	 = 12000000L
#CPUCLK   = 8000000L	# Default values in case they are not.

TICKRATE = 1000		# defined in the source.

#TARGET = AvrXSimpleSerial
TARGET = AvrXBufferedSerial

# Output format. (can be srec, ihex, binary)
FORMAT = ihex

SRC = SerialExample.c $(TARGET).c

# List Assembler source files here.
# Make them always end in a capital .S.  Files ending in a lowercase .s
# will not be considered source files but generated files (assembler
# output from the compiler), and will be deleted upon "make clean"!
# Even though the DOS/Win* filesystem matches both .s and .S the same,
# it will preserve the spelling of the filenames, and gcc itself does
# care about how the name is spelled on its command-line.

ASRC =

GCCLIB = ../avrx/avrx.a

# Optimization level, can be [0, 1, 2, 3, s].
# 0 = turn off optimization. s = optimize for size.
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
OPT = s

# Debugging format.
# Native formats for AVR-GCC's -g are stabs [default], or dwarf-2.
# AVR (extended) COFF requires stabs, plus an avr-objcopy run.
#DEBUG = stabs
DEBUG = dwarf-2

# List any extra directories to look for include files here.
#     Each directory must be seperated by a space.
EXTRAINCDIRS =


# Compiler flag to set the C Standard level.
# c89   - "ANSI" C
# gnu89 - c89 plus GCC extensions
# c99   - ISO C99 standard (not yet fully implemented)
# gnu99 - c99 plus GCC extensions
CSTANDARD = -std=gnu99

# Place -D or -U options here
CDEFS = -D$(TARGET) -DCPUCLK=$(CPUCLK) -DTICKRATE=$(TICKRATE)

# Place -I options here
CINCS = -I../avrx


# Compiler flags.
#  -g*:          generate debugging information
#  -O*:          optimization level
#  -f...:        tuning, see GCC manual and avr-libc documentation
#  -Wall...:     warning level
#  -Wa,...:      tell GCC to pass this to the assembler.
#    -adhlns...: create assembler listing
CFLAGS = -g$(DEBUG)
CFLAGS += $(CDEFS) $(CINCS)
CFLAGS += -O$(OPT)
#CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
#CFLAGS += -funsigned-bitfields -fpack-struct -fshort-enums -fnew-ra
CFLAGS += -funsigned-bitfields -fpack-struct -fshort-enums
CFLAGS += -Wall -Wstrict-prototypes
CFLAGS += -Wa,-adhlns=$(<:.c=.lst)
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
CFLAGS += $(CSTANDARD)



# Assembler flags.
#  -Wa,...:   tell GCC to pass this to the assembler.
#  -ahlms:    create listing
#  -gstabs:   have the assembler create line number information; note that
#             for use in COFF files, additional information about filenames
#             and function names needs to be present in the assembler source
#             files -- see avr-libc docs [FIXME: not yet described there]
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs



#Additional libraries.

# Minimalistic printf version
PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min

# Floating point printf version (requires MATH_LIB = -lm below)
PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt

PRINTF_LIB =

# Minimalistic scanf version
SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min

# Floating point + %[ scanf version (requires MATH_LIB = -lm below)
SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt

SCANF_LIB =

MATH_LIB = -lm

# External memory options

# 64 KB of external RAM, starting after internal RAM (ATmega128!),
# used for variables (.data/.bss) and heap (malloc()).
#EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff

# 64 KB of external RAM, starting after internal RAM (ATmega128!),
# only used for heap (malloc()).
#EXTMEMOPTS = -Wl,--defsym=__heap_start=0x801100,--defsym=__heap_end=0x80ffff

EXTMEMOPTS =

# Linker flags.
#  -Wl,...:     tell GCC to pass this to linker.
#    -Map:      create map file
#    --cref:    add cross reference to  map file
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
LDFLAGS += $(EXTMEMOPTS)
LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)


# Programming support using avrdude. Settings and variables.

# Programming hardware: alf avr910 avrisp bascom bsd
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ?
# to get a full listing.
#
AVRDUDE_PROGRAMMER = stk500

# com1 = serial port. Use lpt1 to connect to parallel port.
#AVRDUDE_PORT = com4    # programmer connected to serial device
#AVRDUDE_BAUD = 38400
AVRDUDE_PORT = com1    # programmer connected to serial device
AVRDUDE_BAUD = 115200

AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep


# Uncomment the following if you want avrdude's erase cycle counter.
# Note that this counter needs to be initialized first using -Yn,
# see avrdude manual.
#AVRDUDE_ERASE_COUNTER = -y

# Uncomment the following if you do /not/ wish a verification to be
# performed after programming the device.
#AVRDUDE_NO_VERIFY = -V

# Increase verbosity level.  Please use this when submitting bug
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
# to submit bug reports.
#AVRDUDE_VERBOSE = -v -v

AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) -b $(AVRDUDE_BAUD)
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)



# ---------------------------------------------------------------------------

# Define directories, if needed.
DIRAVR = c:/winavr
DIRAVRBIN = $(DIRAVR)/bin
DIRAVRUTILS = $(DIRAVR)/utils/bin
DIRINC = .
DIRLIB = $(DIRAVR)/avr/lib


# Define programs and commands.
SHELL = sh
CC = avr-gcc
OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump
SIZE = avr-size
NM = avr-nm
AVRDUDE = avrdude
REMOVE = rm -f
COPY = cp




# Define Messages
# English
MSG_ERRORS_NONE = Errors: none
MSG_BEGIN = -------- begin --------
MSG_END = --------  end  --------
MSG_SIZE_BEFORE = Size before:
MSG_SIZE_AFTER = Size after:
MSG_COFF = Converting to AVR COFF:
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
MSG_FLASH = Creating load file for Flash:
MSG_EEPROM = Creating load file for EEPROM:
MSG_EXTENDED_LISTING = Creating Extended Listing:
MSG_SYMBOL_TABLE = Creating Symbol Table:
MSG_LINKING = Linking:
MSG_COMPILING = Compiling:
MSG_ASSEMBLING = Assembling:
MSG_CLEANING = Cleaning project:




# Define all object files.
OBJ = $(SRC:.c=.o) $(ASRC:.S=.o)

# Define all listing files.
LST = $(ASRC:.S=.lst) $(SRC:.c=.lst)


# Compiler flags to generate dependency files.
GENDEPFLAGS = -Wp,-M,-MP,-MT,$(*F).o,-MF,.dep/$(@F).d


# Combine all necessary flags and optional flags.
# Add target processor to flags.
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) $(GENDEPFLAGS)
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)


# Default target.
SerialSample:
	make all TARGET=AvrXBufferedSerial
	make all TARGET=AvrXSimpleSerial

#all: begin gccversion sizebefore build sizeafter finished end
all: sizebefore build sizeafter

build: elf hex lss sym
#build: coff hex lss sym

elf: $(TARGET).elf
hex: $(TARGET).hex
eep: $(TARGET).eep
lss: $(TARGET).lss
sym: $(TARGET).sym

# Eye candy.
# AVR Studio 3.x does not check make's exit code but relies on
# the following magic strings to be generated by the compile job.
begin:
	@echo
	@echo $(MSG_BEGIN)

finished:
#	@echo $(MSG_ERRORS_NONE)

end:
	@echo $(MSG_END)
	@echo


# Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).elf
sizebefore:
	@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi

sizeafter:
	@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi



# Display compiler version information.
gccversion :
	@$(CC) --version



# Program the device.
program: $(TARGET).hex $(TARGET).eep
	$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)




# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
COFFCONVERT=$(OBJCOPY) --debugging \
--change-section-address .data-0x800000 \
--change-section-address .bss-0x800000 \
--change-section-address .noinit-0x800000 \
--change-section-address .eeprom-0x810000


coff: $(TARGET).elf
	@echo
	@echo $(MSG_COFF) $(TARGET).cof
	$(COFFCONVERT) -O coff-avr $< $(TARGET).cof


extcoff: $(TARGET).elf
	@echo
	@echo $(MSG_EXTENDED_COFF) $(TARGET).cof
	$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof



# Create final output files (.hex, .eep) from ELF output file.
%.hex: %.elf
	@echo
	@echo $(MSG_FLASH) $@
	$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@

%.eep: %.elf
	@echo
	@echo $(MSG_EEPROM) $@
	-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
	--change-section-lma .eeprom=0 -O $(FORMAT) $< $@

# Create extended listing file from ELF output file.
%.lss: %.elf
	@echo
	@echo $(MSG_EXTENDED_LISTING) $@
	$(OBJDUMP) -h -S $< > $@

# Create a symbol table from ELF output file.
%.sym: %.elf
	@echo
	@echo $(MSG_SYMBOL_TABLE) $@
	$(NM) -n $< > $@



# Link: create ELF output file from object files.
.SECONDARY : $(TARGET).elf
.PRECIOUS : $(OBJ)
%.elf: $(OBJ)
	@echo
	@echo $(MSG_LINKING) $@
	$(CC) $(ALL_CFLAGS) $(OBJ) $(GCCLIB) --output $@ $(LDFLAGS)


# Compile: create object files from C source files.
%.o : %.c
	@echo
	@echo $(MSG_COMPILING) $<
	$(CC) -c $(ALL_CFLAGS) $< -o $@


# Compile: create assembler files from C source files.
%.s : %.c
	$(CC) -S $(ALL_CFLAGS) $< -o $@


# Assemble: create object files from assembler source files.
%.o : %.S
	@echo
	@echo $(MSG_ASSEMBLING) $<
	$(CC) -c $(ALL_ASFLAGS) $< -o $@



# Target: clean project.
clean: begin clean_list finished end

clean_list :
	@echo
	@echo $(MSG_CLEANING)
	$(REMOVE) $(OBJ)
	$(REMOVE) *.o *.hex *.elf *.lss *.lst *.sym *.map *.eep
	$(REMOVE) $(SRC:.c=.s)
	$(REMOVE) $(SRC:.c=.d)
	$(REMOVE) -r .dep



# Include the dependency files.
-include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)


# Listing of phony targets.
.PHONY : all begin finish end sizebefore sizeafter gccversion \
build elf hex eep lss sym coff extcoff \
clean clean_list program

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av中文字幕一区| 成人aaaa免费全部观看| 国产精品护士白丝一区av| 国产精品沙发午睡系列990531| 国产精品看片你懂得| 日本欧美一区二区| 国产精品欧美经典| 2024国产精品| 欧美美女黄视频| 91麻豆国产在线观看| 国产精品香蕉一区二区三区| 五月激情综合婷婷| 一卡二卡三卡日韩欧美| 国产精品久久久久影院亚瑟 | 99国产精品久久久| 国内成人自拍视频| 奇米综合一区二区三区精品视频| 成人免费在线观看入口| 久久亚洲一级片| 日韩视频免费观看高清完整版在线观看| 99精品欧美一区二区蜜桃免费 | 国产精品免费免费| **网站欧美大片在线观看| 日韩免费观看高清完整版| 中文字幕日韩精品一区| 精品少妇一区二区三区日产乱码 | 亚洲丝袜制服诱惑| 亚洲国产精品黑人久久久| 久久亚洲综合av| 精品免费国产一区二区三区四区| 欧美亚州韩日在线看免费版国语版| 不卡一区中文字幕| 成人高清在线视频| 成人av资源下载| 波多野结衣视频一区| 成人午夜在线视频| 成人涩涩免费视频| 99久久精品久久久久久清纯| 成人性生交大片免费看中文网站| 国产成人在线看| 懂色av一区二区三区免费观看| 国产高清精品久久久久| 国产精品资源在线看| 国产日韩亚洲欧美综合| 欧洲生活片亚洲生活在线观看| 美女精品一区二区| 亚洲国产精品黑人久久久| 欧洲日韩一区二区三区| 亚洲中国最大av网站| 国产精品一色哟哟哟| 91啪在线观看| 欧美日韩激情一区二区三区| av在线不卡电影| 韩国午夜理伦三级不卡影院| 成人在线视频一区二区| 色诱视频网站一区| 风间由美一区二区三区在线观看| 亚洲成人一二三| 亚洲国产精品影院| 亚洲国产一区在线观看| 精品国产3级a| 一本色道久久综合精品竹菊| 国产精品18久久久久久久网站| 欧美激情在线看| 天天免费综合色| 亚洲国产视频一区二区| 亚洲男人的天堂在线观看| 一区二区在线观看视频| 免费高清在线一区| 久久激情五月激情| 国产一区二区成人久久免费影院 | 99riav一区二区三区| 日韩中文字幕麻豆| 婷婷开心激情综合| 国产做a爰片久久毛片| 亚洲mv在线观看| 亚洲午夜久久久久久久久久久| 亚瑟在线精品视频| 激情伊人五月天久久综合| 国产 欧美在线| 久久综合综合久久综合| 国产一区二区三区国产| 国产专区综合网| 成人在线综合网| www.久久久久久久久| 91精品国产黑色紧身裤美女| 色综合久久九月婷婷色综合| 91视频xxxx| 在线免费观看一区| 国产日韩欧美精品一区| 国产主播一区二区| 97久久精品人人做人人爽50路 | 91小视频在线免费看| 在线播放亚洲一区| 日韩精品中文字幕在线不卡尤物| 亚洲欧洲精品一区二区三区不卡| 国产激情91久久精品导航| 岛国精品一区二区| 天堂va蜜桃一区二区三区| 国产传媒一区在线| 欧美三电影在线| 欧美国产精品一区二区三区| 亚洲成av人影院| 波波电影院一区二区三区| 日韩一区二区三区视频在线| 亚洲免费观看高清在线观看| 国产精品一区一区三区| 欧美一区二区视频网站| 亚洲精品免费在线观看| 国产成人av一区二区三区在线 | 欧美色手机在线观看| 久久久久久综合| 日本大胆欧美人术艺术动态| 色狠狠色狠狠综合| 国产欧美日韩另类视频免费观看| 日韩精品一二三区| 欧美性大战久久| 亚洲少妇最新在线视频| 国产成人亚洲精品狼色在线| 欧美大尺度电影在线| 偷窥国产亚洲免费视频 | 亚洲精品在线免费播放| 午夜精品国产更新| 欧美主播一区二区三区美女| 最新国产精品久久精品| 成人国产在线观看| 国产日韩欧美精品电影三级在线| 国产呦萝稀缺另类资源| 久久嫩草精品久久久精品一| 精品一区二区在线看| 日韩三级免费观看| 青青草原综合久久大伊人精品优势| 欧美吞精做爰啪啪高潮| 一区二区三区在线视频免费观看| av一区二区久久| 亚洲日本护士毛茸茸| 97aⅴ精品视频一二三区| 综合av第一页| 色噜噜狠狠一区二区三区果冻| 1024成人网| 在线观看91精品国产入口| 一区二区国产视频| 欧美日韩久久久一区| 日韩精品亚洲一区二区三区免费| 欧美精品一二三| 蜜臀va亚洲va欧美va天堂| 日韩精品一区二区三区视频在线观看| 奇米精品一区二区三区在线观看| 欧美一区二区三区男人的天堂| 捆绑紧缚一区二区三区视频| 337p粉嫩大胆噜噜噜噜噜91av| 国产精品一区二区三区乱码| 欧美极品少妇xxxxⅹ高跟鞋 | 91影视在线播放| 艳妇臀荡乳欲伦亚洲一区| 欧美日韩精品三区| 免费成人在线观看视频| 精品国产乱码久久久久久久久 | 亚洲国产va精品久久久不卡综合| 欧美精品tushy高清| 激情综合色播激情啊| 日本一区二区动态图| 色天使色偷偷av一区二区| 午夜精品免费在线| 久久麻豆一区二区| 色噜噜狠狠成人中文综合| 日本视频在线一区| 久久久久久久久久看片| 91久久线看在观草草青青| 免费人成精品欧美精品| 精品亚洲国产成人av制服丝袜 | 亚洲精品一区二区三区福利| 91.成人天堂一区| 欧美电影一区二区| 欧美一级一区二区| 日本一区二区不卡视频| 国产精品久久久久久福利一牛影视| 国产精品午夜春色av| 亚洲特级片在线| 一区二区在线观看视频在线观看| 国产一区二区三区免费在线观看| 国产一区二区三区在线观看免费| 91福利视频在线| 中文字幕不卡在线播放| 婷婷成人综合网| 韩日av一区二区| 91精品办公室少妇高潮对白| 国产午夜精品一区二区三区嫩草 | 国产精品美女久久久久久| 亚洲一级二级在线| 国产高清一区日本| 欧美色手机在线观看| 亚洲国产精品久久久久秋霞影院| 久久不见久久见免费视频7| 91久久久免费一区二区| 日韩女优电影在线观看| 亚洲日本丝袜连裤袜办公室| 精品一区二区日韩| 欧美日本韩国一区二区三区视频| 91麻豆精品国产91久久久更新时间|