From 3d6a744aac06c5f27b7c2e6fd467cb8882a848c1 Mon Sep 17 00:00:00 2001 From: ergz Date: Sat, 30 Jul 2022 15:30:12 -0700 Subject: [PATCH] adds more comments regarding ddrx and portx registers adds resulting rebuild of the project --- blink/blink.elf | Bin 8232 -> 8236 bytes blink/blink.hex | 8 ++++---- blink/blink.map | 26 +++++++++++++------------- blink/blinkled.c | 19 ++++++++++++++++--- blink/blinkled.o | Bin 3992 -> 3996 bytes 5 files changed, 33 insertions(+), 20 deletions(-) diff --git a/blink/blink.elf b/blink/blink.elf index fc580c237e9af319f0354059c978dbbcb23111a0..04202672c8942082bc497ce9e6ae2a86fba63c7c 100644 GIT binary patch delta 431 zcmXwzzb^w}7{{NdcfIteAB}TJ^zNjzel_Wj7{vua2T2EuLHq+o7Kw%di$OgVVd-Ew z9EsdQVjyON!D1?%L-{k$|`+UF8`#z6l+UBN#cD^Ixw*kP;XIA4=5G()~ zdn={Y^YY7EIl1%x36}uPXTRlmDP4Nc8fLi4zfEaWufAz%_%KXLZhJ>Uvn2!wpU@&>1jAnI8y(>;nX! zh>`%V6n+2233`e`Da%fw?2`VZrT_fW>&O6oJM5xJL7pv|v z3yV&}y7R515DzJ?>S)uXI?Fs(htPIj)DgsPO13_uMd3CbEoZQ8pO-><4EJ(dofdJ6 zlorJVO=~fnqZQ@`9WZa`mN`RT%nEhrF>Iua9`hFzfH7LoBY01{?EcUdvqDeI3kn%6 Ef2xgV9RL6T delta 458 zcmZXP%}WAd5XNWLRg~6PS(60a^$R5mLc&ggA04Vgl*bMc-TEsc1Fb^`b&4SRv@j2b z#9r(cbg_FuhYocyDLQzHte|m02zuciW`6U`Gw)kXR1$d~Rto;0xeNg1!b~=j25B3> zx0iX!UcJ1wo6+6&2V4UT)c;oP!dDD|Mlp>6J%bw-Pl*joMW28c1h8~Nj!BU(+9_lm z8}15F?o+rU0yI)qUISeysRo+AnX(UYcAP_f-5Ro@iOywjpoTU9P(%6dQcQ68YU4mh`0iR5W+G^K_yq^zC)B+Mx!84$!z7#t~XnBjy$UlFtzA zt1@oVg&M(Iy63n+KiqH003ljd6`IgwlxS9qnDb76X=7%K*#jLg`}6?R4ED&ZMeoe& KZh$1EHRTu8ZF1ZI diff --git a/blink/blink.hex b/blink/blink.hex index 09fc6c7..b6beb9a 100644 --- a/blink/blink.hex +++ b/blink/blink.hex @@ -5,8 +5,8 @@ :100040000C943E000C943E000C943E000C943E0038 :100050000C943E000C943E000C943E000C943E0028 :100060000C943E000C943E0011241FBECFEFD4E050 -:10007000DEBFCDBF0E9440000C9451000C940000E4 -:10008000209A81E085B9E7EAF1E63197F1F700C0FF -:10009000000015B8E7EAF1E63197F1F700C000007B -:0600A000F1CFF894FFCF40 +:10007000DEBFCDBF0E9440000C9454000C940000E1 +:10008000209A81E085B9E3EDF0E33197F1F700C004 +:10009000000015B8FFE32DE033E0F1502040304080 +:0C00A000E1F700C00000EECFF894FFCFA5 :00000001FF diff --git a/blink/blink.map b/blink/blink.map index a883591..287e578 100644 --- a/blink/blink.map +++ b/blink/blink.map @@ -222,7 +222,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x0000000000000000 0xa6 +.text 0x0000000000000000 0xac *(.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 @@ -306,13 +306,13 @@ END GROUP 0x0000000000000080 . = ALIGN (0x2) *(.text.*) .text.startup.main - 0x0000000000000080 0x22 blinkled.o + 0x0000000000000080 0x28 blinkled.o 0x0000000000000080 main - 0x00000000000000a2 . = ALIGN (0x2) + 0x00000000000000a8 . = ALIGN (0x2) *(.fini9) - .fini9 0x00000000000000a2 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) - 0x00000000000000a2 _exit - 0x00000000000000a2 exit + .fini9 0x00000000000000a8 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) + 0x00000000000000a8 _exit + 0x00000000000000a8 exit *(.fini9) *(.fini8) *(.fini8) @@ -331,11 +331,11 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00000000000000a2 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 0x00000000000000a8 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) - 0x00000000000000a6 _etext = . + 0x00000000000000ac _etext = . -.data 0x0000000000800100 0x0 load address 0x00000000000000a6 +.data 0x0000000000800100 0x0 load address 0x00000000000000ac [!provide] PROVIDE (__data_start, .) *(.data) *(.data*) @@ -353,8 +353,8 @@ END GROUP *(.bss*) *(COMMON) [!provide] PROVIDE (__bss_end, .) - 0x00000000000000a6 __data_load_start = LOADADDR (.data) - 0x00000000000000a6 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00000000000000ac __data_load_start = LOADADDR (.data) + 0x00000000000000ac __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x0000000000800100 0x0 [!provide] PROVIDE (__noinit_start, .) @@ -458,9 +458,9 @@ END GROUP .debug_str 0x0000000000000208 0x17c blinkled.o 0x1b0 (size before relaxing) -.debug_loc 0x0000000000000000 0x48 +.debug_loc 0x0000000000000000 0x46 *(.debug_loc) - .debug_loc 0x0000000000000000 0x48 blinkled.o + .debug_loc 0x0000000000000000 0x46 blinkled.o .debug_macinfo *(.debug_macinfo) diff --git a/blink/blinkled.c b/blink/blinkled.c index 9f48132..594f721 100644 --- a/blink/blinkled.c +++ b/blink/blinkled.c @@ -5,15 +5,28 @@ int main(void) { - // set the lowest order bit + /* + the DDRX registers are used to indicated whether each pin + is being used for input or output (data direction) + to enable a pin as output you set its corresponding bit to 1, + the default state is 0 (input) + */ DDRB |= 0b00000001; while (1) { + + /* + When DDRx is set to 1 (output): + PORTx controls whether that port register is set to high or low. + + When DDRx is set to 0 (input) it is essentially disconnected + from the circuit + */ PORTB = 0b00000001; // turn on the LED - _delay_ms(100); + _delay_ms(50); PORTB = 0b00000000; - _delay_ms(100); + _delay_ms(1000); } diff --git a/blink/blinkled.o b/blink/blinkled.o index f5a65291eced85867de2bdbbe6673e11a33122ff..6ba81478012c140eb4c14525bdea6cdc09df08fe 100644 GIT binary patch delta 428 zcmXw!KS)Ax5XbL+zRLG}Pl*iCFkdRZ=O8I9wb>uih{7c(2wH-O8XH0=5*mUCk{fJj zs4;{<-cno8)DW};1xbnx4Fw5JLDc!sAKd4A_xs-Oj^9b>G<2-vOL52_XncM(QYHL` z8-V_+zeb`qQfub)bTVC>FQdEoGaBo4^&x-+ke_lw`>2EVRdj1ci*uHq@K}qOLCn&b z@cAY)oxYArpyY1pK?KpHx@*9a9m9wcjY+}qCCUO&LJ$%<9(QGx3t<;!+mXH2w&WCO zT7~Xe0t9%YTuob#1?67q)M&e5bk1g$ t?wG&SWNwn*ZJ%eE+c9SkV9g delta 495 zcmXv}J4gdT5S_VCl1pxrgD4u!&kN)b6isJip(wEks32nDuTxM9u?;~%Y-~IS(ZU~C zDp(u=3kAU@jfG&Lg=h*D>;xOZ!nxC%;>~++-|Xz}XZA8%S$weD5)JPkpKpa-{DNzM z#*05?kDa2}#-6+pi6ejlQ0ouDf9Yw@8o4Qoc4o&L=uBe~himv=Q&vI}n)Y&> zN_xmS4s;`$bQhdUwD6@;7@(QEyG&-D=ANa|&@*QW+5+Q&*2GxVoP^0|ZXxH~a-ZdL zlh(pBoT-O%XgX?S(_LWeIZRSjw{V=E7$-;-7M@V2uvDABHAH=SoEC*4{b*DXdG(Ra ztY=;d0|)4qgWv2Ko~K6*oTpUOQZ*T1h3Y&!$=)h0MJ+7T4r2#hG0xH};|qzHr797C TJ8!-eGjN@z*t-t`47%PgU727Q