diff --git a/build/default/debug/dstemperature.o b/build/default/debug/dstemperature.o deleted file mode 100644 index 97e3880..0000000 Binary files a/build/default/debug/dstemperature.o and /dev/null differ diff --git a/build/default/debug/dstemperature.o.d b/build/default/debug/dstemperature.o.d deleted file mode 100644 index b4589db..0000000 --- a/build/default/debug/dstemperature.o.d +++ /dev/null @@ -1,60 +0,0 @@ -build/default/debug/dstemperature.o.d build/default/debug/dstemperature.o: \ - dstemperature.c dstemperature.h onewire.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h \ - /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h - -dstemperature.h: - -onewire.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h: - -/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h: diff --git a/build/default/debug/main.o b/build/default/debug/main.o deleted file mode 100644 index 0c15734..0000000 Binary files a/build/default/debug/main.o and /dev/null differ diff --git a/build/default/debug/main.o.d b/build/default/debug/main.o.d deleted file mode 100644 index 17ede39..0000000 --- a/build/default/debug/main.o.d +++ /dev/null @@ -1,60 +0,0 @@ -build/default/debug/main.o.d build/default/debug/main.o: main.c \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h \ - /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h onewire.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \ - dstemperature.h - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h: - -/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h: - -onewire.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h: - -dstemperature.h: diff --git a/build/default/debug/onewire.o b/build/default/debug/onewire.o deleted file mode 100644 index 413f4b2..0000000 Binary files a/build/default/debug/onewire.o and /dev/null differ diff --git a/build/default/debug/onewire.o.d b/build/default/debug/onewire.o.d deleted file mode 100644 index 429c516..0000000 --- a/build/default/debug/onewire.o.d +++ /dev/null @@ -1,58 +0,0 @@ -build/default/debug/onewire.o.d build/default/debug/onewire.o: onewire.c \ - onewire.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h \ - /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h - -onewire.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h: - -/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h: - -/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h: diff --git a/build/default/production/main.o b/build/default/production/main.o index 7a5c400..e5e7df4 100644 Binary files a/build/default/production/main.o and b/build/default/production/main.o differ diff --git a/build/default/production/main.o.d b/build/default/production/main.o.d index c7ee8f6..82bb1b8 100644 --- a/build/default/production/main.o.d +++ b/build/default/production/main.o.d @@ -11,12 +11,13 @@ build/default/production/main.o.d build/default/production/main.o: main.c \ /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \ /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \ /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/pgmspace.h \ + /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \ /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \ /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \ /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h onewire.h \ /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \ /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \ - /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \ dstemperature.h /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h: @@ -43,6 +44,10 @@ build/default/production/main.o.d build/default/production/main.o: main.c \ /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h: +/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/pgmspace.h: + +/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h: + /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h: /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h: @@ -55,6 +60,4 @@ onewire.h: /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h: -/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h: - dstemperature.h: diff --git a/build/default/production/onewire.o b/build/default/production/onewire.o index 84aff75..b9c1c29 100644 Binary files a/build/default/production/onewire.o and b/build/default/production/onewire.o differ diff --git a/disassembly/listing.disasm b/disassembly/listing.disasm index b69533b..a0cec67 100644 --- a/disassembly/listing.disasm +++ b/disassembly/listing.disasm @@ -1,56 +1,30 @@ Disassembly Listing for attiny45v_thermometer Generated From: -/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/dist/default/debug/attiny45v_thermometer.X.debug.elf -Jul 7, 2023 10:14:05 PM +/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/dist/default/production/attiny45v_thermometer.X.production.elf +Aug 3, 2023 9:41:00 PM ---- /home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/main.c ---------------- -1: #define F_CPU 8000000UL -2: -3: #include -4: #include -5: -6: void MCU_Init(void) { -7: DDRB = _BV(PB0) | _BV(PB1) | _BV(PB2); -0018 E087 LDI R24, 0x07 -0019 BB87 OUT 0x17, R24 -8: PORTB = 0x00; -001A BA18 OUT 0x18, R1 -9: } -001B 9508 RET -10: -11: int main(void) { -12: MCU_Init(); -001C DFFB RCALL MCU_Init -13: -14: while(1) { -15: asm("nop"); -001D 0000 NOP -001E CFFE RJMP 0x1D -16: } -17: return 0; -18: } --- ././././crt1/gcrt1.S ------------------------------------------------------------------------------ -0000 C00E RJMP __trampolines_start -0001 C015 RJMP __bad_interrupt -0002 C014 RJMP __bad_interrupt -0003 C013 RJMP __bad_interrupt -0004 C012 RJMP __bad_interrupt -0005 C011 RJMP __bad_interrupt -0006 C010 RJMP __bad_interrupt -0007 C00F RJMP __bad_interrupt -0008 C00E RJMP __bad_interrupt -0009 C00D RJMP __bad_interrupt -000A C00C RJMP __bad_interrupt -000B C00B RJMP __bad_interrupt -000C C00A RJMP __bad_interrupt -000D C009 RJMP __bad_interrupt -000E C008 RJMP __bad_interrupt -0017 CFE8 RJMP __vectors -000F 2411 EOR R1, R1 -0010 BE1F OUT 0x3F, R1 -0011 E5CF LDI R28, 0x5F -0012 E0D1 LDI R29, 0x01 -0013 BFDE OUT 0x3E, R29 -0014 BFCD OUT 0x3D, R28 -0015 D006 RCALL main -0016 C008 RJMP _exit +0000 C013 RJMP __dtors_end +0001 C01A RJMP __bad_interrupt +0002 C019 RJMP __bad_interrupt +0003 C018 RJMP __bad_interrupt +0004 C017 RJMP __bad_interrupt +0005 C016 RJMP __bad_interrupt +0006 C015 RJMP __bad_interrupt +0007 C014 RJMP __bad_interrupt +0008 C013 RJMP __bad_interrupt +0009 C012 RJMP __bad_interrupt +000A C011 RJMP __bad_interrupt +000B C010 RJMP __bad_interrupt +000C C00F RJMP __bad_interrupt +000D C00E RJMP __bad_interrupt +000E C00D RJMP __bad_interrupt +001C CFE3 RJMP __vectors +0014 2411 EOR R1, R1 +0015 BE1F OUT 0x3F, R1 +0016 E5CF LDI R28, 0x5F +0017 E0D1 LDI R29, 0x01 +0018 BFDE OUT 0x3E, R29 +0019 BFCD OUT 0x3D, R28 +001A D0AF RCALL main +001B C1CC RJMP _exit diff --git a/dist/default/debug/attiny45v_thermometer.X.debug.elf b/dist/default/debug/attiny45v_thermometer.X.debug.elf deleted file mode 100755 index bdaec6d..0000000 Binary files a/dist/default/debug/attiny45v_thermometer.X.debug.elf and /dev/null differ diff --git a/dist/default/debug/attiny45v_thermometer.X.debug.map b/dist/default/debug/attiny45v_thermometer.X.debug.map deleted file mode 100644 index bdcf646..0000000 --- a/dist/default/debug/attiny45v_thermometer.X.debug.map +++ /dev/null @@ -1,472 +0,0 @@ -Archive member included to satisfy reference by file (symbol) - -/opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o (exit) - -Discarded input sections - - .data 0x0000000000000000 0x0 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - .bss 0x0000000000000000 0x0 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - .text 0x0000000000000000 0x0 build/default/debug/main.o - .data 0x0000000000000000 0x0 build/default/debug/main.o - .bss 0x0000000000000000 0x0 build/default/debug/main.o - .text 0x0000000000000000 0x0 build/default/debug/onewire.o - .data 0x0000000000000000 0x0 build/default/debug/onewire.o - .bss 0x0000000000000000 0x0 build/default/debug/onewire.o - .text 0x0000000000000000 0x0 build/default/debug/dstemperature.o - .data 0x0000000000000000 0x0 build/default/debug/dstemperature.o - .bss 0x0000000000000000 0x0 build/default/debug/dstemperature.o - .text 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - .data 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - .bss 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - .text.libgcc.mul - 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - .text.libgcc.div - 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - .text.libgcc 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - .text.libgcc.prologue - 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - .text.libgcc.builtins - 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - .text.libgcc.fmul - 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - .text.libgcc.fixed - 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - -Memory Configuration - -Name Origin Length Attributes -text 0x0000000000000000 0x0000000000001000 xr -data 0x0000000000800060 0x0000000000000100 rw !x -eeprom 0x0000000000810000 0x0000000000000100 rw !x -fuse 0x0000000000820000 0x0000000000000003 rw !x -lock 0x0000000000830000 0x0000000000000400 rw !x -signature 0x0000000000840000 0x0000000000000400 rw !x -user_signatures 0x0000000000850000 0x0000000000000400 rw !x -*default* 0x0000000000000000 0xffffffffffffffff - -Linker script and memory map - -LOAD /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o -LOAD build/default/debug/main.o -LOAD build/default/debug/onewire.o -LOAD build/default/debug/dstemperature.o - 0x0000000000000001 __MPLAB_BUILD = 0x1 - 0x0000000000000001 __ICD2RAM = 0x1 - 0x0000000000000001 __MPLAB_DEBUG = 0x1 - 0x0000000000000001 __DEBUG = 0x1 -START GROUP -LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr25/libm.a -END GROUP -START GROUP -LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a -LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr25/libm.a -LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr25/libc.a -LOAD /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/libattiny45.a -END GROUP - 0x0000000000000000 __TEXT_REGION_ORIGIN__ = DEFINED (__TEXT_REGION_ORIGIN__)?__TEXT_REGION_ORIGIN__:0x0 - [0x0000000000800060] __DATA_REGION_ORIGIN__ = DEFINED (__DATA_REGION_ORIGIN__)?__DATA_REGION_ORIGIN__:0x800060 - [0x0000000000001000] __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x2000 - [0x0000000000000100] __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0 - [0x0000000000000100] __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000 - [0x0000000000000003] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400 - 0x0000000000000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400 - 0x0000000000000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400 - 0x0000000000000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400 - -.hash - *(.hash) - -.dynsym - *(.dynsym) - -.dynstr - *(.dynstr) - -.gnu.version - *(.gnu.version) - -.gnu.version_d - *(.gnu.version_d) - -.gnu.version_r - *(.gnu.version_r) - -.rel.init - *(.rel.init) - -.rela.init - *(.rela.init) - -.rel.text - *(.rel.text) - *(.rel.text.*) - *(.rel.gnu.linkonce.t*) - -.rela.text - *(.rela.text) - *(.rela.text.*) - *(.rela.gnu.linkonce.t*) - -.rel.fini - *(.rel.fini) - -.rela.fini - *(.rela.fini) - -.rel.rodata - *(.rel.rodata) - *(.rel.rodata.*) - *(.rel.gnu.linkonce.r*) - -.rela.rodata - *(.rela.rodata) - *(.rela.rodata.*) - *(.rela.gnu.linkonce.r*) - -.rel.data - *(.rel.data) - *(.rel.data.*) - *(.rel.gnu.linkonce.d*) - -.rela.data - *(.rela.data) - *(.rela.data.*) - *(.rela.gnu.linkonce.d*) - -.rel.ctors - *(.rel.ctors) - -.rela.ctors - *(.rela.ctors) - -.rel.dtors - *(.rel.dtors) - -.rela.dtors - *(.rela.dtors) - -.rel.got - *(.rel.got) - -.rela.got - *(.rela.got) - -.rel.bss - *(.rel.bss) - -.rela.bss - *(.rela.bss) - -.rel.plt - *(.rel.plt) - -.rela.plt - *(.rela.plt) - -.text 0x0000000000000000 0x266 - *(.vectors) - .vectors 0x0000000000000000 0x1e /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - 0x0000000000000000 __vectors - 0x0000000000000000 __vector_default - *(.vectors) - *(.progmem.gcc*) - 0x000000000000001e . = ALIGN (0x2) - 0x000000000000001e __trampolines_start = . - *(.trampolines) - .trampolines 0x000000000000001e 0x0 linker stubs - *(.trampolines*) - 0x000000000000001e __trampolines_end = . - *libprintf_flt.a:*(.progmem.data) - *libc.a:*(.progmem.data) - *(.progmem*) - 0x000000000000001e . = ALIGN (0x2) - *(.jumptables) - *(.jumptables*) - *(.lowtext) - *(.lowtext*) - 0x000000000000001e __ctors_start = . - *(.ctors) - 0x000000000000001e __ctors_end = . - 0x000000000000001e __dtors_start = . - *(.dtors) - 0x000000000000001e __dtors_end = . - SORT(*)(.ctors) - SORT(*)(.dtors) - *(.init0) - .init0 0x000000000000001e 0x0 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - 0x000000000000001e __init - *(.init0) - *(.init1) - *(.init1) - *(.init2) - .init2 0x000000000000001e 0xc /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - *(.init2) - *(.init3) - *(.init3) - *(.init4) - *(.init4) - *(.init5) - *(.init5) - *(.init6) - *(.init6) - *(.init7) - *(.init7) - *(.init8) - *(.init8) - *(.init9) - .init9 0x000000000000002a 0x4 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - *(.init9) - *(.text) - .text 0x000000000000002e 0x2 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - 0x000000000000002e __vector_1 - 0x000000000000002e __vector_12 - 0x000000000000002e __bad_interrupt - 0x000000000000002e __vector_6 - 0x000000000000002e __vector_3 - 0x000000000000002e __vector_11 - 0x000000000000002e __vector_13 - 0x000000000000002e __vector_7 - 0x000000000000002e __vector_5 - 0x000000000000002e __vector_4 - 0x000000000000002e __vector_9 - 0x000000000000002e __vector_2 - 0x000000000000002e __vector_8 - 0x000000000000002e __vector_14 - 0x000000000000002e __vector_10 - 0x0000000000000030 . = ALIGN (0x2) - *(.text.*) - .text.MCU_Init - 0x0000000000000030 0x8 build/default/debug/main.o - 0x0000000000000030 MCU_Init - .text.main 0x0000000000000038 0x26 build/default/debug/main.o - 0x0000000000000038 main - .text.OneWire_Presence - 0x000000000000005e 0x36 build/default/debug/onewire.o - 0x000000000000005e OneWire_Presence - .text.OneWire_WriteByte - 0x0000000000000094 0x3e build/default/debug/onewire.o - 0x0000000000000094 OneWire_WriteByte - .text.OneWire_ReadByte - 0x00000000000000d2 0x34 build/default/debug/onewire.o - 0x00000000000000d2 OneWire_ReadByte - .text.OneWire_SkipROM - 0x0000000000000106 0x10 build/default/debug/onewire.o - 0x0000000000000106 OneWire_SkipROM - .text.OneWire_ReadROM - 0x0000000000000116 0x32 build/default/debug/onewire.o - 0x0000000000000116 OneWire_ReadROM - .text.OneWire_CRC8_Update - 0x0000000000000148 0x2c build/default/debug/onewire.o - 0x0000000000000148 OneWire_CRC8_Update - .text.DallasTemp_ReadScratchpad - 0x0000000000000174 0x48 build/default/debug/dstemperature.o - 0x0000000000000174 DallasTemp_ReadScratchpad - .text.DallasTemp_Convert - 0x00000000000001bc 0x14 build/default/debug/dstemperature.o - 0x00000000000001bc DallasTemp_Convert - .text.DallasTemp_GetTemperature - 0x00000000000001d0 0x92 build/default/debug/dstemperature.o - 0x00000000000001d0 DallasTemp_GetTemperature - 0x0000000000000262 . = ALIGN (0x2) - *(.fini9) - .fini9 0x0000000000000262 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - 0x0000000000000262 exit - 0x0000000000000262 _exit - *(.fini9) - *(.fini8) - *(.fini8) - *(.fini7) - *(.fini7) - *(.fini6) - *(.fini6) - *(.fini5) - *(.fini5) - *(.fini4) - *(.fini4) - *(.fini3) - *(.fini3) - *(.fini2) - *(.fini2) - *(.fini1) - *(.fini1) - *(.fini0) - .fini0 0x0000000000000262 0x4 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - *(.fini0) - 0x0000000000000266 _etext = . - -.data 0x0000000000800060 0x0 load address 0x0000000000000266 - [!provide] PROVIDE (__data_start, .) - *(.data) - *(.data*) - *(.gnu.linkonce.d*) - *(.rodata) - *(.rodata*) - *(.gnu.linkonce.r*) - 0x0000000000800060 . = ALIGN (0x2) - 0x0000000000800060 _edata = . - [!provide] PROVIDE (__data_end, .) - -.bss 0x0000000000800060 0x0 - [!provide] PROVIDE (__bss_start, .) - *(.bss) - *(.bss*) - *(COMMON) - [!provide] PROVIDE (__bss_end, .) - 0x0000000000000266 __data_load_start = LOADADDR (.data) - 0x0000000000000266 __data_load_end = (__data_load_start + SIZEOF (.data)) - -.noinit 0x0000000000800060 0x0 - [!provide] PROVIDE (__noinit_start, .) - *(.noinit*) - [!provide] PROVIDE (__noinit_end, .) - 0x0000000000800060 _end = . - [!provide] PROVIDE (__heap_start, .) - -.eeprom 0x0000000000810000 0x0 - *(.eeprom*) - 0x0000000000810000 __eeprom_end = . - -.fuse - *(.fuse) - *(.lfuse) - *(.hfuse) - *(.efuse) - -.lock - *(.lock*) - -.signature - *(.signature*) - -.user_signatures - *(.user_signatures*) - -.stab - *(.stab) - -.stabstr - *(.stabstr) - -.stab.excl - *(.stab.excl) - -.stab.exclstr - *(.stab.exclstr) - -.stab.index - *(.stab.index) - -.stab.indexstr - *(.stab.indexstr) - -.comment 0x0000000000000000 0x30 - *(.comment) - .comment 0x0000000000000000 0x30 build/default/debug/main.o - 0x31 (size before relaxing) - .comment 0x0000000000000030 0x31 build/default/debug/onewire.o - .comment 0x0000000000000030 0x31 build/default/debug/dstemperature.o - -.note.gnu.avr.deviceinfo - 0x0000000000000000 0x3c - .note.gnu.avr.deviceinfo - 0x0000000000000000 0x3c /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - -.note.gnu.build-id - *(.note.gnu.build-id) - -.debug - *(.debug) - -.line - *(.line) - -.debug_srcinfo - *(.debug_srcinfo) - -.debug_sfnames - *(.debug_sfnames) - -.debug_aranges 0x0000000000000000 0xa0 - *(.debug_aranges) - .debug_aranges - 0x0000000000000000 0x28 build/default/debug/main.o - .debug_aranges - 0x0000000000000028 0x48 build/default/debug/onewire.o - .debug_aranges - 0x0000000000000070 0x30 build/default/debug/dstemperature.o - -.debug_pubnames - *(.debug_pubnames) - -.debug_info 0x0000000000000000 0x1002 - *(.debug_info .gnu.linkonce.wi.*) - .debug_info 0x0000000000000000 0x420 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - .debug_info 0x0000000000000420 0x24d build/default/debug/main.o - .debug_info 0x000000000000066d 0x59b build/default/debug/onewire.o - .debug_info 0x0000000000000c08 0x3fa build/default/debug/dstemperature.o - -.debug_abbrev 0x0000000000000000 0x993 - *(.debug_abbrev) - .debug_abbrev 0x0000000000000000 0x3e8 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - .debug_abbrev 0x00000000000003e8 0x152 build/default/debug/main.o - .debug_abbrev 0x000000000000053a 0x238 build/default/debug/onewire.o - .debug_abbrev 0x0000000000000772 0x221 build/default/debug/dstemperature.o - -.debug_line 0x0000000000000000 0x672 - *(.debug_line .debug_line.* .debug_line_end) - .debug_line 0x0000000000000000 0xf2 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - .debug_line 0x00000000000000f2 0xe2 build/default/debug/main.o - .debug_line 0x00000000000001d4 0x30a build/default/debug/onewire.o - .debug_line 0x00000000000004de 0x194 build/default/debug/dstemperature.o - -.debug_frame 0x0000000000000000 0x13c - *(.debug_frame) - .debug_frame 0x0000000000000000 0x44 build/default/debug/main.o - .debug_frame 0x0000000000000044 0x88 build/default/debug/onewire.o - .debug_frame 0x00000000000000cc 0x70 build/default/debug/dstemperature.o - -.debug_str 0x0000000000000000 0x480 - *(.debug_str) - .debug_str 0x0000000000000000 0x169 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - .debug_str 0x0000000000000169 0x1d7 build/default/debug/main.o - 0x218 (size before relaxing) - .debug_str 0x0000000000000340 0xda build/default/debug/onewire.o - 0x278 (size before relaxing) - .debug_str 0x000000000000041a 0x66 build/default/debug/dstemperature.o - 0x2ef (size before relaxing) - -.debug_loc 0x0000000000000000 0x76d - *(.debug_loc) - .debug_loc 0x0000000000000000 0x47 build/default/debug/main.o - .debug_loc 0x0000000000000047 0x57b build/default/debug/onewire.o - .debug_loc 0x00000000000005c2 0x1ab build/default/debug/dstemperature.o - -.debug_macinfo - *(.debug_macinfo) - -.debug_weaknames - *(.debug_weaknames) - -.debug_funcnames - *(.debug_funcnames) - -.debug_typenames - *(.debug_typenames) - -.debug_varnames - *(.debug_varnames) - -.debug_pubtypes - *(.debug_pubtypes) - -.debug_ranges 0x0000000000000000 0x88 - *(.debug_ranges) - .debug_ranges 0x0000000000000000 0x18 build/default/debug/main.o - .debug_ranges 0x0000000000000018 0x50 build/default/debug/onewire.o - .debug_ranges 0x0000000000000068 0x20 build/default/debug/dstemperature.o - -.debug_macro - *(.debug_macro) -OUTPUT(dist/default/debug/attiny45v_thermometer.X.debug.elf elf32-avr) -LOAD linker stubs diff --git a/dist/default/production/attiny45v_thermometer.X.production.elf b/dist/default/production/attiny45v_thermometer.X.production.elf index b58df07..8c7aac4 100755 Binary files a/dist/default/production/attiny45v_thermometer.X.production.elf and b/dist/default/production/attiny45v_thermometer.X.production.elf differ diff --git a/dist/default/production/attiny45v_thermometer.X.production.hex b/dist/default/production/attiny45v_thermometer.X.production.hex index 030282a..fc9fe39 100644 --- a/dist/default/production/attiny45v_thermometer.X.production.hex +++ b/dist/default/production/attiny45v_thermometer.X.production.hex @@ -1,40 +1,65 @@ -:100000000EC015C014C013C012C011C010C00FC064 -:100010000EC00DC00CC00BC00AC009C008C011241E -:100020001FBECFE5D1E0DEBFCDBF06D01AC1E8CFFD -:1000300086E087BB18BA0895CF93DF93CDB7DEB7BC -:1000400063970FB6F894DEBF0FBECDBFF1DFCE01D0 -:10005000099661D0CE010196BBD00000F8CFF8948C -:10006000BC9A8FEB93E00197F1F700C0000087B3D3 -:1000700017BA9AEB9A95F1F700C086B3E3E3F3E081 -:100080003197F1F700C0000078948295817091E07B -:100090008927089598E00EC0BC9A20EA2A95F1F7C6 -:1000A00027B317BA2AE12A95F1F700C0789486950C -:1000B000915071F0F89480FFEFCFBC9A20E12A951F -:1000C000F1F727B317BA2AEA2A95F1F700C0EECF65 -:1000D000089598E080E007C022E92A95F1F700C072 -:1000E0007894915079F0F8948695BC9A20E12A95FD -:1000F000F1F727B317BA28E12A95F1F7B49BECCFB3 -:100100008068EACF0895ABDF811101C008958CECBF -:10011000C1DF81E0FBCF0F931F93CF93DF938C015F -:100120009EDF811105C0DF91CF911F910F9108953E -:1001300083E3B0DFE801085F1F4FCBDF8993C0176F -:10014000D107D9F781E0EFCFFC01680F791F80E07C -:100150002CE80BC08695915029F080FFFBCF869547 -:100160008227F9CFE617F70721F09191892798E0C8 -:10017000F4CF0895EF92FF920F931F93CF93DF93E5 -:100180007C01C1DF8EEB86DFE7018701085F1F4F2F -:10019000A0DF8993C017D107D9F768E070E0C701E5 -:1001A000D3DFC82F96DF91E0C81390E0892FDF914D -:1001B000CF911F910F91FF90EF90089550DF811123 -:1001C00001C008958CEC66DF84E464DF81E0F9CF40 -:1001D000CF93DF93EC01F2DF811103C0DF91CF9168 -:1001E00008952FE78FE492E1215080409040E1F79D -:1001F00000C00000CE01BEDF882381F388814981E1 -:10020000542F482F9A0133234CF135952795359576 -:1002100027953595279535952795398B288B8F70A0 -:10022000282F30E0C901880F991F820F931FAC015E -:10023000440F551F42955295507F5427407F5427B5 -:10024000840F951F820F931F959587959595879598 -:1002500095958795959587958A8BC0CF215F3F4F60 -:06026000D4CFF894FFCF9B +:1000000013C01AC019C018C017C016C015C014C03C +:1000100013C012C011C010C00FC00EC00DC03F06EB +:100020005B4F666D7D077F6F11241FBECFE5D1E06A +:10003000DEBFCDBFB8D0DEC1E3CFC09AC29A8DE09B +:100040008A95F1F70000C0988DE08A95F1F70000DD +:10005000C2980895C298C0988DE08A95F1F7000083 +:10006000C29A8DE08A95F1F70000C09A08952DE0BC +:100070002A95F1F7000098E00DC0C09886952DE014 +:100080002A95F1F70000C29A2DE02A95F1F70000B9 +:10009000915049F0C2982DE02A95F1F7000080FFB9 +:1000A000ECCFC09AEBCFB898C298C09A8DE08A95F1 +:1000B000F1F7000086B3C29A9DE09A95F1F700002F +:1000C000C2982DE02A95F1F70000B89A80958170CA +:1000D0000895CF93C82FB1DF8C2FC9DFBBDFCF913D +:1000E000089597B3A1E0B0E0FD0102C0EE0FFF1F3D +:1000F0008A95E2F702C0AA0FBB1F6A95E2F7EA2BC6 +:100100009E2B97BB88B3E095E823E8BB842F8068DB +:10011000822BDFDF0895CF93DF93C82FD62F80E4A3 +:10012000D8DF8BDF8D2F806CA2DF8C2FA0DF92DFDA +:10013000DF91CF9108950F931F93CF93DF93EC013D +:10014000C83E83E0D80710F0C7EED3E0CE0164E6E6 +:1001500070E03CD1CB010AE010E0B80137D1825EFB +:100160009F4FFC01849160E0D6DFCE01B8012ED113 +:10017000EC01CB01B8012AD1825E9F4FFC01849132 +:1001800061E0C9DFFE01E25EFF4F849162E0C3DF00 +:10019000DF91CF911F910F91089528E041E062E037 +:1001A00080E09FDF0895CF93DF93CDB7DEB76397ED +:1001B0000FB6F894DEBF0FBECDBFEFDFCE010996BC +:1001C0005FD0CE010196B9D089899A89B4DFF9CF81 +:1001D000F894BC9A8FEB93E00197F1F700C0000010 +:1001E000BC989AEB9A95F1F700C086B3E3E3F3E08D +:1001F0003197F1F700C0000078948295817091E00A +:100200008927089598E00DC0BC9A20EA2A95F1F755 +:10021000BC982AE12A95F1F700C078948695915010 +:1002200069F0F89480FFF0CFBC9A20E12A95F1F7AD +:10023000BC982AEA2A95F1F700C0EFCF089598E01C +:1002400080E007C022E92A95F1F700C07894915028 +:1002500071F0F8948695BC9A20E12A95F1F7BC9844 +:1002600028E12A95F1F7B49BEDCF8068EBCF089594 +:10027000AFDF811101C008958CECC4DF81E0FBCFBA +:100280000F931F93CF93DF938C01A2DF811105C0E1 +:10029000DF91CF911F910F91089583E3B3DFE801C0 +:1002A000085F1F4FCCDF8993C017D107D9F781E0D2 +:1002B000EFCFFC01680F791F80E02CE80BC086951A +:1002C000915029F080FFFBCF86958227F9CFE61762 +:1002D000F70721F09191892798E0F4CF0895EF92E4 +:1002E000FF920F931F93CF93DF937C01C1DF8EEBBF +:1002F00089DFE7018701085F1F4FA1DF8993C017DE +:10030000D107D9F768E070E0C701D3DFC82F97DFC6 +:1003100091E0C81390E0892FDF91CF911F910F9149 +:10032000FF90EF90089554DF811101C008958CEC87 +:1003300069DF84E467DF81E0F9CFCF93DF93EC01DD +:10034000F2DF811103C0DF91CF9108952FE78FE491 +:1003500092E1215080409040E1F700C00000CE01C2 +:10036000BEDF882381F388814981542F482F9A0169 +:1003700033234CF135952795359527953595279558 +:1003800035952795398B288B8F70282F30E0C90140 +:10039000880F991F820F931FAC01440F551F429580 +:1003A0005295507F5427407F5427840F951F820F0A +:1003B000931F95958795959587959595879595958F +:1003C00087958A8BC0CF215F3F4FD4CFAA1BBB1B21 +:1003D00051E107C0AA1FBB1FA617B70710F0A61B45 +:1003E000B70B881F991F5A95A9F780959095BC0166 +:0803F000CD010895F894FFCF40 :00000001FF diff --git a/dist/default/production/attiny45v_thermometer.X.production.lss b/dist/default/production/attiny45v_thermometer.X.production.lss new file mode 100644 index 0000000..29bf2a3 --- /dev/null +++ b/dist/default/production/attiny45v_thermometer.X.production.lss @@ -0,0 +1,585 @@ + +dist/default/production/attiny45v_thermometer.X.production.elf: file format elf32-avr + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .text 000003f8 00000000 00000000 00000054 2**1 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .data 00000000 00800060 00800060 0000044c 2**0 + CONTENTS, ALLOC, LOAD, DATA + 2 .comment 00000030 00000000 00000000 0000044c 2**0 + CONTENTS, READONLY + 3 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 0000047c 2**2 + CONTENTS, READONLY + 4 .debug_info 00000420 00000000 00000000 000004b8 2**0 + CONTENTS, READONLY, DEBUGGING + 5 .debug_abbrev 000003e8 00000000 00000000 000008d8 2**0 + CONTENTS, READONLY, DEBUGGING + 6 .debug_line 000000f2 00000000 00000000 00000cc0 2**0 + CONTENTS, READONLY, DEBUGGING + 7 .debug_str 00000169 00000000 00000000 00000db2 2**0 + CONTENTS, READONLY, DEBUGGING + +Disassembly of section .text: + +00000000 <__vectors>: + 0: 13 c0 rjmp .+38 ; 0x28 <__ctors_end> + 2: 1a c0 rjmp .+52 ; 0x38 <__bad_interrupt> + 4: 19 c0 rjmp .+50 ; 0x38 <__bad_interrupt> + 6: 18 c0 rjmp .+48 ; 0x38 <__bad_interrupt> + 8: 17 c0 rjmp .+46 ; 0x38 <__bad_interrupt> + a: 16 c0 rjmp .+44 ; 0x38 <__bad_interrupt> + c: 15 c0 rjmp .+42 ; 0x38 <__bad_interrupt> + e: 14 c0 rjmp .+40 ; 0x38 <__bad_interrupt> + 10: 13 c0 rjmp .+38 ; 0x38 <__bad_interrupt> + 12: 12 c0 rjmp .+36 ; 0x38 <__bad_interrupt> + 14: 11 c0 rjmp .+34 ; 0x38 <__bad_interrupt> + 16: 10 c0 rjmp .+32 ; 0x38 <__bad_interrupt> + 18: 0f c0 rjmp .+30 ; 0x38 <__bad_interrupt> + 1a: 0e c0 rjmp .+28 ; 0x38 <__bad_interrupt> + 1c: 0d c0 rjmp .+26 ; 0x38 <__bad_interrupt> + +0000001e <__trampolines_end>: + 1e: 3f 06 cpc r3, r31 + 20: 5b 4f sbci r21, 0xFB ; 251 + 22: 66 6d ori r22, 0xD6 ; 214 + 24: 7d 07 cpc r23, r29 + 26: 7f 6f ori r23, 0xFF ; 255 + +00000028 <__ctors_end>: + 28: 11 24 eor r1, r1 + 2a: 1f be out 0x3f, r1 ; 63 + 2c: cf e5 ldi r28, 0x5F ; 95 + 2e: d1 e0 ldi r29, 0x01 ; 1 + 30: de bf out 0x3e, r29 ; 62 + 32: cd bf out 0x3d, r28 ; 61 + 34: b8 d0 rcall .+368 ; 0x1a6
+ 36: de c1 rjmp .+956 ; 0x3f4 <_exit> + +00000038 <__bad_interrupt>: + 38: e3 cf rjmp .-58 ; 0x0 <__vectors> + +0000003a : + 3a: c0 9a sbi 0x18, 0 ; 24 + 3c: c2 9a sbi 0x18, 2 ; 24 + 3e: 8d e0 ldi r24, 0x0D ; 13 + 40: 8a 95 dec r24 + 42: f1 f7 brne .-4 ; 0x40 <__SREG__+0x1> + 44: 00 00 nop + 46: c0 98 cbi 0x18, 0 ; 24 + 48: 8d e0 ldi r24, 0x0D ; 13 + 4a: 8a 95 dec r24 + 4c: f1 f7 brne .-4 ; 0x4a <__SREG__+0xb> + 4e: 00 00 nop + 50: c2 98 cbi 0x18, 2 ; 24 + 52: 08 95 ret + +00000054 : + 54: c2 98 cbi 0x18, 2 ; 24 + 56: c0 98 cbi 0x18, 0 ; 24 + 58: 8d e0 ldi r24, 0x0D ; 13 + 5a: 8a 95 dec r24 + 5c: f1 f7 brne .-4 ; 0x5a + 5e: 00 00 nop + 60: c2 9a sbi 0x18, 2 ; 24 + 62: 8d e0 ldi r24, 0x0D ; 13 + 64: 8a 95 dec r24 + 66: f1 f7 brne .-4 ; 0x64 + 68: 00 00 nop + 6a: c0 9a sbi 0x18, 0 ; 24 + 6c: 08 95 ret + +0000006e : + 6e: 2d e0 ldi r18, 0x0D ; 13 + 70: 2a 95 dec r18 + 72: f1 f7 brne .-4 ; 0x70 + 74: 00 00 nop + 76: 98 e0 ldi r25, 0x08 ; 8 + 78: 0d c0 rjmp .+26 ; 0x94 + 7a: c0 98 cbi 0x18, 0 ; 24 + 7c: 86 95 lsr r24 + 7e: 2d e0 ldi r18, 0x0D ; 13 + 80: 2a 95 dec r18 + 82: f1 f7 brne .-4 ; 0x80 + 84: 00 00 nop + 86: c2 9a sbi 0x18, 2 ; 24 + 88: 2d e0 ldi r18, 0x0D ; 13 + 8a: 2a 95 dec r18 + 8c: f1 f7 brne .-4 ; 0x8a + 8e: 00 00 nop + 90: 91 50 subi r25, 0x01 ; 1 + 92: 49 f0 breq .+18 ; 0xa6 + 94: c2 98 cbi 0x18, 2 ; 24 + 96: 2d e0 ldi r18, 0x0D ; 13 + 98: 2a 95 dec r18 + 9a: f1 f7 brne .-4 ; 0x98 + 9c: 00 00 nop + 9e: 80 ff sbrs r24, 0 + a0: ec cf rjmp .-40 ; 0x7a + a2: c0 9a sbi 0x18, 0 ; 24 + a4: eb cf rjmp .-42 ; 0x7c + a6: b8 98 cbi 0x17, 0 ; 23 + a8: c2 98 cbi 0x18, 2 ; 24 + aa: c0 9a sbi 0x18, 0 ; 24 + ac: 8d e0 ldi r24, 0x0D ; 13 + ae: 8a 95 dec r24 + b0: f1 f7 brne .-4 ; 0xae + b2: 00 00 nop + b4: 86 b3 in r24, 0x16 ; 22 + b6: c2 9a sbi 0x18, 2 ; 24 + b8: 9d e0 ldi r25, 0x0D ; 13 + ba: 9a 95 dec r25 + bc: f1 f7 brne .-4 ; 0xba + be: 00 00 nop + c0: c2 98 cbi 0x18, 2 ; 24 + c2: 2d e0 ldi r18, 0x0D ; 13 + c4: 2a 95 dec r18 + c6: f1 f7 brne .-4 ; 0xc4 + c8: 00 00 nop + ca: b8 9a sbi 0x17, 0 ; 23 + cc: 80 95 com r24 + ce: 81 70 andi r24, 0x01 ; 1 + d0: 08 95 ret + +000000d2 : + d2: cf 93 push r28 + d4: c8 2f mov r28, r24 + d6: b1 df rcall .-158 ; 0x3a + d8: 8c 2f mov r24, r28 + da: c9 df rcall .-110 ; 0x6e + dc: bb df rcall .-138 ; 0x54 + de: cf 91 pop r28 + e0: 08 95 ret + +000000e2 : + e2: 97 b3 in r25, 0x17 ; 23 + e4: a1 e0 ldi r26, 0x01 ; 1 + e6: b0 e0 ldi r27, 0x00 ; 0 + e8: fd 01 movw r30, r26 + ea: 02 c0 rjmp .+4 ; 0xf0 + ec: ee 0f add r30, r30 + ee: ff 1f adc r31, r31 + f0: 8a 95 dec r24 + f2: e2 f7 brpl .-8 ; 0xec + f4: 02 c0 rjmp .+4 ; 0xfa + f6: aa 0f add r26, r26 + f8: bb 1f adc r27, r27 + fa: 6a 95 dec r22 + fc: e2 f7 brpl .-8 ; 0xf6 + fe: ea 2b or r30, r26 + 100: 9e 2b or r25, r30 + 102: 97 bb out 0x17, r25 ; 23 + 104: 88 b3 in r24, 0x18 ; 24 + 106: e0 95 com r30 + 108: e8 23 and r30, r24 + 10a: e8 bb out 0x18, r30 ; 24 + 10c: 84 2f mov r24, r20 + 10e: 80 68 ori r24, 0x80 ; 128 + 110: 82 2b or r24, r18 + 112: df df rcall .-66 ; 0xd2 + 114: 08 95 ret + +00000116 : + 116: cf 93 push r28 + 118: df 93 push r29 + 11a: c8 2f mov r28, r24 + 11c: d6 2f mov r29, r22 + 11e: 80 e4 ldi r24, 0x40 ; 64 + 120: d8 df rcall .-80 ; 0xd2 + 122: 8b df rcall .-234 ; 0x3a + 124: 8d 2f mov r24, r29 + 126: 80 6c ori r24, 0xC0 ; 192 + 128: a2 df rcall .-188 ; 0x6e + 12a: 8c 2f mov r24, r28 + 12c: a0 df rcall .-192 ; 0x6e + 12e: 92 df rcall .-220 ; 0x54 + 130: df 91 pop r29 + 132: cf 91 pop r28 + 134: 08 95 ret + +00000136 : + 136: 0f 93 push r16 + 138: 1f 93 push r17 + 13a: cf 93 push r28 + 13c: df 93 push r29 + 13e: ec 01 movw r28, r24 + 140: c8 3e cpi r28, 0xE8 ; 232 + 142: 83 e0 ldi r24, 0x03 ; 3 + 144: d8 07 cpc r29, r24 + 146: 10 f0 brcs .+4 ; 0x14c + 148: c7 ee ldi r28, 0xE7 ; 231 + 14a: d3 e0 ldi r29, 0x03 ; 3 + 14c: ce 01 movw r24, r28 + 14e: 64 e6 ldi r22, 0x64 ; 100 + 150: 70 e0 ldi r23, 0x00 ; 0 + 152: 3c d1 rcall .+632 ; 0x3cc <__udivmodhi4> + 154: cb 01 movw r24, r22 + 156: 0a e0 ldi r16, 0x0A ; 10 + 158: 10 e0 ldi r17, 0x00 ; 0 + 15a: b8 01 movw r22, r16 + 15c: 37 d1 rcall .+622 ; 0x3cc <__udivmodhi4> + 15e: 82 5e subi r24, 0xE2 ; 226 + 160: 9f 4f sbci r25, 0xFF ; 255 + 162: fc 01 movw r30, r24 + 164: 84 91 lpm r24, Z + 166: 60 e0 ldi r22, 0x00 ; 0 + 168: d6 df rcall .-84 ; 0x116 + 16a: ce 01 movw r24, r28 + 16c: b8 01 movw r22, r16 + 16e: 2e d1 rcall .+604 ; 0x3cc <__udivmodhi4> + 170: ec 01 movw r28, r24 + 172: cb 01 movw r24, r22 + 174: b8 01 movw r22, r16 + 176: 2a d1 rcall .+596 ; 0x3cc <__udivmodhi4> + 178: 82 5e subi r24, 0xE2 ; 226 + 17a: 9f 4f sbci r25, 0xFF ; 255 + 17c: fc 01 movw r30, r24 + 17e: 84 91 lpm r24, Z + 180: 61 e0 ldi r22, 0x01 ; 1 + 182: c9 df rcall .-110 ; 0x116 + 184: fe 01 movw r30, r28 + 186: e2 5e subi r30, 0xE2 ; 226 + 188: ff 4f sbci r31, 0xFF ; 255 + 18a: 84 91 lpm r24, Z + 18c: 62 e0 ldi r22, 0x02 ; 2 + 18e: c3 df rcall .-122 ; 0x116 + 190: df 91 pop r29 + 192: cf 91 pop r28 + 194: 1f 91 pop r17 + 196: 0f 91 pop r16 + 198: 08 95 ret + +0000019a : + 19a: 28 e0 ldi r18, 0x08 ; 8 + 19c: 41 e0 ldi r20, 0x01 ; 1 + 19e: 62 e0 ldi r22, 0x02 ; 2 + 1a0: 80 e0 ldi r24, 0x00 ; 0 + 1a2: 9f df rcall .-194 ; 0xe2 + 1a4: 08 95 ret + +000001a6
: + 1a6: cf 93 push r28 + 1a8: df 93 push r29 + 1aa: cd b7 in r28, 0x3d ; 61 + 1ac: de b7 in r29, 0x3e ; 62 + 1ae: 63 97 sbiw r28, 0x13 ; 19 + 1b0: 0f b6 in r0, 0x3f ; 63 + 1b2: f8 94 cli + 1b4: de bf out 0x3e, r29 ; 62 + 1b6: 0f be out 0x3f, r0 ; 63 + 1b8: cd bf out 0x3d, r28 ; 61 + 1ba: ef df rcall .-34 ; 0x19a + 1bc: ce 01 movw r24, r28 + 1be: 09 96 adiw r24, 0x09 ; 9 + 1c0: 5f d0 rcall .+190 ; 0x280 + 1c2: ce 01 movw r24, r28 + 1c4: 01 96 adiw r24, 0x01 ; 1 + 1c6: b9 d0 rcall .+370 ; 0x33a + 1c8: 89 89 ldd r24, Y+17 ; 0x11 + 1ca: 9a 89 ldd r25, Y+18 ; 0x12 + 1cc: b4 df rcall .-152 ; 0x136 + 1ce: f9 cf rjmp .-14 ; 0x1c2 + +000001d0 : + 1d0: f8 94 cli + 1d2: bc 9a sbi 0x17, 4 ; 23 + 1d4: 8f eb ldi r24, 0xBF ; 191 + 1d6: 93 e0 ldi r25, 0x03 ; 3 + 1d8: 01 97 sbiw r24, 0x01 ; 1 + 1da: f1 f7 brne .-4 ; 0x1d8 + 1dc: 00 c0 rjmp .+0 ; 0x1de + 1de: 00 00 nop + 1e0: bc 98 cbi 0x17, 4 ; 23 + 1e2: 9a eb ldi r25, 0xBA ; 186 + 1e4: 9a 95 dec r25 + 1e6: f1 f7 brne .-4 ; 0x1e4 + 1e8: 00 c0 rjmp .+0 ; 0x1ea + 1ea: 86 b3 in r24, 0x16 ; 22 + 1ec: e3 e3 ldi r30, 0x33 ; 51 + 1ee: f3 e0 ldi r31, 0x03 ; 3 + 1f0: 31 97 sbiw r30, 0x01 ; 1 + 1f2: f1 f7 brne .-4 ; 0x1f0 + 1f4: 00 c0 rjmp .+0 ; 0x1f6 + 1f6: 00 00 nop + 1f8: 78 94 sei + 1fa: 82 95 swap r24 + 1fc: 81 70 andi r24, 0x01 ; 1 + 1fe: 91 e0 ldi r25, 0x01 ; 1 + 200: 89 27 eor r24, r25 + 202: 08 95 ret + +00000204 : + 204: 98 e0 ldi r25, 0x08 ; 8 + 206: 0d c0 rjmp .+26 ; 0x222 + 208: bc 9a sbi 0x17, 4 ; 23 + 20a: 20 ea ldi r18, 0xA0 ; 160 + 20c: 2a 95 dec r18 + 20e: f1 f7 brne .-4 ; 0x20c + 210: bc 98 cbi 0x17, 4 ; 23 + 212: 2a e1 ldi r18, 0x1A ; 26 + 214: 2a 95 dec r18 + 216: f1 f7 brne .-4 ; 0x214 + 218: 00 c0 rjmp .+0 ; 0x21a + 21a: 78 94 sei + 21c: 86 95 lsr r24 + 21e: 91 50 subi r25, 0x01 ; 1 + 220: 69 f0 breq .+26 ; 0x23c + 222: f8 94 cli + 224: 80 ff sbrs r24, 0 + 226: f0 cf rjmp .-32 ; 0x208 + 228: bc 9a sbi 0x17, 4 ; 23 + 22a: 20 e1 ldi r18, 0x10 ; 16 + 22c: 2a 95 dec r18 + 22e: f1 f7 brne .-4 ; 0x22c + 230: bc 98 cbi 0x17, 4 ; 23 + 232: 2a ea ldi r18, 0xAA ; 170 + 234: 2a 95 dec r18 + 236: f1 f7 brne .-4 ; 0x234 + 238: 00 c0 rjmp .+0 ; 0x23a + 23a: ef cf rjmp .-34 ; 0x21a + 23c: 08 95 ret + +0000023e : + 23e: 98 e0 ldi r25, 0x08 ; 8 + 240: 80 e0 ldi r24, 0x00 ; 0 + 242: 07 c0 rjmp .+14 ; 0x252 + 244: 22 e9 ldi r18, 0x92 ; 146 + 246: 2a 95 dec r18 + 248: f1 f7 brne .-4 ; 0x246 + 24a: 00 c0 rjmp .+0 ; 0x24c + 24c: 78 94 sei + 24e: 91 50 subi r25, 0x01 ; 1 + 250: 71 f0 breq .+28 ; 0x26e + 252: f8 94 cli + 254: 86 95 lsr r24 + 256: bc 9a sbi 0x17, 4 ; 23 + 258: 20 e1 ldi r18, 0x10 ; 16 + 25a: 2a 95 dec r18 + 25c: f1 f7 brne .-4 ; 0x25a + 25e: bc 98 cbi 0x17, 4 ; 23 + 260: 28 e1 ldi r18, 0x18 ; 24 + 262: 2a 95 dec r18 + 264: f1 f7 brne .-4 ; 0x262 + 266: b4 9b sbis 0x16, 4 ; 22 + 268: ed cf rjmp .-38 ; 0x244 + 26a: 80 68 ori r24, 0x80 ; 128 + 26c: eb cf rjmp .-42 ; 0x244 + 26e: 08 95 ret + +00000270 : + 270: af df rcall .-162 ; 0x1d0 + 272: 81 11 cpse r24, r1 + 274: 01 c0 rjmp .+2 ; 0x278 + 276: 08 95 ret + 278: 8c ec ldi r24, 0xCC ; 204 + 27a: c4 df rcall .-120 ; 0x204 + 27c: 81 e0 ldi r24, 0x01 ; 1 + 27e: fb cf rjmp .-10 ; 0x276 + +00000280 : + 280: 0f 93 push r16 + 282: 1f 93 push r17 + 284: cf 93 push r28 + 286: df 93 push r29 + 288: 8c 01 movw r16, r24 + 28a: a2 df rcall .-188 ; 0x1d0 + 28c: 81 11 cpse r24, r1 + 28e: 05 c0 rjmp .+10 ; 0x29a + 290: df 91 pop r29 + 292: cf 91 pop r28 + 294: 1f 91 pop r17 + 296: 0f 91 pop r16 + 298: 08 95 ret + 29a: 83 e3 ldi r24, 0x33 ; 51 + 29c: b3 df rcall .-154 ; 0x204 + 29e: e8 01 movw r28, r16 + 2a0: 08 5f subi r16, 0xF8 ; 248 + 2a2: 1f 4f sbci r17, 0xFF ; 255 + 2a4: cc df rcall .-104 ; 0x23e + 2a6: 89 93 st Y+, r24 + 2a8: c0 17 cp r28, r16 + 2aa: d1 07 cpc r29, r17 + 2ac: d9 f7 brne .-10 ; 0x2a4 + 2ae: 81 e0 ldi r24, 0x01 ; 1 + 2b0: ef cf rjmp .-34 ; 0x290 + +000002b2 : + 2b2: fc 01 movw r30, r24 + 2b4: 68 0f add r22, r24 + 2b6: 79 1f adc r23, r25 + 2b8: 80 e0 ldi r24, 0x00 ; 0 + 2ba: 2c e8 ldi r18, 0x8C ; 140 + 2bc: 0b c0 rjmp .+22 ; 0x2d4 + 2be: 86 95 lsr r24 + 2c0: 91 50 subi r25, 0x01 ; 1 + 2c2: 29 f0 breq .+10 ; 0x2ce + 2c4: 80 ff sbrs r24, 0 + 2c6: fb cf rjmp .-10 ; 0x2be + 2c8: 86 95 lsr r24 + 2ca: 82 27 eor r24, r18 + 2cc: f9 cf rjmp .-14 ; 0x2c0 + 2ce: e6 17 cp r30, r22 + 2d0: f7 07 cpc r31, r23 + 2d2: 21 f0 breq .+8 ; 0x2dc + 2d4: 91 91 ld r25, Z+ + 2d6: 89 27 eor r24, r25 + 2d8: 98 e0 ldi r25, 0x08 ; 8 + 2da: f4 cf rjmp .-24 ; 0x2c4 + 2dc: 08 95 ret + +000002de : + 2de: ef 92 push r14 + 2e0: ff 92 push r15 + 2e2: 0f 93 push r16 + 2e4: 1f 93 push r17 + 2e6: cf 93 push r28 + 2e8: df 93 push r29 + 2ea: 7c 01 movw r14, r24 + 2ec: c1 df rcall .-126 ; 0x270 + 2ee: 8e eb ldi r24, 0xBE ; 190 + 2f0: 89 df rcall .-238 ; 0x204 + 2f2: e7 01 movw r28, r14 + 2f4: 87 01 movw r16, r14 + 2f6: 08 5f subi r16, 0xF8 ; 248 + 2f8: 1f 4f sbci r17, 0xFF ; 255 + 2fa: a1 df rcall .-190 ; 0x23e + 2fc: 89 93 st Y+, r24 + 2fe: c0 17 cp r28, r16 + 300: d1 07 cpc r29, r17 + 302: d9 f7 brne .-10 ; 0x2fa + 304: 68 e0 ldi r22, 0x08 ; 8 + 306: 70 e0 ldi r23, 0x00 ; 0 + 308: c7 01 movw r24, r14 + 30a: d3 df rcall .-90 ; 0x2b2 + 30c: c8 2f mov r28, r24 + 30e: 97 df rcall .-210 ; 0x23e + 310: 91 e0 ldi r25, 0x01 ; 1 + 312: c8 13 cpse r28, r24 + 314: 90 e0 ldi r25, 0x00 ; 0 + 316: 89 2f mov r24, r25 + 318: df 91 pop r29 + 31a: cf 91 pop r28 + 31c: 1f 91 pop r17 + 31e: 0f 91 pop r16 + 320: ff 90 pop r15 + 322: ef 90 pop r14 + 324: 08 95 ret + +00000326 : + 326: 54 df rcall .-344 ; 0x1d0 + 328: 81 11 cpse r24, r1 + 32a: 01 c0 rjmp .+2 ; 0x32e + 32c: 08 95 ret + 32e: 8c ec ldi r24, 0xCC ; 204 + 330: 69 df rcall .-302 ; 0x204 + 332: 84 e4 ldi r24, 0x44 ; 68 + 334: 67 df rcall .-306 ; 0x204 + 336: 81 e0 ldi r24, 0x01 ; 1 + 338: f9 cf rjmp .-14 ; 0x32c + +0000033a : + 33a: cf 93 push r28 + 33c: df 93 push r29 + 33e: ec 01 movw r28, r24 + 340: f2 df rcall .-28 ; 0x326 + 342: 81 11 cpse r24, r1 + 344: 03 c0 rjmp .+6 ; 0x34c + 346: df 91 pop r29 + 348: cf 91 pop r28 + 34a: 08 95 ret + 34c: 2f e7 ldi r18, 0x7F ; 127 + 34e: 8f e4 ldi r24, 0x4F ; 79 + 350: 92 e1 ldi r25, 0x12 ; 18 + 352: 21 50 subi r18, 0x01 ; 1 + 354: 80 40 sbci r24, 0x00 ; 0 + 356: 90 40 sbci r25, 0x00 ; 0 + 358: e1 f7 brne .-8 ; 0x352 + 35a: 00 c0 rjmp .+0 ; 0x35c + 35c: 00 00 nop + 35e: ce 01 movw r24, r28 + 360: be df rcall .-132 ; 0x2de + 362: 88 23 and r24, r24 + 364: 81 f3 breq .-32 ; 0x346 + 366: 88 81 ld r24, Y + 368: 49 81 ldd r20, Y+1 ; 0x01 + 36a: 54 2f mov r21, r20 + 36c: 48 2f mov r20, r24 + 36e: 9a 01 movw r18, r20 + 370: 33 23 and r19, r19 + 372: 4c f1 brlt .+82 ; 0x3c6 + 374: 35 95 asr r19 + 376: 27 95 ror r18 + 378: 35 95 asr r19 + 37a: 27 95 ror r18 + 37c: 35 95 asr r19 + 37e: 27 95 ror r18 + 380: 35 95 asr r19 + 382: 27 95 ror r18 + 384: 39 8b std Y+17, r19 ; 0x11 + 386: 28 8b std Y+16, r18 ; 0x10 + 388: 8f 70 andi r24, 0x0F ; 15 + 38a: 28 2f mov r18, r24 + 38c: 30 e0 ldi r19, 0x00 ; 0 + 38e: c9 01 movw r24, r18 + 390: 88 0f add r24, r24 + 392: 99 1f adc r25, r25 + 394: 82 0f add r24, r18 + 396: 93 1f adc r25, r19 + 398: ac 01 movw r20, r24 + 39a: 44 0f add r20, r20 + 39c: 55 1f adc r21, r21 + 39e: 42 95 swap r20 + 3a0: 52 95 swap r21 + 3a2: 50 7f andi r21, 0xF0 ; 240 + 3a4: 54 27 eor r21, r20 + 3a6: 40 7f andi r20, 0xF0 ; 240 + 3a8: 54 27 eor r21, r20 + 3aa: 84 0f add r24, r20 + 3ac: 95 1f adc r25, r21 + 3ae: 82 0f add r24, r18 + 3b0: 93 1f adc r25, r19 + 3b2: 95 95 asr r25 + 3b4: 87 95 ror r24 + 3b6: 95 95 asr r25 + 3b8: 87 95 ror r24 + 3ba: 95 95 asr r25 + 3bc: 87 95 ror r24 + 3be: 95 95 asr r25 + 3c0: 87 95 ror r24 + 3c2: 8a 8b std Y+18, r24 ; 0x12 + 3c4: c0 cf rjmp .-128 ; 0x346 + 3c6: 21 5f subi r18, 0xF1 ; 241 + 3c8: 3f 4f sbci r19, 0xFF ; 255 + 3ca: d4 cf rjmp .-88 ; 0x374 + +000003cc <__udivmodhi4>: + 3cc: aa 1b sub r26, r26 + 3ce: bb 1b sub r27, r27 + 3d0: 51 e1 ldi r21, 0x11 ; 17 + 3d2: 07 c0 rjmp .+14 ; 0x3e2 <__udivmodhi4_ep> + +000003d4 <__udivmodhi4_loop>: + 3d4: aa 1f adc r26, r26 + 3d6: bb 1f adc r27, r27 + 3d8: a6 17 cp r26, r22 + 3da: b7 07 cpc r27, r23 + 3dc: 10 f0 brcs .+4 ; 0x3e2 <__udivmodhi4_ep> + 3de: a6 1b sub r26, r22 + 3e0: b7 0b sbc r27, r23 + +000003e2 <__udivmodhi4_ep>: + 3e2: 88 1f adc r24, r24 + 3e4: 99 1f adc r25, r25 + 3e6: 5a 95 dec r21 + 3e8: a9 f7 brne .-22 ; 0x3d4 <__udivmodhi4_loop> + 3ea: 80 95 com r24 + 3ec: 90 95 com r25 + 3ee: bc 01 movw r22, r24 + 3f0: cd 01 movw r24, r26 + 3f2: 08 95 ret + +000003f4 <_exit>: + 3f4: f8 94 cli + +000003f6 <__stop_program>: + 3f6: ff cf rjmp .-2 ; 0x3f6 <__stop_program> diff --git a/dist/default/production/attiny45v_thermometer.X.production.map b/dist/default/production/attiny45v_thermometer.X.production.map index 56fbac0..ef55fe2 100644 --- a/dist/default/production/attiny45v_thermometer.X.production.map +++ b/dist/default/production/attiny45v_thermometer.X.production.map @@ -1,5 +1,7 @@ Archive member included to satisfy reference by file (symbol) +/opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_udivmodhi4.o) + build/default/production/main.o (__udivmodhi4) /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o (exit) @@ -16,6 +18,20 @@ Discarded input sections .text 0x0000000000000000 0x0 build/default/production/dstemperature.o .data 0x0000000000000000 0x0 build/default/production/dstemperature.o .bss 0x0000000000000000 0x0 build/default/production/dstemperature.o + .text 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_udivmodhi4.o) + .data 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_udivmodhi4.o) + .bss 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_udivmodhi4.o) + .text.libgcc.mul + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_udivmodhi4.o) + .text.libgcc 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_udivmodhi4.o) + .text.libgcc.prologue + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_udivmodhi4.o) + .text.libgcc.builtins + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_udivmodhi4.o) + .text.libgcc.fmul + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_udivmodhi4.o) + .text.libgcc.fixed + 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_udivmodhi4.o) .text 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) .data 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) .bss 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) @@ -161,7 +177,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x0000000000000000 0x266 +.text 0x0000000000000000 0x3f8 *(.vectors) .vectors 0x0000000000000000 0x1e /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o 0x0000000000000000 __vectors @@ -177,27 +193,29 @@ END GROUP *libprintf_flt.a:*(.progmem.data) *libc.a:*(.progmem.data) *(.progmem*) - 0x000000000000001e . = ALIGN (0x2) + .progmem.data.display_symbols + 0x000000000000001e 0xa build/default/production/main.o + 0x0000000000000028 . = ALIGN (0x2) *(.jumptables) *(.jumptables*) *(.lowtext) *(.lowtext*) - 0x000000000000001e __ctors_start = . + 0x0000000000000028 __ctors_start = . *(.ctors) - 0x000000000000001e __ctors_end = . - 0x000000000000001e __dtors_start = . + 0x0000000000000028 __ctors_end = . + 0x0000000000000028 __dtors_start = . *(.dtors) - 0x000000000000001e __dtors_end = . + 0x0000000000000028 __dtors_end = . SORT(*)(.ctors) SORT(*)(.dtors) *(.init0) - .init0 0x000000000000001e 0x0 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - 0x000000000000001e __init + .init0 0x0000000000000028 0x0 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + 0x0000000000000028 __init *(.init0) *(.init1) *(.init1) *(.init2) - .init2 0x000000000000001e 0xc /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + .init2 0x0000000000000028 0xc /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o *(.init2) *(.init3) *(.init3) @@ -212,64 +230,88 @@ END GROUP *(.init8) *(.init8) *(.init9) - .init9 0x000000000000002a 0x4 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + .init9 0x0000000000000034 0x4 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o *(.init9) *(.text) - .text 0x000000000000002e 0x2 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o - 0x000000000000002e __vector_1 - 0x000000000000002e __vector_12 - 0x000000000000002e __bad_interrupt - 0x000000000000002e __vector_6 - 0x000000000000002e __vector_3 - 0x000000000000002e __vector_11 - 0x000000000000002e __vector_13 - 0x000000000000002e __vector_7 - 0x000000000000002e __vector_5 - 0x000000000000002e __vector_4 - 0x000000000000002e __vector_9 - 0x000000000000002e __vector_2 - 0x000000000000002e __vector_8 - 0x000000000000002e __vector_14 - 0x000000000000002e __vector_10 - 0x0000000000000030 . = ALIGN (0x2) + .text 0x0000000000000038 0x2 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o + 0x0000000000000038 __vector_1 + 0x0000000000000038 __vector_12 + 0x0000000000000038 __bad_interrupt + 0x0000000000000038 __vector_6 + 0x0000000000000038 __vector_3 + 0x0000000000000038 __vector_11 + 0x0000000000000038 __vector_13 + 0x0000000000000038 __vector_7 + 0x0000000000000038 __vector_5 + 0x0000000000000038 __vector_4 + 0x0000000000000038 __vector_9 + 0x0000000000000038 __vector_2 + 0x0000000000000038 __vector_8 + 0x0000000000000038 __vector_14 + 0x0000000000000038 __vector_10 + 0x000000000000003a . = ALIGN (0x2) *(.text.*) + .text.TWI_Start + 0x000000000000003a 0x1a build/default/production/main.o + 0x000000000000003a TWI_Start + .text.TWI_Stop + 0x0000000000000054 0x1a build/default/production/main.o + 0x0000000000000054 TWI_Stop + .text.TWI_WriteByte + 0x000000000000006e 0x64 build/default/production/main.o + 0x000000000000006e TWI_WriteByte + .text.TM1637_WriteByte + 0x00000000000000d2 0x10 build/default/production/main.o + 0x00000000000000d2 TM1637_WriteByte + .text.TM1637_Init + 0x00000000000000e2 0x34 build/default/production/main.o + 0x00000000000000e2 TM1637_Init + .text.TM1637_DisplaySymbol + 0x0000000000000116 0x20 build/default/production/main.o + 0x0000000000000116 TM1637_DisplaySymbol + .text.TM1637_DisplayUInt + 0x0000000000000136 0x64 build/default/production/main.o + 0x0000000000000136 TM1637_DisplayUInt .text.MCU_Init - 0x0000000000000030 0x8 build/default/production/main.o - 0x0000000000000030 MCU_Init - .text.main 0x0000000000000038 0x26 build/default/production/main.o - 0x0000000000000038 main + 0x000000000000019a 0xc build/default/production/main.o + 0x000000000000019a MCU_Init + .text.main 0x00000000000001a6 0x2a build/default/production/main.o + 0x00000000000001a6 main .text.OneWire_Presence - 0x000000000000005e 0x36 build/default/production/onewire.o - 0x000000000000005e OneWire_Presence + 0x00000000000001d0 0x34 build/default/production/onewire.o + 0x00000000000001d0 OneWire_Presence .text.OneWire_WriteByte - 0x0000000000000094 0x3e build/default/production/onewire.o - 0x0000000000000094 OneWire_WriteByte + 0x0000000000000204 0x3a build/default/production/onewire.o + 0x0000000000000204 OneWire_WriteByte .text.OneWire_ReadByte - 0x00000000000000d2 0x34 build/default/production/onewire.o - 0x00000000000000d2 OneWire_ReadByte + 0x000000000000023e 0x32 build/default/production/onewire.o + 0x000000000000023e OneWire_ReadByte .text.OneWire_SkipROM - 0x0000000000000106 0x10 build/default/production/onewire.o - 0x0000000000000106 OneWire_SkipROM + 0x0000000000000270 0x10 build/default/production/onewire.o + 0x0000000000000270 OneWire_SkipROM .text.OneWire_ReadROM - 0x0000000000000116 0x32 build/default/production/onewire.o - 0x0000000000000116 OneWire_ReadROM + 0x0000000000000280 0x32 build/default/production/onewire.o + 0x0000000000000280 OneWire_ReadROM .text.OneWire_CRC8_Update - 0x0000000000000148 0x2c build/default/production/onewire.o - 0x0000000000000148 OneWire_CRC8_Update + 0x00000000000002b2 0x2c build/default/production/onewire.o + 0x00000000000002b2 OneWire_CRC8_Update .text.DallasTemp_ReadScratchpad - 0x0000000000000174 0x48 build/default/production/dstemperature.o - 0x0000000000000174 DallasTemp_ReadScratchpad + 0x00000000000002de 0x48 build/default/production/dstemperature.o + 0x00000000000002de DallasTemp_ReadScratchpad .text.DallasTemp_Convert - 0x00000000000001bc 0x14 build/default/production/dstemperature.o - 0x00000000000001bc DallasTemp_Convert + 0x0000000000000326 0x14 build/default/production/dstemperature.o + 0x0000000000000326 DallasTemp_Convert .text.DallasTemp_GetTemperature - 0x00000000000001d0 0x92 build/default/production/dstemperature.o - 0x00000000000001d0 DallasTemp_GetTemperature - 0x0000000000000262 . = ALIGN (0x2) + 0x000000000000033a 0x92 build/default/production/dstemperature.o + 0x000000000000033a DallasTemp_GetTemperature + .text.libgcc.div + 0x00000000000003cc 0x28 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_udivmodhi4.o) + 0x00000000000003cc __udivmodhi4 + 0x00000000000003f4 . = ALIGN (0x2) *(.fini9) - .fini9 0x0000000000000262 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) - 0x0000000000000262 exit - 0x0000000000000262 _exit + .fini9 0x00000000000003f4 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + 0x00000000000003f4 exit + 0x00000000000003f4 _exit *(.fini9) *(.fini8) *(.fini8) @@ -288,11 +330,11 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x0000000000000262 0x4 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) + .fini0 0x00000000000003f4 0x4 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) *(.fini0) - 0x0000000000000266 _etext = . + 0x00000000000003f8 _etext = . -.data 0x0000000000800060 0x0 load address 0x0000000000000266 +.data 0x0000000000800060 0x0 load address 0x00000000000003f8 [!provide] PROVIDE (__data_start, .) *(.data) *(.data*) @@ -310,8 +352,8 @@ END GROUP *(.bss*) *(COMMON) [!provide] PROVIDE (__bss_end, .) - 0x0000000000000266 __data_load_start = LOADADDR (.data) - 0x0000000000000266 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00000000000003f8 __data_load_start = LOADADDR (.data) + 0x00000000000003f8 __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x0000000000800060 0x0 [!provide] PROVIDE (__noinit_start, .) diff --git a/main.c b/main.c index 0254160..0856306 100644 --- a/main.c +++ b/main.c @@ -1,20 +1,155 @@ #include #include +#include #include #include "onewire.h" #include "dstemperature.h" -#define DDR_USI DDRB -#define PORT_USI PORTB -#define PIN_USI PINB -#define PORT_USI_SDA PB0 -#define PORT_USI_SCL PB2 -#define PIN_USI_SDA PINB0 -#define PIN_USI_SCL PINB2 +#define DDR_TWI DDRB +#define PORT_TWI PORTB +#define PIN_TWI PINB +#define PORT_TWI_DIO PB0 +#define PORT_TWI_CLK PB2 +#define PIN_TWI_DIO PINB0 +#define PIN_TWI_CLK PINB2 +#define TWI_DELAY 5 // uS + +#define TM1637_DIGITS_COUNT 3 + +#define TM1637_DATA_CMD 0x40 // Data command setting +#define TM1637_DISP_CMD 0x80 // Display and control command setting +#define TM1637_ADDR_CMD 0xc0 // Address command setting + +/** + * Data write and read mode settings + */ +#define TM1637_WR_DATA 0x00 // Write data to display register +#define TM1637_RD_SCAN_DATA 0x02 // Read key scan data + +/** + * Address adding mode setting + */ +#define TM1637_ADDR_AUTO 0x00 // Automatic address adding +#define TM1637_ADDR_FIXED 0x04 // Fix address + +/** + * Test mode setting (for internal) + */ +#define TM1637_MODE_NORMAL 0x00 // Normal mode +#define TM1637_MODE_TEST 0x08 // Test mode + +#define TM1637_DISP_OFF 0x00 // Display off +#define TM1637_DISP_ON 0x08 // Display on + +#define dio_high() (PORT_TWI |= (_BV(PORT_TWI_DIO))) +#define dio_low() (PORT_TWI &= (~_BV(PORT_TWI_DIO))) +#define dio_input() (DDR_TWI &= (~_BV(PORT_TWI_DIO))) +#define dio_output() (DDR_TWI |= (_BV(PORT_TWI_DIO))) +#define clk_high() (PORT_TWI |= (_BV(PORT_TWI_CLK))) +#define clk_low() (PORT_TWI &= (~_BV(PORT_TWI_CLK))) + +static const uint8_t display_symbols[] PROGMEM = +{ + 0x3F, // 0 + 0x06, // 1 + 0x5B, // 2 + 0x4F, // 3 + 0x66, // 4 + 0x6D, // 5 + 0x7D, // 6 + 0x07, // 7 + 0x7F, // 8 + 0x6F // 9 +}; + +void TWI_Start(void) { + dio_high(); + clk_high(); + _delay_us(TWI_DELAY); + dio_low(); + _delay_us(TWI_DELAY); + clk_low(); +} + +void TWI_Stop(void) { + clk_low(); + dio_low(); + _delay_us(TWI_DELAY); + clk_high(); + _delay_us(TWI_DELAY); + dio_high(); +} + +uint8_t TWI_WriteByte(uint8_t byte) { + uint8_t i = 8; + uint8_t ack = 0; + + _delay_us(TWI_DELAY); + + do { + clk_low(); + _delay_us(TWI_DELAY); + byte & 0x01 ? dio_high() : dio_low(); + byte >>= 1; + _delay_us(TWI_DELAY); + clk_high(); + _delay_us(TWI_DELAY); + } while (--i); + + dio_input(); + clk_low(); + dio_high(); + + _delay_us(TWI_DELAY); + ack = bit_is_clear(PIN_TWI, PIN_TWI_DIO); + + clk_high(); + _delay_us(TWI_DELAY); + clk_low(); + _delay_us(TWI_DELAY); + dio_output(); + + return ack; +} + +void TM1637_WriteByte(uint8_t data) { + TWI_Start(); + TWI_WriteByte(data); + TWI_Stop(); +} + +void TM1637_Init(uint8_t DIO_PIN, uint8_t CLK_PIN, uint8_t brightness, uint8_t enabled) { + DDR_TWI |= _BV(DIO_PIN) | _BV(CLK_PIN); + PORT_TWI &= ~(_BV(DIO_PIN) | _BV(CLK_PIN)); + TM1637_WriteByte(TM1637_DISP_CMD | (enabled | brightness)); +} + +void TM1637_DisplaySymbol(uint8_t symbol, uint8_t pos) { + TM1637_WriteByte(TM1637_DATA_CMD); + TWI_Start(); + TWI_WriteByte(TM1637_ADDR_CMD | pos); + TWI_WriteByte(symbol); + TWI_Stop(); +} + +void TM1637_DisplayUInt(uint16_t num) { + uint16_t tmp = num > 999 ? 999 : num; + uint8_t digits[TM1637_DIGITS_COUNT]; + uint8_t i = TM1637_DIGITS_COUNT; + + do { + digits[i - 1] = tmp % 10; + tmp /= 10; + } while (--i); + + + TM1637_DisplaySymbol(pgm_read_byte_near(&display_symbols[digits[0]]), 0); + TM1637_DisplaySymbol(pgm_read_byte_near(&display_symbols[digits[1]]), 1); + TM1637_DisplaySymbol(pgm_read_byte_near(&display_symbols[digits[2]]), 2); +} void MCU_Init(void) { - DDRB = _BV(PB1) | _BV(PB2); - PORTB = 0x00; + TM1637_Init(PORT_TWI_DIO, PORT_TWI_CLK, 1, TM1637_DISP_ON); } int main(void) { @@ -22,10 +157,11 @@ int main(void) { DallasSensor Sensor_01; + OneWire_ReadROM(Sensor_01.ROM); + while (1) { - OneWire_ReadROM(Sensor_01.ROM); DallasTemp_GetTemperature(&Sensor_01); - asm("nop"); + TM1637_DisplayUInt(Sensor_01.TEMPERATURE); } return 0; } \ No newline at end of file diff --git a/nbproject/Makefile-default.mk b/nbproject/Makefile-default.mk index 7074e8c..3bc1338 100644 --- a/nbproject/Makefile-default.mk +++ b/nbproject/Makefile-default.mk @@ -163,7 +163,7 @@ ${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES ${MP_CC} $(MP_EXTRA_LD_PRE) -mmcu=attiny45 ${PACK_COMMON_OPTIONS} -gdwarf-2 -D__$(MP_PROCESSOR_OPTION)__ -Wl,-Map="${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.map" -o ${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -DXPRJ_default=$(CND_CONF) -DF_CPU=8000000UL $(COMPARISON_BUILD) -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--defsym=__ICD2RAM=1,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1 -Wl,--gc-sections -Wl,--start-group -Wl,-lm -Wl,--end-group - + ${MP_CC_DIR}/avr-objdump -h -S "${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}" > "${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.lss" @@ -173,7 +173,7 @@ ${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES ${MP_CC} $(MP_EXTRA_LD_PRE) -mmcu=attiny45 ${PACK_COMMON_OPTIONS} -D__$(MP_PROCESSOR_OPTION)__ -Wl,-Map="${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.map" -o ${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -DXPRJ_default=$(CND_CONF) -DF_CPU=8000000UL $(COMPARISON_BUILD) -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION) -Wl,--gc-sections -Wl,--start-group -Wl,-lm -Wl,--end-group ${MP_CC_DIR}/avr-objcopy -O ihex "${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}" "${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.hex" - + ${MP_CC_DIR}/avr-objdump -h -S "${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}" > "${DISTDIR}/attiny45v_thermometer.X.${IMAGE_TYPE}.lss" diff --git a/nbproject/Makefile-genesis.properties b/nbproject/Makefile-genesis.properties index 767bbd8..9132fc5 100644 --- a/nbproject/Makefile-genesis.properties +++ b/nbproject/Makefile-genesis.properties @@ -1,12 +1,12 @@ # -#Tue Jul 11 20:36:00 MSK 2023 +#Thu Aug 03 22:47:35 MSK 2023 default.languagetoolchain.version=7.3.0 default.Pack.dfplocation=/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151 default.com-microchip-mplab-nbide-toolchain-avr-AVRLanguageToolchain.md5=f7c8f2a9c7d7748a6cb97af5c32efadd conf.ids=default default.languagetoolchain.dir=/opt/avr8-gnu-toolchain-linux_x86_64/bin -host.id=15hy-mk8g-4c -configurations-xml=2b0c7179faec1e60ead4f769c1eac108 +host.id=1f9t-t7j1-aq +configurations-xml=5516afcd622aad1c1ae6784dba5612d3 default.com-microchip-mplab-mdbcore-snap-SnapToolImpl.md5=eaa336cefb7fc46db8b50b7b2b6e54ca com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=6e02ca5e9f5042ffd365b42ab82d3a9b user-defined-mime-resolver-xml=none diff --git a/nbproject/configurations.xml b/nbproject/configurations.xml index f62afcd..807c631 100644 --- a/nbproject/configurations.xml +++ b/nbproject/configurations.xml @@ -51,7 +51,7 @@ false - false + true @@ -141,7 +141,7 @@ - + @@ -168,6 +168,478 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -184,6 +659,7 @@ + @@ -197,6 +673,24 @@ value="${memories.instruction.ram.ranges}"/> + + + + + + + + + + + + + + + + + + @@ -210,10 +704,452 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -244,8 +1180,6 @@ value="${memories.instruction.ram.ranges}"/> - diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index 232bb04..887f767 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -4,8 +4,10 @@ file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/onewire.c - file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/onewire.h + file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/dstemperature.h file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/main.c + file:/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h + file:/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/dstemperature.c diff --git a/onewire.h b/onewire.h index 9d88737..2835d7b 100644 --- a/onewire.h +++ b/onewire.h @@ -9,7 +9,7 @@ #define OW_DDR DDRB #define ow_pull() (OW_DDR |= _BV(OW_LINE)) -#define ow_release() (OW_DDR &= !_BV(OW_LINE)) +#define ow_release() (OW_DDR &= ~_BV(OW_LINE)) #define ONE_WIRE_READROM 0x33 #define ONE_WIRE_SKIPROM 0xcc