เริ่มต้น AVR กับ Atmel Studio

เริ่มต้น AVR กับ Atmel Studio

    เราจะมาศึกษาการพัฒนางานด้าน Embedded System ด้วยการใช้ไมโครคอนโทรลเลอร์ขนาด 8 บิต จากค่าย Atmel นั่นก็คือ ไมโครคอนโทรลเลอร์ตระกูล AVR Series 

ก่อนจะเริ่มงานกัน เราต้องตระเตรียมเครื่องมือให้พร้อมก่อน ขั้นต้นเราต้องมี 

อันดับแรก ก็ให้ไปดาวน์โหลดโปรแกรมที่ใช้ในการพัฒนา (หรือ IDE) ก่อนครับเราจะใช้ Atmel Studio เวอร์ชั่น 6.x ขึ้นไป ซึ่งจะประกอบไปด้วย GCC C และ C++ Compiler (ที่ใช้แปลงภาษาซี ให้เป็น machine code), assembler (ที่ใช้แปลงภาษาแอสแซมบลี ให้เป็น machine code) และ simulator บรรจุมาอยู่แล้ว จะทำให้เราไม่ต้องติดตั้งเพิ่ม ดาวน์โหลดได้ที่นี่ http://www.atmel.com/Microsite/atmel_studio6/  

เมื่อได้มาแล้วก็ติดตั้งเหมือนโปรแกรมอื่นๆ ทั่วๆไป  ตรงนี้ ผมขอข้ามไปหล่ะกัน หน้าตาโปรแกรม ก็จะประมาณนี้ 

ต่อมา ก็มองหาบอร์ดไมโครคอนโทรลเลอร์สักบอร์ด จะเป็นบอร์ดที่ทำเอง หรือว่าบอร์ดที่ซื้อเขามาก็ได้ครับ แต่ขอเป็นไมโครคอนโทรลเลอร์ตระกูล 8 บิต (อยู่ในสาย megaAVR http://www.atmel.com/products/microcontrollers/avr/megaAVR.aspx ) แล้วกัน ส่วนใครที่จะทำเอง หรือว่าจะหาไอซีมาต่อโยงสายเองบน Breadboard ก็ได้ครับ ไม่ว่ากัน (อาจจะจุกจิกหน่อย แต่ ก็ได้ความรู้ดีครับ) เบอร์ที่ผมมีอยู่ในมือตอนนี้ก็คือ Atmega48,Atmega128,Atmega32,Atmega8 ครับ ซึ่งผมก็จะเขียนบทความไปพร้อมกับทดลองกับเบอร์เหล่านี้ไปด้วย :P

ที่มา : http://diy4fun.blogspot.com/2008/04/atmega4888168-development-board.html

สำหรับเครื่องโปรแกรมสำหรับไมโครคอนโทรลเลอร์ บางที เราก็มักเรียกว่่าตัวเบิร์น สำหรับค่ายนี้นั้น ถ้าใครยังไม่มีเลย ผมแนะนำให้มองหาเครื่องโปรแกรมที่เป็นพอร์ต USB นะครับ เพราะเท่าที่ทราบ พอเราใช้ Windows7 ขึ้นไป จะเริ่มมีปัญหากับพอร์ตขนาน แล้วครับ ซึ่งจะทำให้โปรแกรมที่เป็นส่วนของการอัดโค๊ด hex file นั้นไม่รองรับครับ ฉะนั้น ลองมองหาเครื่องโปรแกรมที่เป็น USB ดูครับ หรืออย่างน้อย เป็นพอร์ตอนุกรม ก็ยังพอรับได้อยู่ครับ จะทำเองก็ได้ หรือว่าจะซื้อสำเร็จเลยก็ได้ ไม่ว่ากัน แต่ ขอให้พิจารณาดูว่า เครื่องโปรแกรมที่เรากำลังจะเลือกใช้อยู่นั้น รองรับกับเบอร์ไมโครคอนโทรลเลอร์ที่เรากำลังจะใช้อยู่หรือเปล่า เป็นเรื่องสำคัญสำหรับไมโครคอนโทรลเลอร์ค่ายนี้เลยครับ คือ มันค่อนข้างที่จะเลือกให้ตรงกันอยู่สักหน่อย ไม่ใช่ว่า เครื่องโปรแกรมเครื่องหนึ่ง จะโปรแกรมได้ครอบจักรวาล และที่สำคัญ เครื่องโปรแกรมนั้นๆ ต้องมีโปรแกรมรองรับด้วยนะครับ 

ถ้า ทุกอย่างเริ่มจะพร้อมแล้ว ผมก็ขอเกริ่นนำถึงวิธีการพัฒนางานทางด้านไมโครคอนโทรลเลอร์ตระกูล AVR ด้วย Atmel Studio  ถ้าจะพูดให้เข้าใจง่ายๆ เปรียบเทียบในชีวิตประจำวันก็คือ 

"...สมมติ ว่า เรามองว่า เจ้าไมโครคอนโทรลเลอร์ ก็คือ คอมพิวเตอร์เครื่องเล็ก เครื่องหนึ่ง ที่ยังไม่ได้ติดตั้งระบบปฏิบัติการ (เช่น windows , linux) ให้มัน การที่เรามาเขียนโค๊ดภาษาซี บน Atmel Studio แล้วสั่งให้ AVR GCC Complier ทำการแปลภาษาซี ให้การเป็นภาษาเครื่อง ก็เพื่อที่เราจะสร้างระบบปฏิบัติการให้มันนั่นเอง ส่วนการติดตั้งระบบปฏิบัติการนี้ลงไปบนไมโครคอนโทรลเลอร์ก็ต้องอาศัยเจ้า เครื่องโปรแกรม หรือ เครื่องเบิร์น ที่เราชอบเรียกกัน ในการอัดโค๊ดลงไปผ่านที่ขาของไมโครคอนโทรลเลอร์ที่ถูกกำหนดไว้ให้เป็นช่อง ทางอัดโปรแกรมลงไปนั่นเอง จากนั้น เจ้าคอมพิวเตอร์เครื่องเล็กนี้ ก็จะทำงานได้ด้วยตัวของมันเอง ซึ่งนั่นก็แล้วแต่ว่า เราจะออกแบบระบบปฏิบัติการของเรา ให้มันทำงานแบบไหน..."

แต่ ก็ยังเทียบกันเลยกับคอมพิวเตอร์ไม่ได้ เพราะด้วยความที่ระบบคอมพิวเตอร์มันประกอบด้วยหลายๆ ส่วน  ซึ่งบางส่วนมันก็ทำงานของมันไป แต่ เราก็ไม่จำเป็นต้องไปรู้การทำงานของมัน ในขณะที่ ไมโครคอนโทรลเลอร์เป็นหน่วยย่อยๆ แยกออกมาจากนั้น ฉะนั้น การทำงานของมันจึงตรงมาตรงไป ไม่ซับซ้อน แต่ในขณะเดียวกัน เราจะต้องจัดการแทบทั้งหมด มันก็เลยดูเหมือนจะเป็นงานที่ยากกว่าติดตั้ง windows จริงๆ ลงบนคอมพิวเตอร์

สำหรับเบื้องต้น ให้เข้าใจตามนี้ก่อนครับ จริงๆ แล้ว มันยังมีรายละเอียดปลีกย่อยอีกเยอะ ซึง ณ ตอนนี้ ผมก็ยังศึกษาไม่หมดเหมือนกัน แต่ ถ้าจะให้เขียนให้พอเข้าใจ ทำงานได้ ก็ประมาณนี้