Keil ARM Quick Start Guide for SUN7 and Bluescreen

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 ทดลองโปรแกรม


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