From 12d7441f1f9c6fe46733d3e1b7686eced9224acb Mon Sep 17 00:00:00 2001 From: Tristan Krause <tristan.krause@stud.htwk-leipzig.de> Date: Fri, 22 Mar 2019 15:51:52 +0100 Subject: [PATCH] Makefile Fortschritt --- B15F.aps | 2 +- Makefile | 27 +++++++++++++++++++++++++++ b15f.aws | 2 +- default/B15F.elf | Bin 8484 -> 8700 bytes default/B15F.lss | 15 ++++++++------- default/B15F.map | 22 ++++++++++++---------- default/Makefile | 11 ++++++++++- main.c | 5 ----- main.cpp | 7 +++++++ spi.h | 13 +++++++++++++ 10 files changed, 79 insertions(+), 25 deletions(-) create mode 100644 Makefile delete mode 100644 main.c create mode 100644 main.cpp diff --git a/B15F.aps b/B15F.aps index 7cb06d5..1ea973b 100644 --- a/B15F.aps +++ b/B15F.aps @@ -1 +1 @@ -<AVRStudio><MANAGEMENT><ProjectName>B15F</ProjectName><Created>22-Mar-2019 14:29:54</Created><LastEdit>22-Mar-2019 15:08:36</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>22-Mar-2019 14:29:54</Created><Version>4</Version><Build>4, 19, 0, 730</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\B15F.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>F:\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>JTAGICE mkII</CURRENT_TARGET><CURRENT_PART>ATmega1284.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>main.c</SOURCEFILE><SOURCEFILE>spi.cpp</SOURCEFILE><HEADERFILE>spi.h</HEADERFILE><OTHERFILE>default\B15F.lss</OTHERFILE><OTHERFILE>default\B15F.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>c++</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega128</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>B15F.elf</OUTPUTFILENAME><OUTPUTDIR>c++\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega1284</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>B15F.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS><OPTION><FILE>main.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>spi.cpp</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums </OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>0</USES_WINAVR><GCC_LOC>C:\avr8-gnu-toolchain-win32_x86\bin\avr-g++.exe</GCC_LOC><MAKE_LOC>C:\WinAVR-20100110\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><ProjectFiles><Files><Name>F:\spi.h</Name><Name>F:\main.c</Name><Name>F:\spi.cpp</Name></Files></ProjectFiles><IOView><usergroups/><sort sorted="0" column="0" ordername="1" orderaddress="1" ordergroup="1"/></IOView><Files><File00000><FileId>00000</FileId><FileName>main.c</FileName><Status>1</Status></File00000></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio> +<AVRStudio><MANAGEMENT><ProjectName>B15F</ProjectName><Created>22-Mar-2019 14:29:54</Created><LastEdit>22-Mar-2019 15:51:33</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>22-Mar-2019 14:29:54</Created><Version>4</Version><Build>4, 19, 0, 730</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>F:\B15F.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>F:\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>JTAGICE mkII</CURRENT_TARGET><CURRENT_PART>ATmega1284.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>spi.cpp</SOURCEFILE><SOURCEFILE>main.cpp</SOURCEFILE><SOURCEFILE>Makefile</SOURCEFILE><HEADERFILE>spi.h</HEADERFILE><OTHERFILE>default\B15F.lss</OTHERFILE><OTHERFILE>default\B15F.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>c++</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega128</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>B15F.elf</OUTPUTFILENAME><OUTPUTDIR>c++\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>YES</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE>Makefile</EXTERNALMAKEFILE><PART>atmega1284</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>B15F.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>main.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>spi.cpp</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS><INCLUDE>C:\avr8-gnu-toolchain-win32_x86\avr\include\</INCLUDE></INCDIRS><LIBDIRS><LIBDIR>C:\avr8-gnu-toolchain-win32_x86\avr\lib\</LIBDIR></LIBDIRS><LIBS><LIB>libc.a</LIB></LIBS><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -DF_CPU=20000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>0</USES_WINAVR><GCC_LOC>C:\avr8-gnu-toolchain-win32_x86\bin\avr-g++.exe</GCC_LOC><MAKE_LOC>C:\WinAVR-20100110\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><ProjectFiles><Files><Name>F:\spi.h</Name><Name>F:\spi.cpp</Name><Name>F:\main.cpp</Name><Name>F:\Makefile</Name></Files></ProjectFiles><IOView><usergroups/><sort sorted="0" column="0" ordername="1" orderaddress="1" ordergroup="1"/></IOView><Files><File00000><FileId>00000</FileId><FileName>spi.h</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>main.cpp</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>Makefile</FileName><Status>1</Status></File00002></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio> diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..758290a --- /dev/null +++ b/Makefile @@ -0,0 +1,27 @@ +# Name: Makefile +# Project: gcnc +# Author: Tristan Krause +# Creation Date: 2019-03-22 + +OUTPUT = B15F.elf +CFLAGS = -std=c++14 -mmcu=atmega1284 -DF_CPU=20000000 +LDFLAGS = +OBJECTS = main.o + +COMPILER_PATH = C:\avr8-gnu-toolchain-win32_x86\bin\avr-g++.exe +COMPILE = $(COMPILER_PATH) $(CFLAGS) + +B15F: $(OBJECTS) + @echo "Linking..." + $(COMPILE) $(OBJECTS) -o $(OUTPUT) $(LDFLAGS) + +help: + @echo "This Makefile has the following rules. Use one of the following:" + @echo "make B15F .... to compile (default)" + @echo "make clean ... to delete objects and hex file" + +clean: + rm -f $(OBJECTS) $(OUTPUT) + +.cpp.o: + $(COMPILE) -c $< -o $@ diff --git a/b15f.aws b/b15f.aws index 98f2acd..b3835b3 100644 --- a/b15f.aws +++ b/b15f.aws @@ -1 +1 @@ -<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATMEGA1284"/><Files><File00000 Name="F:\main.c" Position="262 71 1501 391" LineCol="0 0" State="Maximized"/></Files></AVRWorkspace> +<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATMEGA1284"/><Files><File00000 Name="F:\main.cpp" Position="262 71 1501 573" LineCol="4 15" State="Maximized"/><File00001 Name="F:\spi.h" Position="288 130 1409 453" LineCol="8 9" State="Maximized"/></Files></AVRWorkspace> diff --git a/default/B15F.elf b/default/B15F.elf index 21b896820ff018b9bb0566e79e5165b2f380f71a..08e891fe46854376939279d0c10972dfd51c1a97 100644 GIT binary patch delta 527 zcmYjN&nrYx82#?ObKj4-Om946L7Iz+Y#yPAQYb%m%ECtJWrmsJ88c&LA%6hLEeo=n zm83Kql2UAJgstpEHv9o7-yOoO?>pZ)_uO;ud&R+zp-oAP@uS9sy}Abg6k1Jy5P7B8 zi`Wja{;yhXBE|#Clvwu&jPguS07}hkEr$4R8O$pU7T+#|d5I937#~BQv4R;q3DoY^ zVNJlmATLw`5T=zP);<>7l9ZSyc#v=(d1=EQFnbapM89AW-2WLZOs0fcLiCD0L0k;4 z1ZHV6=Jtd;1c2cYb?d~0*##`}y`kQm`q3eb#ZT6qyhp-7a3LY!d2I`RCh%sEX_C)o zytJM%oazTgS;$7CZD1o%8i}6L$@#@#PL`YgA%79Wy;I55tiL>80L+<Q@biUK4*uNB zK|V7Vq>@q}`z14JKL`2|s;2r}-B-7lDq|O6+G(k~cq4zt+jrD$+*K9Q;cHO<Up2@k u{)kgTt)V`Jx>W^mtd>wej{!L7aMgiy$fr7!E%YX)o@6u6)&Z=e$^8P+uVu#o delta 335 zcmez4yu@jO0@E3}jY=w<9&QW_3``7~><kPnjH{V|<U$}Z4TzC}6i5+c7Bd3_BeN5b zy#$C?0WtF=1tvyjCf3ZnlFd&!9oZH180>kN`K-9Dxjlsi8HE@fxTZVt0M)55aC6&n zGjmL?6O^?!2bsno3nCeR^KmgS0s)Z2$e^dEpPQJOr<V-m0Rbx$$R0svCQhIvCmWDp z-27N@H<O5)RZL21T4HHV2|~-{uObInK)NSy5jEWWSoA0t<DJPD6@(}6Q4nCA05l;9 z$WvzhB*4HBI{Bfz@MIoE0Y;C>vWn`gIf4ufRg*mxm6@K2OwLnOV^x&{dJ(K>jiLb4 Y50T0H6xAeV00W^H7y>W=axw@20Elitn*aa+ diff --git a/default/B15F.lss b/default/B15F.lss index 8623653..a564f37 100644 --- a/default/B15F.lss +++ b/default/B15F.lss @@ -13,17 +13,17 @@ Idx Name Size VMA LMA File off Algn CONTENTS, READONLY 4 .debug_aranges 00000020 00000000 00000000 00000194 2**0 CONTENTS, READONLY, DEBUGGING - 5 .debug_info 000007dc 00000000 00000000 000001b4 2**0 + 5 .debug_info 00000833 00000000 00000000 000001b4 2**0 CONTENTS, READONLY, DEBUGGING - 6 .debug_abbrev 00000762 00000000 00000000 00000990 2**0 + 6 .debug_abbrev 0000079a 00000000 00000000 000009e7 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_line 00000055 00000000 00000000 000010f2 2**0 + 7 .debug_line 00000061 00000000 00000000 00001181 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_frame 00000024 00000000 00000000 00001148 2**2 + 8 .debug_frame 00000024 00000000 00000000 000011e4 2**2 CONTENTS, READONLY, DEBUGGING - 9 .debug_str 0000037a 00000000 00000000 0000116c 2**0 + 9 .debug_str 000003b8 00000000 00000000 00001208 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_ranges 00000010 00000000 00000000 000014e6 2**0 + 10 .debug_ranges 00000010 00000000 00000000 000015c0 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -80,8 +80,9 @@ Disassembly of section .text: 000000a4 <main>: - int main() { + + SPI spi_master; return 0; } a4: 80 e0 ldi r24, 0x00 ; 0 diff --git a/default/B15F.map b/default/B15F.map index 90e2dda..8dd5f98 100644 --- a/default/B15F.map +++ b/default/B15F.map @@ -23,6 +23,7 @@ LOAD main.o LOAD spi.o LOAD c:/avr8-gnu-toolchain-win32_x86/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a LOAD c:/avr8-gnu-toolchain-win32_x86/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a +LOAD c:/avr8-gnu-toolchain-win32_x86/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libc.a START GROUP LOAD c:/avr8-gnu-toolchain-win32_x86/bin/../lib/gcc/avr/5.4.0/avr51\libgcc.a LOAD c:/avr8-gnu-toolchain-win32_x86/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51\libm.a @@ -371,31 +372,32 @@ END GROUP .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0x7dc +.debug_info 0x00000000 0x833 *(.debug_info .gnu.linkonce.wi.*) .debug_info 0x00000000 0x792 c:/avr8-gnu-toolchain-win32_x86/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51/crtatmega1284.o - .debug_info 0x00000792 0x4a main.o + .debug_info 0x00000792 0xa1 main.o -.debug_abbrev 0x00000000 0x762 +.debug_abbrev 0x00000000 0x79a *(.debug_abbrev) .debug_abbrev 0x00000000 0x729 c:/avr8-gnu-toolchain-win32_x86/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51/crtatmega1284.o - .debug_abbrev 0x00000729 0x39 main.o + .debug_abbrev 0x00000729 0x71 main.o -.debug_line 0x00000000 0x55 +.debug_line 0x00000000 0x61 *(.debug_line .debug_line.* .debug_line_end) .debug_line 0x00000000 0x1a c:/avr8-gnu-toolchain-win32_x86/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51/crtatmega1284.o - .debug_line 0x0000001a 0x3b main.o - .debug_line 0x00000055 0x0 spi.o + .debug_line 0x0000001a 0x47 main.o + .debug_line 0x00000061 0x0 spi.o .debug_frame 0x00000000 0x24 *(.debug_frame) .debug_frame 0x00000000 0x24 main.o -.debug_str 0x00000000 0x37a +.debug_str 0x00000000 0x3b8 *(.debug_str) .debug_str 0x00000000 0x296 c:/avr8-gnu-toolchain-win32_x86/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51/crtatmega1284.o - .debug_str 0x00000296 0xd9 main.o - .debug_str 0x0000036f 0xb spi.o + .debug_str 0x00000296 0x117 main.o + 0x14b (size before relaxing) + .debug_str 0x000003ad 0xb spi.o 0xd5 (size before relaxing) .debug_loc diff --git a/default/Makefile b/default/Makefile index 4aa90c1..9c8edd5 100644 --- a/default/Makefile +++ b/default/Makefile @@ -15,7 +15,7 @@ COMMON = -mmcu=$(MCU) ## Compile options common for all C compilation units. CFLAGS = $(COMMON) -CFLAGS += -Wall -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums +CFLAGS += -Wall -gdwarf-2 -DF_CPU=20000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d ## Assembly specific flags @@ -36,6 +36,15 @@ HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load" HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings +## Include Directories +INCLUDES = -I"C:\avr8-gnu-toolchain-win32_x86\avr\include" + +## Library Directories +LIBDIRS = -L"C:\avr8-gnu-toolchain-win32_x86\avr\lib" + +## Libraries +LIBS = -lc + ## Objects that must be built in order to link OBJECTS = main.o spi.o diff --git a/main.c b/main.c deleted file mode 100644 index d085acc..0000000 --- a/main.c +++ /dev/null @@ -1,5 +0,0 @@ - - -int main() { - return 0; -} diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..4b50465 --- /dev/null +++ b/main.cpp @@ -0,0 +1,7 @@ +#include "spi.h" + +int main() { + + SPI spi_master; + return 0; +} diff --git a/spi.h b/spi.h index e69de29..56e5286 100644 --- a/spi.h +++ b/spi.h @@ -0,0 +1,13 @@ +#ifndef SPI_H +#define SPI_H + +#include <util/delay.h> + +class SPI { + + + private: int d; + +}; + +#endif