การนำ AVR-GCC Compiler เวอร์ชั่นเก่า มาใช้ใน Atmel Studio 6
หลายๆคน ยังไม่อยากใช้ IDE ตัวใหม่ของ Atmel ในการพัฒนางานไมโครคอนโทรลเลอร์ตระกูล AVR เนื่องจากอาจจะมีปัญหาเรื่องการนำโค๊ดเก่ามา Compile ที่ AVR-GCC เวอร์ชั่นใหม่ใน Atmel Studio 6 ไม่ผ่าน ก็เลยยังต้องใช้ AVR Studio 4 กับ WinAVR ที่เป็น AVR-GCC compiler เวอร์ชั่นเก่าอยู่ ซึ่งมันก็ยังคงทำงานได้ดี เพียงแต่ว่า เสียอย่างเดียวที่ AVR Studio 4 นั้น มันไม่ค่อยจะทันสมัยเท่าไหร่ ซึ่งถ้าหากใครที่กลัวกับปัญหาใหม่ๆ ที่จะตามมา หรือไม่ถนัดกับการเปลี่ยนแปลงอะไรบ่อยๆ แล้วหล่ะก็ อาจจะยังไม่ต้องแก้ไขอะไรตอนนี้ก็ได้ครับ แต่ ถ้าหากใครต้องการลองเครื่องมือใหม่ ที่มาพร้อมกับ Atmel Studio 6 แล้วหล่ะก็ วันนี้ ผมอยากแนะนำการ การนำ Compiler เวอร์ชั่นเก่า มาใช้ใน Atmel Studio 6
บางครั้ง โค๊ดเก่าๆ ที่เคยคอมไพล์ผ่าน มันอาจจะไม่ผ่านเมื่อมาเจอกับ AVR-GCC เวอร์ชั่นใหม่ๆ แต่ เราก็ยังสามารถที่จะเอาคอมไพล์เลอร์เวอร์ชั่นเก่าๆ มาทำงานบน Atmel Studio 6 และนอกจากนั้น เรายังได้ความสามารถเรื่อง Intellisense ในการแสดงฟังก์ชั่นล่วงหน้า ในระหว่างการเขียนโปรแกรม ซึ่งใน AVR Studio 4 นั้นไม่มี ถ้าไม่เก๋าจริง ก็อาจจะลำบากสักหน่อย เมื่อทำงานบน AVR Studio 4
โปรแกรมที่ต้องมี คือ
โดยปกติแล้ว เมื่อติดตั้ง Atmel Studio 6 ตัวโปรแกรมจะกำหนดให้ไปเรียก AVR-GCC และ make.exe ที่มาพร้อมกับ Atmel Studio 6 เพราะฉะนั้น หากต้องการเรียกใช้ WinAVR-20100110 และ make.exe เวอร์ชั่นเก่าๆ เราสามารถไปกำหนด AVR Toolchain เพิ่มได้ โดยไปที่หน้าต่างโปรแกรม Atmel Studio 6 แล้วเลือกเมนู Tool->Option จากนั้นไปที่ตัวเลือกซ้ายมือ Toolchain จะปรากฏตัวเลือกให้ตั้งค่า ให้เลือก Toolchain เป็น Atmel AVR-8 bit จากนั้นคลิกที่ Add Flavour เพื่อกำหนดไปยัง AVR-GCC เวอร์ชั่นเก่า จะมีหน้าต่าง Add Toolchain Flavour ให้เรากำหนดเป็น
Flavour Name: WinAVR20100110
Toolchain Path: C:\WinAVR-20100110\bin (หากของคุณติดตั้งอยู่ที่นี่)
Make Path: C:\WinAVR-20100110\utils\bin (หากของคุณติดตั้งอยู่ที่นี่)
แล้วกด Add Flavour แล้วกด OK
ทดสอบนำโค๊ดที่เคยสร้างบน AVR Studio 4 มาสร้างโปรเจคใหม่บน Atmel Studio 6 (อาจต้องปรับตัวในเรื่องการสร้างโปรเจคบน Atmel Studio 6 นิดหน่อย) จากนั้นก่อนที่เราจะ Build Solution ให้ไปกำหนดเลือกใช้ WinAVR20100110 มาใช้ในการ Compile และ make เพื่อสร้างไฟล์ hex โดยให้ไปกำหนดที่เมนู Project->{project name} Properites หรือกด Alt+F7 จะมีแท๊ปเพิ่มขึ้นมา ให้เลือกไปที่ Advance แล้วกำหนด Toolchain Flavour ให้เลือกไปที่ WinAVR20100110 ซึ่งเราได้ตั้งชื่อ และค่าไว้เรียบร้อยแล้ว จากนั้น กด Save All (ที่เป็นรูป disk ซ้อนกัน) เมื่อเรียบร้อยแล้ว ทำการ Build Solution หรือ กด F7 จะเห็นข้อความปรากฏที่ message ด้านล่าง IDE ซึ่งมันจะมีข้อความประมาณว่าได้ไปเรียก AVR-GCC เวอร์ชั่นเก่า มาคอมไพล์ แสดงว่าเรากำหนดถูกต้องแล้ว ซึ่งถ้าโค๊ดเก่า เคยคอมไพล์ผ่าน มาสร้างโปรเจคใหม่บน Atmel Studio 6 มันก็ควรจะผ่านเช่นกัน
ที่ผมได้แนะนำมา ก็เพราะผมยังเจอปัญหาว่า AVR-GCC 4.6.2 เจอปัญหาว่าคอมไพล์โค๊ดเก่าๆ ไม่ผ่าน ทั้งๆ ที่มันเคยผ่าน ผมก็เลยต้องจัดการหาวิธีนำ WinAVR20100110 ซึ่งเป็น AVR-GCC 4.3.3 กลับมาใช้งานร่วมกับ Atmel Studio 6 ซึ่งผมได้กล่าวไว้ก่อนหน้านี้แล้วว่า มันฉลาดกว่า IDE ตัวเก่าเยอะเลย และอยากแนะนำให้มาใช้กัน แล้วจะติดใจครับ