
Keil ARM Quick Start Guide for SUN7 and Bluescreen
ในบทความนี้จะกล่าวถึงการใช้งาน Software Keil เบื้องต้น กับไมโครคอนโทรลเลอร์ ARM7 ซึ่งจะประกอบด้วย วิธี Create New Project , การเขียนโปรแกรม และ วิธี Compile , วิธีโปรแกรมผ่าน Serial Port , วิธีโปรแกรมผ่านทาง JTAG
Download Software Demo ได้จาก
http://www.keil.com/demo/ โดยเลือก “ARM” แล้วกรอกข้อมูลในแบบฟอร์ม เพื่อให้ได้ link download
หรือ ขอตัวอย่างโปรแกรมจากทีมงานได้ที่ฝ่าย support
วิธี Create New Project
หลังจากติดตั้ง keil เสร็จแล้วให้เปิดโปรแกรม ขึ้นมาครับ จากนั้น คลิกที่ Project >> New Vision Project….

จะขึ้น แสดงหน้าต่างขึ้นมาให้เรา เลือกที่อยู่ และตั้งชื่อโปรเจค

ในที่นี้ได้ตั้งชื่อ โปรเจคว่า test_arm และเก็บไว้ใน Folder ชื่อ EX_ARM และคลิกที่ Save จากนั้นจะปรากฏหน้าต่าง Select Device for Target ขึ้นมาดังรูป โดยในกรณีที่เป็น SUN7 ให้เลือก data base เป็น NXP >> LPC2478 จากนั้นให้คลิกที่ OK

ในกรณีที่เป็น BlueScreen ให้เลือก data base เป็น NXP >> LPC2378 จากนั้นให้คลิกที่ OK

จะปรากฏ ข้อความขึ้นมาถามว่า ต้องการ Copy Start up File หรือไม่ ให้ตอบตกลงไปครับ


*** ในกรณีที่ มี Startup File อยู่แล้วให้ตอบ No แล้วใช้วิธี Add File เข้ามาภายหลังได้ (สามารถดูได้จาก การเขียนโปรแกรม และ วิธี Compile ต่อไป)
Startup File คืออะไร ?
Startup File คือ file ที่เก็บค่า config ค่าเริ่มต้นต่างๆของ ARM เบอร์นั้นๆเช่น Clock Setup , Memory Setup
เมื่อทำกระบวนการข้างต้นเสร็จสิ้น จะปรากฏ โปรเจค ของเราขึ้นมาทางซ้ายมือในช่องของ Project

จากนั้น Double click ที่ File LPC2400.s ในบอร์ด SUN7 หรือ File LPC2300.s ในบอร์ด BlueScreen

เลือกที่ Configuration Wizard
ตั้งค่า PLL CFG MSEL = 15 , NSEL = 1
ตั้งค่า CCLKCFG CCLKSEL = 7
เนื่องจากบอร์ด SUN7 และ BlueScreen ใช้ crystal = 16 Mhz
จากสูตร เพราะฉะนั้น บอร์ดจะ Run ที่ความถี่เท่ากับ
[ (Crystal x 2 x MSEL) / NSEL] / CCLKSEL
16 X 2 X 15 = 480 Mhz
480 / 7 = 68.571 Mhz
การเขียนโปรแกรม
เมื่อ สร้างโปรเจค และ ตั้งค่า Clock ให้กับบอร์ดเรียบร้อยแล้ว ขั้นตอนต่อไปเรามาเริ่ม เขียนโปรแกรม และ Compile
1) ไปที่ File >> New หรือ คลิกที่รูปสัญลักษณ์ กระดาษเปล่า

2) จากนั้นพิมพ์ code ตัวอย่างนี้ลงไปใน File ที่เราสร้างขึ้น
โปรแกรมด้านล่างใช้สำหรับ SUN7 (LPC24xx.h)
>> Download Example Keil ARM C LPC24xx.txt (TXT File , 340 Bytes)

โปรแกรมด้านล่างใช้สำหรับบอร์ด BlueScreen (LPC23xx.h)
>> Download Example Keil ARM C LPC23xx.txt (TXT File , 340 Bytes)

3) SAVE AS

ตั้งชื่อ File ตามด้วย .C ในที่นี้ได้ตั้งเป็น main.C
4) Add File ที่เราสร้างเข้ามาในโปรเจค โดย Duble Click ที่ รูปแฟ้ม Source Group จะปรากฏหน้าต่างให้เราเลือก File ให้เราเลือกไฟล์ที่เราสร้างขึ้น เช่น main.c ไฟล์ที่เราสร้างขึ้นจะปรากฏขึ้นใน Source Group

วิธี Compile
1) ไปที่ Project >> Options for Group

จะปรากฏหน้าต่าง Options For Target ให้ Set ค่า ต่างๆตามรูปด้านล่าง


2) ไปที่ Project >> Build Target

เมื่อ Compile สำเสร็จ จะได้ผลลัพธ์ดังรูป

วิธีโปรแกรมผ่าน Serial Port
Board SUN 7

(คลิ๊กที่รูปเพื่อขยาย)
1) เชื่อมต่อ Serial Port0 RS232 เข้ากับ Computer และ เลือก Jumper ให้อยู่ในตำแหน่ง Serial Port0 RS232
2) เข้าโหมดโปรแกรม โดย กด SW PROGRAM ค้างเอาไว้ และ กด SW Reset แล้วปล่อยมือออกจากทั้ง 2 ปุ่ม
3) เปิดโปรแกรม Flash Magic และทำตามขั้นตอนในรูป

4) รอจนโปรแกรมเสร็จ กด SW Reset
Board BlueScreen



1) เชื่อมต่อ UART0 (CONSOLE) เข้ากับ USB To Serial (ระดับสัญญาณในจุดนี้เป็น ระดับ TTL หากนำไปต่อกับ RS232 อาจเกิดความเสียหายได้)
2) เข้าโหมดโปรแกรมโดย Jump ขาโปรแกรมเข้าดัวยกัน กด SW Reset แล้ว ปล่อยมือ หรือ อาจใช้วิธี กดที่แผน touch Screen ค้างเอาไว้ กด SW Reset แล้วปล่อยมือ
3) เปิดโปรแกรม Flash Magic และทำตามขั้นตอนในรูป

4) รอจนโปรแกรมเสร็จ กด SW Reset
*** ค่า Baud Rate ที่ใช้ในการโปรแกรมของทั้ง 2 บอร์ดนั้นสามารถปรับเปลี่ยนได้ ตามความเหมาะสม
วิธีโปรแกรมผ่านทาง JTAG


ไปที่ Project >> Options for Group

จะปรากฏหน้าต่าง Options For Target ให้ Set ค่า ต่างๆตามรูปด้านล่าง

เลือกหัวข้อ Debug และทำตามขั้นตอนดังรูป

เมื่อคลิกที่ Setting จะปรากฎหน้าจอให้เรา Set ค่าต่างๆให้กับ Jtag ดังรูป

เมื่อ set ค่าต่างๆเรียบร้อยแล้วให้ตอบ OK แล้วเข้าไปยังหัวข้อ Utilities และ ใส่ set ค่าดังรูป

เมื่อ คลิกที่ Setting แล้วจะปรากฏหน้าต่าง Flash Download Setup ให้เลือก ตามขั้นตอนดังรูป

คลิกที่ Add จะปรากฏหน้าต่าง Add Flash Programming Algorithm
เลือก LPC2000 IAP 512kB Flash

ตอบตกลง และ ออกมายังหน้าต่างปรกติของ keil ทดลองโปรแกรม

หากโปรแกรม สำเร็จจะปรากฏดังรูปด้านล่าง
