diff --git a/blink/Makefile b/blink/Makefile index 5a6d8d5..67bd737 100644 --- a/blink/Makefile +++ b/blink/Makefile @@ -12,7 +12,7 @@ BAUD = 9600UL ## A directory for common include files and the simple USART library. ## If you move either the current folder or the Library folder, you'll ## need to change this path to match. -LIBDIR = ../../AVR-Programming-Library +LIBDIR = ../AVR-Programming-Library ##########------------------------------------------------------########## ########## Programmer Defaults ########## diff --git a/blink/blink.elf b/blink/blink.elf new file mode 100644 index 0000000..c498801 Binary files /dev/null and b/blink/blink.elf differ diff --git a/blink/blink.hex b/blink/blink.hex new file mode 100644 index 0000000..33083f4 --- /dev/null +++ b/blink/blink.hex @@ -0,0 +1,10 @@ +:100000000C9434000C943E000C943E000C943E0082 +:100010000C943E000C943E000C943E000C943E0068 +:100020000C943E000C943E000C943E000C943E0058 +:100030000C943E000C943E000C943E000C943E0048 +:100040000C943E000C943E000C943E000C943E0038 +:100050000C943E000C943E000C943E000C943E0028 +:100060000C943E000C943E0011241FBECFEFD4E050 +:10007000DEBFCDBF0E9440000C9444000C940000F1 +:0C008000209A81E085B9FECFF894FFCFF4 +:00000001FF diff --git a/blink/blink.map b/blink/blink.map index 691edbe..07d486a 100644 --- a/blink/blink.map +++ b/blink/blink.map @@ -1,5 +1,9 @@ Archive member included to satisfy reference by file (symbol) +c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodqi4.o) + ../AVR-Programming-Library/USART.o (__udivmodqi4) +c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodhi4.o) + ../AVR-Programming-Library/USART.o (__udivmodhi4) c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_exit.o) c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5/crtatmega168.o (exit) @@ -7,6 +11,76 @@ Discarded input sections .data 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5/crtatmega168.o .bss 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5/crtatmega168.o + .text 0x0000000000000000 0x0 blinkled.o + .data 0x0000000000000000 0x0 blinkled.o + .bss 0x0000000000000000 0x0 blinkled.o + .text 0x0000000000000000 0x0 ../AVR-Programming-Library/USART.o + .data 0x0000000000000000 0x0 ../AVR-Programming-Library/USART.o + .bss 0x0000000000000000 0x0 ../AVR-Programming-Library/USART.o + .text.initUSART + 0x0000000000000000 0x22 ../AVR-Programming-Library/USART.o + .text.transmitByte + 0x0000000000000000 0xe ../AVR-Programming-Library/USART.o + .text.receiveByte + 0x0000000000000000 0xe ../AVR-Programming-Library/USART.o + .text.printString + 0x0000000000000000 0x26 ../AVR-Programming-Library/USART.o + .text.readString + 0x0000000000000000 0x58 ../AVR-Programming-Library/USART.o + .text.printByte + 0x0000000000000000 0x32 ../AVR-Programming-Library/USART.o + .text.printWord + 0x0000000000000000 0x76 ../AVR-Programming-Library/USART.o + .text.printBinaryByte + 0x0000000000000000 0x3a ../AVR-Programming-Library/USART.o + .text.nibbleToHexCharacter + 0x0000000000000000 0xc ../AVR-Programming-Library/USART.o + .text.printHexByte + 0x0000000000000000 0x1e ../AVR-Programming-Library/USART.o + .text.getNumber + 0x0000000000000000 0x46 ../AVR-Programming-Library/USART.o + .debug_info 0x0000000000000000 0x3dc ../AVR-Programming-Library/USART.o + .debug_abbrev 0x0000000000000000 0x16e ../AVR-Programming-Library/USART.o + .debug_loc 0x0000000000000000 0x57c ../AVR-Programming-Library/USART.o + .debug_aranges + 0x0000000000000000 0x70 ../AVR-Programming-Library/USART.o + .debug_ranges 0x0000000000000000 0x60 ../AVR-Programming-Library/USART.o + .debug_line 0x0000000000000000 0x2ef ../AVR-Programming-Library/USART.o + .debug_str 0x0000000000000000 0x25e ../AVR-Programming-Library/USART.o + .comment 0x0000000000000000 0x31 ../AVR-Programming-Library/USART.o + .debug_frame 0x0000000000000000 0x148 ../AVR-Programming-Library/USART.o + .text 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodqi4.o) + .data 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodqi4.o) + .bss 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodqi4.o) + .text.libgcc.mul + 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodqi4.o) + .text.libgcc.div + 0x0000000000000000 0x18 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodqi4.o) + .text.libgcc 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodqi4.o) + .text.libgcc.prologue + 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodqi4.o) + .text.libgcc.builtins + 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodqi4.o) + .text.libgcc.fmul + 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodqi4.o) + .text.libgcc.fixed + 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodqi4.o) + .text 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodhi4.o) + .data 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodhi4.o) + .bss 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodhi4.o) + .text.libgcc.mul + 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodhi4.o) + .text.libgcc.div + 0x0000000000000000 0x28 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodhi4.o) + .text.libgcc 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodhi4.o) + .text.libgcc.prologue + 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodhi4.o) + .text.libgcc.builtins + 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodhi4.o) + .text.libgcc.fmul + 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodhi4.o) + .text.libgcc.fixed + 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_udivmodhi4.o) .text 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_exit.o) .data 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_exit.o) .bss 0x0000000000000000 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_exit.o) @@ -40,6 +114,8 @@ Linker script and memory map Address of section .data set to 0x800100 LOAD c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5/crtatmega168.o +LOAD blinkled.o +LOAD ../AVR-Programming-Library/USART.o START GROUP LOAD c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a LOAD c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5\libm.a @@ -146,7 +222,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x0000000000000000 0x84 +.text 0x0000000000000000 0x8c *(.vectors) .vectors 0x0000000000000000 0x68 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5/crtatmega168.o 0x0000000000000000 __vector_default @@ -229,11 +305,14 @@ END GROUP 0x000000000000007c __vector_20 0x0000000000000080 . = ALIGN (0x2) *(.text.*) - 0x0000000000000080 . = ALIGN (0x2) + .text.startup.main + 0x0000000000000080 0x8 blinkled.o + 0x0000000000000080 main + 0x0000000000000088 . = ALIGN (0x2) *(.fini9) - .fini9 0x0000000000000080 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_exit.o) - 0x0000000000000080 _exit - 0x0000000000000080 exit + .fini9 0x0000000000000088 0x0 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_exit.o) + 0x0000000000000088 _exit + 0x0000000000000088 exit *(.fini9) *(.fini8) *(.fini8) @@ -252,11 +331,11 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x0000000000000080 0x4 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_exit.o) + .fini0 0x0000000000000088 0x4 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/avr5\libgcc.a(_exit.o) *(.fini0) - 0x0000000000000084 _etext = . + 0x000000000000008c _etext = . -.data 0x0000000000800100 0x0 load address 0x0000000000000084 +.data 0x0000000000800100 0x0 load address 0x000000000000008c [!provide] PROVIDE (__data_start, .) *(.data) *(.data*) @@ -274,8 +353,8 @@ END GROUP *(.bss*) *(COMMON) [!provide] PROVIDE (__bss_end, .) - 0x0000000000000084 __data_load_start = LOADADDR (.data) - 0x0000000000000084 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x000000000000008c __data_load_start = LOADADDR (.data) + 0x000000000000008c __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x0000000000800100 0x0 [!provide] PROVIDE (__noinit_start, .) @@ -321,8 +400,10 @@ END GROUP .stab.indexstr *(.stab.indexstr) -.comment +.comment 0x0000000000000000 0x30 *(.comment) + .comment 0x0000000000000000 0x30 blinkled.o + 0x31 (size before relaxing) .note.gnu.avr.deviceinfo 0x0000000000000000 0x3c @@ -344,30 +425,38 @@ END GROUP .debug_sfnames *(.debug_sfnames) -.debug_aranges +.debug_aranges 0x0000000000000000 0x20 *(.debug_aranges) + .debug_aranges + 0x0000000000000000 0x20 blinkled.o .debug_pubnames *(.debug_pubnames) -.debug_info 0x0000000000000000 0x5f4 +.debug_info 0x0000000000000000 0x67b *(.debug_info .gnu.linkonce.wi.*) .debug_info 0x0000000000000000 0x5f4 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5/crtatmega168.o + .debug_info 0x00000000000005f4 0x87 blinkled.o -.debug_abbrev 0x0000000000000000 0x5a2 +.debug_abbrev 0x0000000000000000 0x5f5 *(.debug_abbrev) .debug_abbrev 0x0000000000000000 0x5a2 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5/crtatmega168.o + .debug_abbrev 0x00000000000005a2 0x53 blinkled.o -.debug_line 0x0000000000000000 0x1a +.debug_line 0x0000000000000000 0xe4 *(.debug_line .debug_line.* .debug_line_end) .debug_line 0x0000000000000000 0x1a c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5/crtatmega168.o + .debug_line 0x000000000000001a 0xca blinkled.o -.debug_frame +.debug_frame 0x0000000000000000 0x24 *(.debug_frame) + .debug_frame 0x0000000000000000 0x24 blinkled.o -.debug_str 0x0000000000000000 0x208 +.debug_str 0x0000000000000000 0x339 *(.debug_str) .debug_str 0x0000000000000000 0x208 c:/users/emanuel/apps/avr8-gnu-toolchain-3.7.0.1796-win32.any.x86_64/avr8-gnu-toolchain-win32_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr5/crtatmega168.o + .debug_str 0x0000000000000208 0x131 blinkled.o + 0x165 (size before relaxing) .debug_loc *(.debug_loc) @@ -390,8 +479,9 @@ END GROUP .debug_pubtypes *(.debug_pubtypes) -.debug_ranges +.debug_ranges 0x0000000000000000 0x10 *(.debug_ranges) + .debug_ranges 0x0000000000000000 0x10 blinkled.o .debug_macro *(.debug_macro) diff --git a/blink/blinkled.c b/blink/blinkled.c new file mode 100644 index 0000000..21262cc --- /dev/null +++ b/blink/blinkled.c @@ -0,0 +1,15 @@ +#include +#include + + +int main(void) +{ + + // set the lowest order bit + DDRB |= 0b00000001; + + while (1) { + PORTB = 0b00000001; // turn on the LED + } + +} \ No newline at end of file diff --git a/blink/blinkled.o b/blink/blinkled.o new file mode 100644 index 0000000..554e143 Binary files /dev/null and b/blink/blinkled.o differ