Tag Archives: LPC800

ทดลองโปรแกรม LPC800 Mini-Kit บน Linux ด้วย lpc21isp

คราวที่แล้วที่ทดลองโปรแกรมบอร์ดไมโครคอนโทรลเลอร์ตัวน้อย LPC800 Mini-Kit โดยใช้โปรแกรม Flash Magic คราวนี้มาลองโปรแกรม lpc21isp บน Linux บ้าง ซึ่งแจกเป็น source code ก็ไปดาวน์โหลดแล้วสร้างเองเลยครับ

wget http://jaist.dl.sourceforge.net/project/lpc21isp/lpc21isp/1.94/lpc21isp_194.tar.gz
tar xzvf lpc21isp_194.tar.gz
sudo yum install glibc-static
gmake

ก็จะได้โปรแกรม lpc21isp มาใช้งาน จากนั้นก็ต่อแบบเดิมเลยครับ แต่ก่อนอื่นก็ทดสอบการเชื่อมต่อเหมือนอีกเช่นเคย แต่คงต้องกรอกผ่าน command line

sudo ./lpc21isp -detectonly /dev/ttyUSB0 115200 12000

ต้องเป็น root สามารถทำได้โดยใช้ sudo โดยที่ -detectonly คือการสั่งตรวจสอบรุ่นชิปบนบอร์ด (โปรแกรมนี้โปรแกรมชิปได้หลายรุ่น) /dev/ttyUSB0 คือ device ที่เป็น USB to UART ให้สั่ง dmesg เพื่อดูว่าเสียบแล้วได้ชื่ออะไร (อาจไม่ได้ชื่อเหมือนของผม) 115200 คือความเร็ว Baud Rate ของ serial port และ 12000 คือความถี่สัญญาณนาฬิกาที่ใช้ LPC800 ใช้ หน่วยเป็น kHz เมื่อพิมพ์คำสั่งแล้วเคาะ enter แล้ว รอให้เห็นจุดๆ หน่อยๆ ก็ให้กด ISP ค้างไว้ แล้วกด RESET มันก้จะแสดงชื่อรุ่นตามภาพข้างล่างครับ

lcp800-lpc21isp-001

จากนั้นก็สั่งโปรแกรมเข้าไปครับ มันรองรับทั้งไฟล์โปรแกรมที่เป็น hex และ bin และตัวมันเองสามารถเปิด serial terminal เพิื่อแสดงผลหลังจากโปรแกรมเสร็จแล้วด้วยเพื่อดูผล (ตรงคำสั่ง -term) ก็ใช้ hex file ตัวเดิมเลยครับ พิมพ์คำสั่งข้างล่าง เคาะ enter รอจุดกด ISP ค้างไว้ แล้วกด RESET เหมือนเช่นเคยครับ

sudo ./lpc21isp -term LPC810_HelloWorld_UART0_115K.hex /dev/ttyUSB0 115200 12000

lpc800-lpc21isp-002

Advertisements

ทดลอง LPC800 Mini-Kit

เมื่อได้ LPC800 Mini-Kit มาฟรีๆ ก็ขอทดลองและแสดงให้ดูเป็นตัวอย่างจะได้คุ้มค่าที่อุตสาห์ส่งมาให้ ก็ขอทดลองเบื้องต้นก่อนว่า มันใช้ได้จริงๆ ก่อนนะครับ โดยทำตามอย่างที่แนะนำใน http://lpcware.com/lpc800-mini-kit

ก็ต้องต่อ LPC800 กับตัวแปลง USB to UART ที่ทำหน้าที่เชื่อมต่อ serial port UART ของ LPC800 เข้ากับ USB ของคอมพิวเตอร์ ซึ่งถ้าจะให้มันเจอ USB to UART ก็ต้องติดตั้ง driver ก่อน ของผมใช้ชิป CP2102 ก็ไปหา driver ของมันมาติดตั้ง จากนั้นก็ต่อ CP2102 กับ LPC800 ตามนี้ครับ (ชื่อขาตามที่พิมพ์บนแผ่นวงจรของพวกมัน)

LPC TxD <--> CP210x  RXD
LPC RxD <--> CP210x  TXD
LPC GND <--> CP210x  GND

สำหรับไฟเลี้ยงของ LPC800 ผมจะใช้ charger 5 โวลต์ ต่อไปที่ช่อง mini USB ของมันจากก็ไป download โปรแกรม Flash Magic มาใช้งานเพื่อใช้ burn หรืออัดโปรแกรมลง LPC800 เมื่อติดตั้งมันเสร็จแล้วเปิดโปรแกรมนี้ขึ้นมา ก็ตั้งค่าหมายเลข COM Port ตามที่ได้รับตอนที่ลง driver นะครับ ของผมได้หมายเลข COM8 หรือถ้าไม่รู้ว่าหมายเลขไหนก็เรียกโปรแกรม compmgmt.msc แล้วดูที่ device manager ตรงที่ Ports ว่าได้หมายเลขไหน ค่าอื่นๆ ก็มี Baud Rate ให้เลือก 115200 ส่วน Interface เป็น None (ISP) และ Oscillator (MHz) กรอกค่า 12

lpc800-mini-kit-001

จากนั้นที่ LPC800 ที่ต่อทั้งไฟเลี้ยงและ USB to UART แล้ว ก็กดปุ่ม ISP ค้างไว้ แล้วกด RESET จะเป็นการกำหนดให้ LPC800 เข้าสู่ mode รับการ burn โปรแกรม แต่ก่อนที่จะ burn จริง ตรวจการเชื่อมต่อก่อนครับ ไปที่เมนู ISP เลือก Read Device Signature รอสักพัก ควรจะมี dialog แสดงรายละเอียดของ LPC800 ซึ่งแปลว่าเชื่อมต่อถ่ายโอนข้อมูลกันได้ครับ

lpc800-mini-kit-002

ขอปิดๆ Serial Number หน่อยนะครับ จากนั้นก็ไป download ที่จะ burn ลง LPC800  LPC810_HelloWorld_UART0_115K.hex ซึ่งคอมไพล์ไว้แล้วและแปลงเป็นไฟล์ hex แล้ว ก็ใส่ตำแหน่งของไฟล์นี้ในช่อง Hex File และติ๊กตรง Erase blocks used by hex File และ Verify after programming จากนั้นก็กด start เพื่อ burn โปรแกรมลง LPC800 ครับ

lpc800-mini-kit-003

เมื่อเสร็จแล้ว ก็จะมีคำว่า Finished ครับ

lpc800-mini-kit-004

ให้เรากด RESET ที่ LPC800 เพื่อเริ่มใช้งานโปรแกรมให้ที่เรา burn ลงไป โดยโปรแกรมนี้ จะทำการพ่นคำว่า Hello, LPC800! ออกมาทาง serial port UART ของมันเองอยู่เรื่อยๆ ถ้าใช้โปรแกรมที่ต่อกับ serial port ได้ไปดู เช่น PuTTY ก็จะเห็นผลครับ

lpc800-mini-kit-005

แล้วก็ไปอ่านเจอจาก http://www.cnx-software.com/2013/08/16/mcu-energy-efficiency-benchmark-freescale-kl02-microchip-pic24-ti-msp430-and-stmicro-stm32l/ ว่ามีการทดสอบ Cortex-M0+ ของ Freescale กับไมโครคอนโทรลเลอร์อื่น ซึ่งค่อนข้างแน่ชัดว่า Cortex-M0+ กินไฟต่ำอยู่แล้ว อันที่จริง Freescale น่าทดสอบเปรียบเทียบกับ Cortex-M0+ ของเจ้าอื่น เช่น LPC800 ของ NXP จะได้ยุติธรรมหน่อย

ได้รับ LPC800 Mini-Kits เป็นไมโครคอนโทรลเลอร์ ARM Cortex-M0+ แบบแจกฟรีแล้วครับ

เคยพูดถึงชิปไมโครคอนโทรลเลอร์ LPC800 จาก NXP ที่ใช้สถาปัตยกรรม ARM Cortex-M0+ คราวนี้ได้บอร์ด LPC800 Mini-Kits จากการแจกฟรีโดย element14 แล้วครับ ขอบคุณมากๆ ครับ
https://twitter.com/ohmohm/status/362584655611961345

updated: ไปเจออีกท่านที่ได้มาเช่นกันครับ

https://www.facebook.com/photo.php?fbid=482269538515353

Microcontroller ที่ใช้ชิป LPC800 จาก NXP แบบ Cortex-M0+ ประหยัดไฟสุดๆ

หน่วยประมวลเพื่องานไมโครคอนโทรลเลอร์ผลแบบ Cortex-M0+ ของ ARM ซึ่งประหยัดไฟสุดๆ ขนาดที่ว่าใช้ไฟจากตัวเก็บประจุยังทำงานได้ ถูกนำมาผลิตเป็นชิปโดย NXP และให้ชื่อรุ่นว่า LPC800 โดยในรุ่นนี้มีชิปหลายแบบแล้วแต่ว่าจะใส่ flash ใส่ RAM ไปมากน้อยขนาดไหน แต่ส่วนหน่วยประมวลข้างในยังเป็น Cortex-M0+ และก็มีบอร์ดทดลองออกมาด้วยครับ คือ LPC812-LPCXpresso Board

สำหรับผู้สนใจเรื่องนี้ในไทยครับ http://www.electoday.com/bbs/viewthread.php?tid=20180

ที่มา http://www.nxp.com/products/microcontrollers/cortex_m0plus/lpc800/