
ยินดีต้อนรับสู่หลักสูตรวิดีโอ "Modern Embedded Systems Programming"
ในหลักสูตรนี้คุณจะได้เรียนรู้วิธีการตั้งโปรแกรมไมโครคอนโทรลเลอร์ที่ฝังอยู่ในวิธีที่ทันสมัยตั้งแต่พื้นฐานไปจนถึงการฝึกอบรมการเขียนโปรแกรมแบบฝังที่ทันสมัยร่วมสมัย
วิธีการที่เป็นเอกลักษณ์ของหลักสูตรนี้คือการก้าวลงไปที่ระดับเครื่องบ่อยครั้งและแสดงให้คุณเห็นว่าเกิดอะไรขึ้นภายในไมโครคอนโทรลเลอร์ฝังตัวของคุณ ความเข้าใจที่ลึกซึ้งยิ่งขึ้นนี้จะช่วยให้คุณใช้แนวคิดได้อย่างมีประสิทธิภาพมากขึ้นและมีความมั่นใจมากขึ้น
หากคุณกำลังมองหาหลักสูตรที่ใช้งานได้จริงมีโครงสร้างที่ดีและเชิงลึกเพื่ออธิบาย แนวคิดที่สำคัญในการเขียนโปรแกรมแบบฝังตัว หลักสูตร ฟรี นี้เหมาะสำหรับคุณ
หลักสูตรเริ่มต้นขึ้นในปี 2013 ดังนั้นข้อที่ถูกต้องตามกฎหมายคือ: "มันยังเกี่ยวข้องอยู่หรือไม่" คำตอบคือใช่บางทีอาจจะมากกว่าในปี 2013 ด้วยเหตุผลหลักสองประการ:
หลักสูตรนี้มุ่งเน้นไปที่ แนวคิดที่สำคัญและพื้นฐาน ในการเขียนโปรแกรมแบบฝังซึ่งไม่เคยมีสไตล์ แนวคิดที่ตั้งไว้ล่วงหน้าทั้งหมดได้รับการครอบคลุมในเชิงลึกและรวมถึง:
หลักสูตรนี้มุ่งเน้นไปที่สถาปัตยกรรม ARM Cortex-M ที่แพร่หลายซึ่งในช่วงทศวรรษที่ผ่านมากลายเป็น Dominat อย่างไม่ต้องสงสัยในตลาด MCU ที่ฝังอยู่ ความคุ้นเคยกับ ARM Cortex-M เป็นทักษะที่เป็นที่ต้องการมากที่สุดที่นายจ้างกำลังมองหา

โปรเซสเซอร์แขนรวมถึงตระกูล Cortex-M
หลักสูตรนี้ได้รับการออกแบบและสอนโดย Miro Samek ซึ่งเป็นผู้เชี่ยวชาญด้านซอฟต์แวร์ที่ฝังตัวที่มีประสบการณ์มากกว่า 30 ปี Miro สนุกกับการสอนและหลักสูตรวิดีโอหนังสือบทความและการพูดคุยการประชุมของเขาช่วยให้นักพัฒนาหลายคนพัฒนาทักษะของพวกเขาผ่านการสัมภาษณ์งานที่ยากลำบากและได้รับการว่าจ้างสำหรับตำแหน่งการเขียนโปรแกรมแบบฝังตัว

miro samek
หลักสูตรเริ่มต้นด้วยพื้นฐาน แต่ส่วนนี้สั้นและมุ่งเน้นไปที่แง่มุมที่ฝังอยู่ของการเขียนโปรแกรมใน C ดังนั้นคุณอาจต้องเสริมหลักสูตรนี้ด้วยการศึกษาทั่วไปของ ภาษาการเขียนโปรแกรม C คุณอาจต้องการเรียนรู้เล็กน้อยเกี่ยวกับวิธีการทำงานของ CPU
นอกจากนี้หลักสูตรนี้เป็นจริงซึ่งหมายความว่าเพื่อให้ได้ประโยชน์สูงสุดจากหลักสูตรนี้ที่คุณสามารถทำได้และควรทำตามและเรียกใช้โครงการที่กล่าวถึงบนพีซีของคุณ ในการทำเช่นนี้คุณจะต้องใช้ฮาร์ดแวร์ (บอร์ดฝังตัว) และซอฟต์แวร์ (ชุดเครื่องมือพัฒนาแบบฝังตัว)
บันทึก
บทเรียนก่อนเวลาหลายบทใช้ เครื่องจำลอง ดังนั้นคุณไม่จำเป็นต้องใช้บอร์ดที่ฝังอยู่ทันที บทเรียนขั้นสูงมากขึ้นซึ่งคุณโต้ตอบกับอุปกรณ์ต่อพ่วง MCU (เช่น GPIO ฯลฯ ) ต้องใช้บอร์ดฝังตัว
บอร์ดฝังตัวหลักที่ใช้ตลอดหลักสูตรคือ TIVAC Launchpad Board (AKA, EK-TM4C123GXL) ตามไมโครคอนโทรลเลอร์ แขน Cortex-M4F จาก Texas Instruments บอร์ดมีราคาไม่แพงและยังคงมีให้ซื้อจากผู้จัดจำหน่ายอิเล็กทรอนิกส์หลายราย มันมีอยู่ในตัวเองและให้ตัวดีบั๊กฮาร์ดแวร์/โปรแกรมเมอร์ในตัว (Stellaris ICDI) ที่เปิดใช้งานการดีบักขั้นตอนเดียวและตรวจสอบสถานะภายใน

TIVAC Launchpad (EK-TM4C123GXL)
ตอนนี้การดาวน์โหลดหลักสูตรยังมีรุ่นโครงการสำหรับ STM32 nucleo-C031C6 โดยใช้ ARM Cortex-M0+ MCU บอร์ดยังมีราคาไม่แพงมีอยู่ในตัวเองและรวมถึงการดีบักฮาร์ดแวร์ในตัว (ST-Link) ที่หลากหลายยิ่งขึ้นซึ่งช่วยให้สามารถทำการดีบักขั้นตอนเดียวและตรวจสอบสถานะภายใน

STM32 นิวเคลียส -C031C6
บันทึก
โครงการหลักสูตรสำหรับบอร์ดฝังตัวที่ราคาไม่แพงอื่น ๆ จะถูกเพิ่มในอนาคต
ในการสร้างและเรียกใช้รหัสที่นำเสนอในหลักสูตรนี้คุณจะต้องใช้ชุดเครื่องมือฝังตัวต่อไปนี้:
หลักสูตรเริ่มต้นด้วย IAR Embedded Workbench สำหรับ ARM (Ewarm) ซึ่งใช้ใน บทเรียน 1-19 IAR EWARM เป็นชุดเครื่องมือระดับมืออาชีพที่มีคอมไพเลอร์ที่ดีและดีบักเกอร์ที่มีเสถียรภาพ

iar Ewarm กับหนึ่งใน projecs
บันทึก
IAR EWARM เคยมีให้บริการภายใต้ใบอนุญาตเริ่มต้นแบบ จำกัด ขนาด จำกัด แต่เมื่อเร็ว ๆ นี้ IAR Systems หยุดเสนอใบอนุญาตฟรี ตัวเลือกฟรีที่เหลืออยู่เท่านั้นคือใบอนุญาตการประเมิน 2 สัปดาห์ โครงการสำหรับ iar Ewarm ได้รับการปรับปรุงเป็นชุดเครื่องมือรุ่นใหม่และมีให้สำหรับบทเรียนที่ 1-19
Keil MDK (ชุดพัฒนาไมโครคอนโทรลเลอร์) เป็นอีกชุดเครื่องมือพัฒนาระดับมืออาชีพที่ใช้ในหลักสูตรวิดีโอนี้ ตรงกันข้ามกับ IAR EWAR, Keil MDK มีการเสนอภายใต้ใบอนุญาตที่ได้รับอนุญาตมากขึ้นรวมถึงรุ่นชุมชน Keil MDK V6 ฟรี

keil uvision ide กับหนึ่งใน projecs
บันทึก
ขณะนี้โครงการ Keil MDK พร้อมใช้งานสำหรับบทเรียนทั้งหมดของหลักสูตรนี้ ซึ่งรวมถึงบทเรียนที่ 1-21 ซึ่งเดิมนำเสนอสำหรับ IAR EWARM หรือ TI CCS
เนื่องจากความต้องการที่ได้รับความนิยมสองบทเรียนของหลักสูตร (19 และ 20) แสดงให้เห็นถึง IDE Code Composer Studio (CCS) IDE จาก Texas Instruments สิ่งที่มีค่าเพียงอย่างเดียวที่นี่คือการใช้คอมไพเลอร์ GNU-ARM โอเพนซอร์สและ linker
บันทึก
Code Composer Studio (CCS) 11 ใช้คอมไพเลอร์ TI โดยค่าเริ่มต้นและไม่ได้มาพร้อมกับคอมไพเลอร์ GNU-ARM อีกต่อไป แต่สามารถติดตั้งเครื่องมือ GNU-ARM ได้ผ่านเมนู: "Help | ติดตั้งเครื่องมือคอมไพเลอร์ GCC ARM ... "

สตูดิโอโค้ดที่ใช้ Eclipse Studio ide กับหนึ่งใน projecs
CCS IDE ขึ้นอยู่กับ Eclipse และด้วยเหตุนี้จึงช้าในการเปิดตัวและใช้งานอย่างเจ็บปวด โครงการ Eclipse นั้นยากที่จะแบ่งปันเนื่องจากประกอบด้วยไฟล์และไดเรกทอรีหลายไฟล์ นอกจากนี้โครงการไม่สามารถเปิดได้ใน IDE แต่ต้อง "นำเข้า" แทนที่จะเป็น ข้อความแสดงข้อผิดพลาดที่สร้างขึ้นมักจะสับสน ในที่สุดการดีบักก็ช้าและไม่เสถียร
ที่เก็บนี้ให้การดาวน์โหลดโครงการที่คุณสามารถเปิดในชุดเครื่องมือฝังตัวที่เฉพาะเจาะจงและทำงานบนพีซีของคุณที่บ้าน โครงการถูกจัดระเบียบตามที่แสดงในต้นไม้ไดเรกทอรีที่มีคำอธิบายประกอบต่อไปนี้:
modern-embedded-programming-course/
+---lesson-01/ // lesson number
| +---simulator-iar/ // simulator with IAR EWARM
| | workspace.eww // IAR workspace
| |
| ---simulator-keil/ // simulator with KEIL MDK
| ---RTE/ // Run Time Environment for KEIL MDK
| lesson.uvprojx // uVision project
|
+---lesson-.../
|
+---lesson-04/
| +---stm32c031-keil/ // STM32C031 board with KEIL-MDK
| | ---RTE/ // Run Time Environment for KEIL MDK
| +---tm4c123-iar/ // TM4C123 board with IAR EWARM
| | workspace.eww // IAR workspace
| |
| ---tm4c123-keil/ // TM4C123 board with KEIL MDK
| ---RTE/ // Run Time Environment for KEIL MDK
| lesson.uvprojx // uVision project
|
+---lesson-...
|
+---lesson-19
| ---tm4c123-ccs // TM4C123 board with CCS
| +---ek-tm4c123gxl/ // board-specific code
| ---targetConfigs/ // CCS project directory
| .ccsproject // CCS project file
| .csproject // Eclispe project file
| .project // Eclipse project file
โครงการทั้งหมดสำหรับ ARM/KEIL UVISION ได้รับการอัปเดตจาก Compiler-5 ที่ล้าสมัยไปยัง Compiler-6 ที่ใหม่กว่า
หากคุณต้องการหารือเกี่ยวกับหลักสูตรนี้หรือวิชาที่เกี่ยวข้องโปรดโพสต์คำถามหรือความคิดเห็นของคุณใน YouTube ในส่วนการยกย่องภายใต้บทเรียนวิดีโอที่เกี่ยวข้อง
แหล่งข้อมูลมากมายสำหรับหลักสูตรวิดีโอมีให้บริการผ่านเว็บเพจ Companion ที่:
www.state-machine.com/video-course
ในหมู่คนอื่น ๆ คุณสามารถหาได้ที่นั่น:
ถ้าคุณชอบโครงการนี้โปรด:

กระจายคำเกี่ยวกับวิดีโอที่คุณชอบ (เช่นโดยการโพสต์บนเว็บไซต์อื่น ๆ ที่แวะเวียนโดยคนที่ฝังตัว)
ให้ดาวที่เก็บ GitHub นี้ (ที่มุมบนขวาของหน้าต่างเบราว์เซอร์ของคุณ):
