บอร์ด MSP‑EXP432P401R Launchpad Evaluation Kit ของบริษัท Texas Instruments (TI) มาพร้อมกับชิปไมโครคอนโทรลเลอร์ MSP432P401R (32-bit ARM Cortex M4F, 48MHz, 256KB Flash, 64KB RAM) และมีวงจร XDS110-ET Debug Probe ใส่มาให้ด้วย และเนื่องจากอุปกรณ์นี้ รองรับการใช้งานแบบ ARM CMSIS-DAP Compatible ดังนั้นจึงใช้งานได้ทั้งแบบ JTAG และ SWD (Serial Wire Debug)
การอัปเดตเฟิร์มแวร์สำหรับ XDS110 Debug Probe
ก่อนหน้านี้ ผู้เขียนเคยใช้บอร์ดดังกล่าวได้ตามปรกติ แต่หลังจากไม่ได้ใช้มานาน เมื่อนำกลับมาใช้อีกครั้งพบว่า เมื่อเสียบบอร์ดเข้ากับพอร์ต USB ของคอมพิวเตอร์ผู้ใช้ สามารถมองเห็นอุปกรณ์ได้ใน Device Manager ของ Windows 10 แต่เมื่อลองทำขั้นตอนอัปโหลดไฟล์ .hex ไปยัง Flash ภายใน MCU จะเกิดปัญหา ดังนั้นจึงต้องการลองดูว่า ถ้าอัปเดตเฟิร์มแวร์ให้กับอุปกรณ์นี้ใหม่ จะแก้ปัญหาได้หรือไม่
ถัดไปบันทึกช่วยจำขั้นตอนในการอัปเดตเฟิร์มแวร์สำหรับ XDS110 ซึ่งสามารถแก้ไขปัญหาดังกล่าวได้
แหล่งข้อมูลอ้างอิง
- เอกสารออนไลน์ https://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds110.html
- User Guide: MSP432P401R SimpleLink Microcontroller LaunchPad Development Kit (MSP‑EXP432P401R) https://www.ti.com/lit/ug/slau597f/slau597f.pdf
ขั้นตอนการดำเนินการ
- ดาวน์โหลดซอฟต์แวร์ที่มีชื่อว่า XDS Emulation Software (EMUPack) จากเว็บไซต์ของบริษัท TI [link] ในบทความนี้ ได้เลือกไฟล์สำหรับระบบปฏิบัติการ Windows 10, 64 บิต และเวอร์ชันที่ใช้คือ 9.2.0.00002 (May 26, 2020) ซึ่งเป็นเวอร์ชันของไดร์เวอร์ที่ใช้กับ TI CCS (Code Compose Studio) v9.2
- ติดตั้งซอฟต์แวร์ดังกล่าว เลือกไดเรกทอรีสำหรับติดตั้งให้เป็น
C:\ti
- ทำคำสั่งสำหรับ XDS เพื่อเข้าสู่โหมด USB DFU เช่น การตั้งค่า Serial Number ใหม่ให้กับอุปกรณ์ และการอัปเดทเฟิร์มแวร์ใหม่
เมื่อติดตั้งสำเร็จแล้ว สามารถตรวจสอบรายการของ USB Device Drivers ใน Device Manager ของ Windows จะมีรายการดังนี้
การทำคำสั่งเป็นแบบ Command lines และให้ไปยังไดเรกทอรี C:\ti\ccs_base\common\uscif\xds110
เมื่อเสียบสาย USB เชื่อมต่อระหว่างอุปกรณ์และคอมพิวเตอร์ของผู้ใช้แล้ว ให้ลองทำคำสั่งต่อไปนี้
xdsdfu -e
ตัวอย่างข้อความเอาต์พุตที่ได้
USB Device Firmware Upgrade Utility
Copyright (c) 2008-2019 Texas Instruments Incorporated. Scanning USB buses for supported XDS110 devices...<<<< Device 0 >>>>VID: 0x0451 PID: 0xbef3
Device Name: XDS110 Embed with CMSIS-DAP
Version: 2.3.0.12
Manufacturer: Texas Instruments
Serial Num: M432xxxx
Mode: Runtime
Configuration: StandardFound 1 device.
ถ้าต้องการอัปเดตเฟิร์มแวร์ใหม่ ให้ทำคำสั่งตามลำดับดังนี้ เริ่มต้นด้วยการทำให้อุปกรณ์เข้าสู่โหมด DFU ก่อน
xdsdfu -m
จากนั้นเขียนไฟล์ .bin
ไปยังอุปกรณ์
xdsdfu -f firmware_3.0.0.13.bin -r
จากนั้นตรวจสอบเวอร์ชันอีกครั้ง
xdsdfu -e
และได้ข้อความเอาต์พุตตามตัวอย่างดังนี้
USB Device Firmware Upgrade Utility
Copyright (c) 2008-2019 Texas Instruments Incorporated. Scanning USB buses for supported XDS110 devices...<<<< Device 0 >>>>VID: 0x0451 PID: 0xbef3
Device Name: XDS110 Embed with CMSIS-DAP
Version: 3.0.0.13
Manufacturer: Texas Instruments
Serial Num: M432xxxx
Mode: Runtime
Configuration: StandardFound 1 device.
การใช้งานร่วมกับ TI Cloud Tools: Online CCS IDE
เริ่มต้นด้วยการติดตั้งซอฟต์แวร์ TI CloudAgent ในเครื่องคอมพิวเตอร์ของผู้ใช้ (Windows, Linux/Ubuntu, Mac OS X) สำหรับการเชื่อมต่อกับ TI Cloud / Online CCS IDE
ดาวน์โหลดไฟล์สำหรับการติดตั้งใช้งานได้จาก https://software-dl.ti.com/ccs/esd/documents/ti_cloud_agent.html
จากนั้นไปยังเว็บไซต์ https://dev.ti.com/ และสมัครบัญชีผู้ใช้ก่อน แล้วทำขั้นตอน Login เพื่อเข้าใช้งาน
จากนั้นไปลองสร้างโปรเจกต์ใหม่ กดปุ่ม “Create project online”
สร้างโปรเจกต์ใหม่ จากรายการตัวอย่างที่มีให้เลือก
ตัวอย่างโปรเจกต์สำหรับบอร์ด MSP432P401R มีจำนวนมาก สามารถจำแนกออกเป็นกลุ่มย่อยได้ตามรูปแบบการใช้งานไลบรารี เช่น
- ใช้ TI-RTOS Kernel หรือไม่ใช้ RTOS (No RTOS) หรือ
- ใช้รูปแบบการเขียนโค้ดในระดับรีจิสเตอร์ (Register Access) หรือใช้ไลบรารี เช่น TI Drivers
ถัดไปเป็นการเลือกตัวอย่าง blinkled_msp432p401r
มาสร้างเป็นโปรเจกต์ใหม่ โดยเลือกจากรายการแล้วกดปุ่ม IMPORT
แล้วจะปรากฏหน้าต่าง Popup Dialog Window ให้กดปุ่ม OK
จากนั้นจึงเริ่มต้นการทำงานของ TI CCS Cloud IDE และจะเห็นว่า ทางซ้ายมือมีโครงสร้างของไฟล์ในโปรเจกต์ ให้ลองเปิดดูไฟล์ main.c
ลองทำขั้นตอน Project > Build Project เพื่อคอมไพล์โค้ด
เมื่อคอมไพล์โค้ดในโปรเจกต์ได้สำเร็จแล้ว ถัดไปเป็นการทำขั้นตอน Debug (คลิกเลือก Debug จากแถบเมนู) เพื่อรันโค้ดโดยใช้บอร์ดไมโครคอนโทรลเลอร์
เมื่อ Debugger ใน TI Cloud IDE เชื่อมต่อกับ TI Cloud Agent อาจมีการตรวจสอบเวอร์ชันและให้อัปเดทเฟิร์มแวร์ที่เป็นเวอร์ชันล่าสุด (ตามรูปตัวอย่างคือ 9.3.0.00032)
เมื่อเข้าสู่โหมด Debug Session จะเห็นว่า มีการรันคำสั่งมาหยุดอยู่ที่บรรทัดของคำสั่งแรกภายในฟังก์ชัน main()
ผู้ใช้สามารถคลิกเลือกบรรทัดในโค้ด เพื่อกำหนดเป็นตำแหน่งของ Breakpoint ได้และถ้าต้องการรันโค้ดต่อไป ก็ให้กดปุ่ม Resume (F8) ลองกดซ้ำหลาย ๆ ครั้ง แล้วสังเกต การเปลี่ยนแปลงของสถานะลอจิกของ LED สีแดงบนบอร์ด
ถ้าต้องการจบการทำงานของ Debugger ให้คลิก Stop บนแถบเมนูคำสั่ง
การทดลองใช้งาน TI-RTOS สำหรับ MSP432P401
ถัดไป มาลองตัวอย่างที่มีชื่อว่า mutex
ซึ่งเป็นการสาธิตการใช้ TI-RTOS และมีการสร้างทาสก์ (Tasks) จำนวน 2 ทาสก์ และสร้าง Semaphore เพื่อใช้ในการจัดลำดับการเข้าถึงข้อมูลที่ใช้ร่วมกัน
เมื่อสร้างโปรเจกต์ใหม่จากตัวอย่างได้แล้ว ก็ทำขั้นตอน Build Project และ Debug ตามลำดับ
กล่าวสรุป
เราได้เห็นขั้นตอนการใช้งานบอร์ด MSP‑EXP432P401R Launchpad ร่วมกับซอฟต์แวร์ TI CCS Cloud IDE บนเว็บเบราว์เซอร์ โดยไม่ต้องติดตั้งซอฟต์แวร์ทั้งหมดในเครื่องของผู้ใช้ แค่ติดตั้งซอฟต์แวร์ TI Cloud Agent เท่านั้น ก็สามารถเขียนโค้ด และทำขั้นตอนดีบักโค้ดโดยใช้ฮาร์ดแวร์จริงได้ และแสดงให้เห็นความสะดวกในการใช้งานซอฟต์แวร์ในลักษณะนี้สำหรับผู้เริ่มต้นใช้งาน