diff options
| author | Jörg Biemann <joerg@Jorgs-MacBook-Pro.local> | 2012-09-29 16:25:42 +0200 |
|---|---|---|
| committer | Jörg Biemann <joerg@Jorgs-MacBook-Pro.local> | 2012-09-29 16:25:42 +0200 |
| commit | bcd8691a436ab2e32adf74cfc161f0af7ebb92d7 (patch) | |
| tree | 81efcab95dbe127f17868a6448fd5f04c4365395 | |
| parent | daf8126e9066a506bc02298ab56bd793a293e9c1 (diff) | |
AVR Client Project für Mac erstellt
| -rw-r--r-- | avr/aio_client/aio_client.xcodeproj/project.pbxproj | 102 | ||||
| -rw-r--r-- | avr/aio_client/firmware/Makefile | 102 | ||||
| -rw-r--r-- | avr/aio_client/firmware/main.c | 16 |
3 files changed, 220 insertions, 0 deletions
diff --git a/avr/aio_client/aio_client.xcodeproj/project.pbxproj b/avr/aio_client/aio_client.xcodeproj/project.pbxproj new file mode 100644 index 0000000..aa17268 --- /dev/null +++ b/avr/aio_client/aio_client.xcodeproj/project.pbxproj @@ -0,0 +1,102 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXFileReference section */ + 4079525E0CEA38CC00E202DC /* main.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; }; + 4079525F0CEA38CC00E202DC /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 4079523B0CEA382200E202DC = { + isa = PBXGroup; + children = ( + 4079525D0CEA38CC00E202DC /* firmware */, + ); + sourceTree = "<group>"; + }; + 4079525D0CEA38CC00E202DC /* firmware */ = { + isa = PBXGroup; + children = ( + 4079525F0CEA38CC00E202DC /* Makefile */, + 4079525E0CEA38CC00E202DC /* main.c */, + ); + path = firmware; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXLegacyTarget section */ + 407952600CEA391500E202DC /* firmware */ = { + isa = PBXLegacyTarget; + buildArgumentsString = $ACTION; + buildConfigurationList = 407952610CEA393300E202DC /* Build configuration list for PBXLegacyTarget "firmware" */; + buildPhases = ( + ); + buildToolPath = /usr/bin/make; + buildWorkingDirectory = firmware; + dependencies = ( + ); + name = firmware; + passBuildSettingsInEnvironment = 1; + productName = "Build All"; + }; +/* End PBXLegacyTarget section */ + +/* Begin PBXProject section */ + 4079523D0CEA382200E202DC /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 4079523E0CEA382200E202DC /* Build configuration list for PBXProject "TemplateProject" */; + compatibilityVersion = "Xcode 2.4"; + hasScannedForEncodings = 0; + mainGroup = 4079523B0CEA382200E202DC; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 407952600CEA391500E202DC /* firmware */, + ); + }; +/* End PBXProject section */ + +/* Begin XCBuildConfiguration section */ + 407952400CEA382200E202DC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + }; + name = Release; + }; + 407952630CEA393300E202DC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PATH = "$(PATH):/usr/local/CrossPack-AVR/bin"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 4079523E0CEA382200E202DC /* Build configuration list for PBXProject "TemplateProject" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 407952400CEA382200E202DC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 407952610CEA393300E202DC /* Build configuration list for PBXLegacyTarget "firmware" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 407952630CEA393300E202DC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 4079523D0CEA382200E202DC /* Project object */; +} diff --git a/avr/aio_client/firmware/Makefile b/avr/aio_client/firmware/Makefile new file mode 100644 index 0000000..d276dde --- /dev/null +++ b/avr/aio_client/firmware/Makefile @@ -0,0 +1,102 @@ +# Name: Makefile +# Author: <insert your name here> +# Copyright: <insert your copyright message here> +# License: <insert your license reference here> + +# This is a prototype Makefile. Modify it according to your needs. +# You should at least check the settings for +# DEVICE ....... The AVR device you compile for +# CLOCK ........ Target AVR clock rate in Hertz +# OBJECTS ...... The object files created from your source files. This list is +# usually the same as the list of source files with suffix ".o". +# PROGRAMMER ... Options to avrdude which define the hardware you use for +# uploading to the AVR and the interface where this hardware +# is connected. We recommend that you leave it undefined and +# add settings like this to your ~/.avrduderc file: +# default_programmer = "stk500v2" +# default_serial = "avrdoper" +# FUSES ........ Parameters for avrdude to flash the fuses appropriately. + +DEVICE = atmega8 +CLOCK = 8000000 +PROGRAMMER = #-c stk500v2 -P avrdoper +OBJECTS = main.o +FUSES = -U hfuse:w:0xd9:m -U lfuse:w:0x24:m + +# ATMega8 fuse bits used above (fuse bits for other devices are different!): +# Example for 8 MHz internal oscillator +# Fuse high byte: +# 0xd9 = 1 1 0 1 1 0 0 1 <-- BOOTRST (boot reset vector at 0x0000) +# ^ ^ ^ ^ ^ ^ ^------ BOOTSZ0 +# | | | | | +-------- BOOTSZ1 +# | | | | +---------- EESAVE (set to 0 to preserve EEPROM over chip erase) +# | | | +-------------- CKOPT (clock option, depends on oscillator type) +# | | +---------------- SPIEN (if set to 1, serial programming is disabled) +# | +------------------ WDTON (if set to 0, watchdog is always on) +# +-------------------- RSTDISBL (if set to 0, RESET pin is disabled) +# Fuse low byte: +# 0x24 = 0 0 1 0 0 1 0 0 +# ^ ^ \ / \--+--/ +# | | | +------- CKSEL 3..0 (8M internal RC) +# | | +--------------- SUT 1..0 (slowly rising power) +# | +------------------ BODEN (if 0, brown-out detector is enabled) +# +-------------------- BODLEVEL (if 0: 4V, if 1: 2.7V) +# +# For computing fuse byte values for other devices and options see +# the fuse bit calculator at http://www.engbedded.com/fusecalc/ + + +# Tune the lines below only if you know what you are doing: + +AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE) +COMPILE = avr-gcc -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE) + +# symbolic targets: +all: main.hex + +.c.o: + $(COMPILE) -c $< -o $@ + +.S.o: + $(COMPILE) -x assembler-with-cpp -c $< -o $@ +# "-x assembler-with-cpp" should not be necessary since this is the default +# file type for the .S (with capital S) extension. However, upper case +# characters are not always preserved on Windows. To ensure WinAVR +# compatibility define the file type manually. + +.c.s: + $(COMPILE) -S $< -o $@ + +flash: all + $(AVRDUDE) -U flash:w:main.hex:i + +fuse: + $(AVRDUDE) $(FUSES) + +# Xcode uses the Makefile targets "", "clean" and "install" +install: flash fuse + +# if you use a bootloader, change the command below appropriately: +load: all + bootloadHID main.hex + +clean: + rm -f main.hex main.elf $(OBJECTS) + +# file targets: +main.elf: $(OBJECTS) + $(COMPILE) -o main.elf $(OBJECTS) + +main.hex: main.elf + rm -f main.hex + avr-objcopy -j .text -j .data -O ihex main.elf main.hex + avr-size --format=avr --mcu=$(DEVICE) main.elf +# If you have an EEPROM section, you must also create a hex file for the +# EEPROM and add it to the "flash" target. + +# Targets for code debugging and analysis: +disasm: main.elf + avr-objdump -d main.elf + +cpp: + $(COMPILE) -E main.c diff --git a/avr/aio_client/firmware/main.c b/avr/aio_client/firmware/main.c new file mode 100644 index 0000000..b231749 --- /dev/null +++ b/avr/aio_client/firmware/main.c @@ -0,0 +1,16 @@ +/* Name: main.c + * Author: <insert your name here> + * Copyright: <insert your copyright message here> + * License: <insert your license reference here> + */ + +#include <avr/io.h> + +int main(void) +{ + /* insert your hardware initialization here */ + for(;;){ + /* insert your main loop code here */ + } + return 0; /* never reached */ +} |
