Arduino/C3/Mixing-Assembly-and-C-programming/Oriya

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 Mixing Assembly and C programming ଉପରେ ଥିବା ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲକୁ ସ୍ୱାଗତ
00:07 ଏହି ଟ୍ୟୁଟୋରିଆଲରେ ଆମେ ନିମ୍ନ ବିଷୟରେ ଶିଖିବା:

ଇନିଶିଆଲାଇଜେଶନ୍ ପୂରା କରିବା ପାଈଁ Assembly Routineରେ ଗୋଟିଏ ଫଙ୍କଶନ୍ ଲେଖିବା. Seven Segment Displayର Dot LEDକୁ ଧପ୍ ଧପ୍ କରିବା ପାଇଁ ଗୋଟିଏ AVR-GCC ପ୍ରୋଗ୍ରାମ୍ ରେ ସେହି Assembly Routineକୁ କଲ୍ କରିବା.

00:24 ଏହି ଶୃଙ୍ଖଳାକୁ ଅନୁସରଣ କରିବା ପାଇଁ, ଆପଣଙ୍କର ନିମ୍ନଲିଖିତ ଉପରେ ମୌଳିକ ଜ୍ଞାନ ଥିବା ଉଚିତ:

ଇଲେକ୍ଟ୍ରୋନିକ୍ସ AVR-GCC ଓ Assembly Programming

00:37 ଏହି ଟ୍ୟୁଟୋରିଆଲ୍ ରେକର୍ଡ କରିବାକୁ ମୁଁ ବ୍ୟବହାର କରୁଛି:

Arduino UNO Board ଓ Ubuntu Linux Operating System ଭର୍ସନ୍ 14.04.

00:50 ଆମକୁ କିଛି ଏକ୍ସଟର୍ନଲ୍ ଡିଭାଇସ୍ ମଧ୍ୟ ଦରକାର ହେବ, ଯେପରି:

BreadBoard Seven-Segment Display,

01:00 220 ohm ରେଜିଷ୍ଟର୍,

Arduino UNO Board ଓ Jumper Wires

01:09 Seven-Segment Displayର “ଡଟ୍ ପିନ୍” Arduinoର “ପିନ୍ 13” ସହ କନେକ୍ଟ ହୋଇଛି
01:16 Common Pinsରୁ ଯେକୌଣସି ଗୋଟିଏ ରେଜିଷ୍ଟର୍ ମାଧ୍ୟମରେ +5 Volt ସହ ଲାଗିଛି
01:23 ଏହା ହେଉଛି କନେକ୍ସନ୍‌ର ଲାଇଭ୍ ସେଟ ଅପ୍
01:28 ଏବେ ଆମେ, ଇନିଶିଆଲାଇଜେଶନ୍ ପୂରା କରିବା ପାଇଁ ଏକ Assembly Routine ଲେଖିବା
01:34 ଯେକୌଣସି Text Editor ଖୋଲି ନିମ୍ନଲିଖିତ ଟାଇପ୍ କରନ୍ତୁ
01:38 ଏହି Assembly Routine ପ୍ରୋଗ୍ରାମ୍, ଆଉଟପୁଟ୍ ଭାବେ Arduinoର Pin 13କୁ ଇନିଶିଆଲାଇଜ୍ ଓ ସେଟ୍ କରିଥାଏ
01:45 ମୁଁ କୋଡ୍‌କୁ ଲାଇନ୍ ୱାରୀ ବୁଝାଉଛି.

ଏହି ଲାଇନ୍ Special Function Register offsetକୁ ଶୂନ୍ ରେ ସେଟ୍ କରିଥାଏ

01:54 ଏହି ଦୁଇଟି ଲାଇନ୍ Assembly Routineକୁ ବୈଶ୍ୱିକ ସ୍ତରରେ ଆକ୍ସେସିବଲ୍ କରାଇଥାଏ.

ଏହାକୁ ବ୍ୟବହାର କରିବା ପାଇଁ ଏହା ଅନ୍ୟ ପ୍ରୋଗ୍ରାମ୍‌ଗୁଡ଼ିକୁ ଏନାବଲ୍ କରିଥାଏ

02:03 ଏଠାରେ, init ହେଉଛି Subroutineର ନାମ.

ଏହି ଦୁଇଟି ଲାଇନ୍ ଆଉଟପୁଟ୍ ଭାବେ Arduinoର Pin 13କୁ ସେଟ୍ କରିଥାଏ

02:13 Downloads ଫୋଲ୍ଡର୍‌ରେ କୋଡ୍‌କୁ initasm ଡଟ୍ କ୍ୟାପିଟଲ୍‌ରେ S ଭାବେ ସେଭ୍ କରନ୍ତୁ.

ଏହା Subroutine ହୋଇଥିବାରୁ .S ଏକ୍ସଟେନ୍ସନ୍ ଭାବେ ସେଭ୍ କରାଗଲା

02:27 ଏହି ଟ୍ୟୁଟୋରିଆଲ୍ ପେଜ୍‌ରେ ଥିବା Code Files ଲିଙ୍କରେ ଏହି ଟ୍ୟୁଟୋରିଆଲରେ ବ୍ୟବହୃତ ସମସ୍ତ କୋଡ୍ ଉପଲବ୍ଧ ଅଛି.

ଆପଣ ଏହାକୁ ଡାଉନଲୋଡ୍ କରି ବ୍ୟବହାର କରିପାରିବେ

02:37 ଏବେ, ଏହି Subroutineକୁ କଲ୍ କରିବା ପାଇଁ ଓ Dot LEDକୁ ଧପ୍ ଧପ୍ କରିବା ପାଇଁ ଆମେ ଏକ AVR-GCC ପ୍ରୋଗ୍ରାମ୍ ଲେଖିବା
02:45 ଯେକୌଣସି Text Editor ଖୋଲି ନିମ୍ନଲିଖିତ ଟାଇପ୍ କରନ୍ତୁ
02:49 ଏହି କୋଡ୍, ନିରନ୍ତର ଭାବେ Dot LEDକୁ ଧପ୍ ଧପ୍ କରାଇବ
02:54 ପ୍ରଥମ ଲାଇନ୍ init(), Assembly Subroutineକୁ କଲ୍ କରିଥାଏ. କୋଡ୍‌ର ଏହି ଦୁଇଟି ଲାଇନ୍ ବିକଳ୍ପ ଭାବରେ Dot LEDକୁ ଅନ୍ ଓ ଅଫ୍ କରିଥାଏ, ଯେଉଁଥିରୁ ଏହା ଧପ୍ ଧପ୍ ହୋଇଥାଏ
03:08 Downloads ଫୋଲ୍ଡର୍ ରେ କୋଡ୍ କୁ blink.c ଭାବେ ସେଭ୍ କରନ୍ତୁ.
03:13 Makefile କୁ ଏହି ଟ୍ୟୁଟୋରିଆଲର "କୋଡ୍ ଫାଇଲ୍ସ” ଲିଙ୍କରୁ ଡାଉନଲୋଡ୍ କରିନିଅନ୍ତୁ.

Blink.c ଫାଇଲ୍ ସେଭ୍ ହୋଇଥିବା ଫୋଲ୍ଡର୍‌ରେ ଏହାକୁ ରଖିଦିଅନ୍ତୁ

03:24 ମୁଁ Makefileକୁ Text Editorରେ ଖୋଲିବି
03:28 ଧ୍ୟାନ ଦିଅନ୍ତୁ ଯେ, ପୂର୍ବେ ବ୍ୟବହୃତଠାରୁ ଏହି Makefile ଭିନ୍ନ ଅଟେ
03:34 Makefileରେ TARGET = blink ଓ ASRC = initasm.Sକୁ ସୁନିଶ୍ଚିତ କରନ୍ତୁ
03:44 ଏଠାରେ blink ହେଉଛି ମୁଖ୍ୟ ପ୍ରୋଗ୍ରାମ୍ ଏବଂ initasm ହେଉଛି Subroutine
03:50 ଯଦି ଆପଣ କୌଣସି ଭିନ୍ନ ନାମ ଦେଇଥା’ନ୍ତି, ତେବେ ଆପଣଙ୍କୁ filename ଓ subroutine ନାମକୁ ବଦଳାଇବାକୁ ପଡ଼ିବ.

ତା’ପରେ, Makefileକୁ ସେଭ୍ କରିନିଅନ୍ତୁ

03:59 ଟର୍ମିନଲ୍‌କୁ ଯାଆନ୍ତୁ.
04:02 blink.c ଫାଇଲ୍ ସେଭ୍ କରାଯାଇଥିବା ଫୋଲ୍ଡର୍‌କୁ ଯାଆନ୍ତୁ.

ଟାଇପ୍ କରନ୍ତୁ: make ସ୍ପେସ୍ କ୍ୟାପିଟଲ୍ ରେ FNAME equals to (=) blink ଓ Enter ଦାବନ୍ତୁ

04:17 ଦେଖନ୍ତୁ, Dot LED ଧପ୍ ଧପ୍ ହେଉଛି
04:22 ଏଥିସହିତ ଆମେ ଏହି ଟ୍ୟୁଟୋରିଆଲର ସମାପ୍ତିକୁ ଆସିଲେ. ସଂକ୍ଷିପ୍ତରେ -
04:28 ଏହି ଟ୍ୟୁଟୋରିଆଲରେ ଆମେ ଶିଖିଲେ :-

ଇନିଶିଆଲାଇଜେଶନ୍ ପୂରା କରିବା ପାଇଁ Assembly Routineରେ ଗୋଟିଏ ଫଙ୍କଶନ୍ ଲେଖିବା ଏବଂ Dot LEDକୁ ଧପ୍ ଧପ୍ କରିବା ପାଇଁ ଗୋଟିଏ AVR-GCC ପ୍ରୋଗ୍ରାମ୍‌ରେ ସେହି Assembly Routineକୁ କଲ୍ କରିବା.

04:43 ଏକ ଆସାଇନମେଣ୍ଟ ଭାବେ-

Delay ବୃଦ୍ଧି କରିବା ପାଇଁ ଉପରୋକ୍ତ ପ୍ରୋଗ୍ରାମ୍‌କୁ ବଦଳାନ୍ତୁ. Dot LEDର ଧପ୍ ଧପ୍‌ରେ Delayକୁ ଦେଖନ୍ତୁ

04:53 ନିମ୍ନ ଲିଙ୍କରେ ଥିବା ଭିଡିଓ ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟକୁ ସାରାଂଶିତ କରିଥାଏ. ଦୟାକରି ଏହାକୁ ଡାଉନଲୋଡ୍ କରି ଦେଖନ୍ତୁ
05:01 ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟ ଟିମ୍:

କର୍ମଶାଳାମାନ ଚଲାନ୍ତି ଏବଂ ପ୍ରମାଣପତ୍ର ଦିଅନ୍ତି. ଅଧିକ ବିବରଣୀ ପାଇଁ ଦୟାକରି ଆମକୁ ଲେଖନ୍ତୁ

05:11 ଦୟାକରି ଏହି ଫୋରମରେ ନିଜର ସମୟବଦ୍ଧ ପ୍ରଶ୍ନ ପୋଷ୍ଟ୍ କରନ୍ତୁ
05:15 ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟ, ଭାରତ ସରକାରଙ୍କ ମାନବ ସମ୍ୱଳ ବିକାଶ ମନ୍ତ୍ରଣାଳୟର NMEICT ଦ୍ୱାରା ଅନୁଦାନ ପ୍ରାପ୍ତ. ଏହି ମିଶନ୍ ଉପରେ ଅଧିକ ବିବରଣୀ ନିମ୍ନ ଲିଙ୍କରେ ଉପଲବ୍ଧ.
05:26 IIT Bombay ତରଫରୁ ପ୍ରଦୀପ ମହାପାତ୍ରଙ୍କ ସହ ମୁଁ ପ୍ରଭାସ ଆପଣଙ୍କଠାରୁ ବିଦାୟ ନେଉଛି. ଆମ ସହିତ ଜଡ଼ିତ ହୋଇଥିବାରୁ ଧନ୍ୟବାଦ

Contributors and Content Editors

Pradeep