จะเป็นนักพัฒนาซอฟต์แวร์ฝังตัวได้อย่างไร


22

ฉันต้องการคำแนะนำสำหรับผู้ที่ต้องการพัฒนาซอฟต์แวร์ฝังตัวที่ดีหรือต้องการปรับปรุงในพื้นที่นี้

ฉันต้องเรียนรู้อะไรบ้างเกี่ยวกับฮาร์ดแวร์ซอฟต์แวร์

หนังสือเล่มไหนที่แนะนำมากที่สุด? บล็อก?

ในท้ายที่สุดฉันจะไปจากนักอดิเรกมือใหม่ถึงมืออาชีพที่ยอดเยี่ยมได้อย่างไร?

คำตอบ:


39

คำตอบทั้งหมดได้ดีจนถึงขณะนี้ แต่ฉันจะโยนสองเซ็นต์ของฉัน

ต่อไปนี้เป็นเคล็ดลับบางอย่างที่มีการบิดและเพิ่มเติม:

  • เรียนรู้ C: ภาษาพื้นฐานของฮาร์ดแวร์ที่ยังพกพาได้ (ระดับหนึ่งเกินไป) ไม่เพียงแค่เรียนรู้ แต่กลายเป็นผู้เชี่ยวชาญของคุณสมบัติทั้งหมดเช่นความผันผวนและทำไมจึงเป็นสิ่งสำคัญสำหรับการเขียนโปรแกรมควบคุมอุปกรณ์
  • เริ่มต้นด้วยชุดพัฒนาที่ดีเช่น Arduino แต่ดังที่กล่าวไว้ก่อนเรียนรู้สถาปัตยกรรมอื่น ๆ เมื่อคุณรู้สึกดี โชคดีที่มีบอร์ดที่เข้ากันได้กับ Arduino บางตัวที่สร้างขึ้นด้วยโปรเซสเซอร์อื่น ๆ ด้วยวิธีนี้คุณสามารถเขียนการออกแบบเดียวกันบน uC ที่แตกต่างกันโดยไม่ทำให้การออกแบบทั้งหมดของคุณยุ่งเหยิง
  • ในขั้นตอนการเรียนรู้อย่าลังเลที่จะคิดค้นวงล้อบนไดรเวอร์อุปกรณ์หรือรหัสอื่น ๆ อย่าเพิ่งใส่รหัสไดรเวอร์ของคนอื่นลงไป มีค่าในการคิดค้นวงล้อใหม่เมื่อคุณเรียนรู้
  • ท้าทายตัวเองให้เขียนโค้ดของคุณใหม่ได้อย่างมีประสิทธิภาพยิ่งขึ้นในแง่ของความเร็วและการใช้หน่วยความจำ
  • เริ่มคุ้นเคยกับรูปแบบที่แตกต่างกันของสถาปัตยกรรมซอฟต์แวร์ระบบฝังตัว เริ่มต้นด้วยการประมวลผลวนลูปแบบอินเทอร์รัปต์ / แบ็คกราวน์พื้นฐานจากนั้นเลื่อนขึ้นไปที่ตัวกำหนดเวลาแบ็คกราวน์จากนั้นระบบปฏิบัติการแบบเรียลไทม์
  • รับการควบคุมแหล่งที่ดี! ฉันชอบMercurial ด้วยตัวเอง
  • แม้กระทั่งลงทะเบียนสำหรับการโฮสต์เว็บไซต์การควบคุมแหล่งที่มาฟรีเช่นSourceforge.netหรือBitbucket.orgเพื่อโฮสต์โครงการของคุณแม้ว่าคุณจะเป็นเพียงคนเดียวที่ทำงานกับมัน พวกเขาจะสำรองรหัสของคุณดังนั้นคุณไม่ต้องกังวลเกี่ยวกับความผิดพลาดของฮาร์ดไดรฟ์ที่จะทำลายทุกอย่าง! การใช้ VCS แบบกระจายมีประโยชน์เพราะคุณสามารถตรวจสอบการเปลี่ยนแปลงฮาร์ดไดรฟ์ของคุณแล้วอัปโหลดไปยังไซต์โฮสต์เมื่อพร้อม
  • เรียนรู้เครื่องมือของคุณอย่างดีสำหรับชิปอะไรก็ตามที่คุณกำลังทำอยู่! การรู้ว่าคอมไพเลอร์สร้างแอสเซมบลีอย่างไรเป็นสิ่งจำเป็น คุณต้องเข้าใจว่าโค้ดมีประสิทธิภาพเพียงใดเนื่องจากคุณอาจต้องเขียนซ้ำในแอสเซมบลี การรู้วิธีใช้ไฟล์ลิงเกอร์และการตีความเอาท์พุทแผนที่หน่วยความจำก็สำคัญเช่นกัน! คุณจะรู้ได้อย่างไรว่ารูทีนที่คุณเพิ่งเขียนเป็นสาเหตุของการใช้ ROM / Flash มากเกินไป!
  • เรียนรู้เทคนิคใหม่และทดสอบกับพวกเขาในการออกแบบของคุณ!
  • สมมติว่าไม่มีอะไรเมื่อทำการดีบัก ยืนยันสิ!
  • เรียนรู้วิธีการตั้งโปรแกรมอย่างละเอียดเพื่อตรวจจับข้อผิดพลาดและตรวจสอบสมมติฐาน (เช่นใช้การยืนยัน)
  • สร้างข้อมูลการดีบักลงในรหัสของคุณซึ่งคุณสามารถเช่นเอาท์พุทปริมาณการใช้หน่วยความจำหรือรหัสการทำโปรไฟล์ด้วยตัวจับเวลาหรือใช้หมุดสำรองบน ​​uC เพื่อสลับและวัดเวลาแฝงการขัดจังหวะบนขอบเขต O

นี่คือหนังสือบางเล่ม:

นี่คือบางเว็บไซต์:

  • ผู้เชี่ยวชาญด้านสมองกลฝังตัว
  • กลุ่ม Ganssleแจ็ค Ganssle มีเรื่องราวทางประวัติศาสตร์ที่ยอดเยี่ยมที่จะบอก อ่านบทความ เขาได้สั่งสอนเล็กน้อยเกี่ยวกับบางสิ่งแม้ว่า
  • Embedded.comข้อมูลที่ดีสำหรับเทคนิคและเคล็ดลับล่าสุดจาก Ganssle Barr และผู้เชี่ยวชาญในอุตสาหกรรมอื่น ๆ

1
@ Adam: ฉันรักหนังสือเล่มนั้น! โปรแกรมเมอร์ในทางปฏิบัติ! ฉันไม่อยากเชื่อเลยว่าฉันจะลืมมัน!
Jay Atkinson

1
+1 สำหรับ Mercurial ฉันชอบมันแม้ว่าฉันจะมีความรู้สึกว่าความสามารถในการใช้คอมไพล์จะมีค่ามากกว่า ทำความรู้จักกับพื้นฐานของ SVN มีความสำคัญพอสมควรหากคุณต้องการมีส่วนร่วมหรือดึงออกมาจากโครงการอื่น ๆ เนื่องจากเป็นสิ่งที่หลายคนใช้
tyblu

17
  • จำไว้ว่า"ไม่มีกระสุนเงิน"อย่าตกหลุมพรางของการเชื่อว่ามีเครื่องมือวิธีการภาษาหรือระบบที่สามารถแก้ปัญหาทั้งหมดได้
  • มาเป็นผู้เชี่ยวชาญใน C
    • เรียนรู้การเดินทางโดยไม่ใช้ malloc () และ POSIX
  • อย่าพลาดที่จะอยู่บนสถาปัตยกรรมเดียวมันเป็นเรื่องง่ายที่จะเป็น PIC หรือ AVR หรือ ARM fanboy โดยไม่ได้ตั้งใจ
  • สร้างสิ่งต่าง ๆ ดีบักทำให้ใช้งานได้ ฝึกฝนบ่อยๆทำให้เก่ง
  • เรียนรู้ระบบควบคุมแหล่งข้อมูลอย่างน้อยหนึ่งระบบ (SVN / git / etc) และใช้งาน
  • เตรียมพร้อมทดสอบสมมติฐานของคุณเสมอ ข้อผิดพลาดมักจะอยู่ในสิ่งที่คุณสมมติว่าใช้งานได้
  • อย่าพึ่งนัก debuggers มากเกินไปพวกเขาต่างกันในทุกระบบและมีความน่าเชื่อถือที่แตกต่างกันไป
  • คิดอย่างเหนียวแน่น เมื่อการแก้ปัญหาให้คิดเกี่ยวกับรหัสรอยเท้า RAM และต้นทุนฮาร์ดแวร์

สำหรับหนังสือฉันขอแนะนำให้ขุดผ่านประวัติศาสตร์ ที่สุดของเทคนิคซอฟต์แวร์ฝังตัวในวันนี้มาจากขอบเลือดของปีกลาย

ฝึกซ้อมทุกวัน


5
ในทุกสิ่งที่ฉันได้เรียนรู้การควบคุมเวอร์ชัน (ฉันใช้การโค่นล้มในปัจจุบัน) เป็นสิ่งที่มีค่าที่สุดสำหรับผลผลิตของฉัน เรามี Microsoft แหล่งที่มาที่ปลอดภัยเมื่อฉันเริ่มต้นที่นี่ดังนั้นฉันจึงใช้โซลูชันที่ไม่ดีและก็ดี
Kortuk

ฉันไม่สามารถจินตนาการชีวิตของฉันได้หากไม่มีระบบควบคุมแหล่งที่มา ฉันใช้ SVN ด้วยเช่นกัน ฉันไม่รู้ว่าสิ่งต่าง ๆ ทำงานได้อย่างไรก่อนที่ฉันจะรู้จัก SVN
Daniel Grillo

1
+1 สำหรับ "ข้อผิดพลาดมักจะอยู่ในสิ่งที่คุณสมมติว่าใช้งานได้"
JustJeff

"เรียนรู้การเดินทางโดยไม่ใช้ malloc" - เพราะเหตุใด เพื่อลดความเสี่ยงของการชนกันของกอง / กอง?
rzetterberg

@rzetterberg ระบบฝังตัวจำนวนมากหลีกเลี่ยงการใช้การจัดสรรหน่วยความจำแบบไดนามิกเนื่องจากสามารถนำไปสู่การกระจายตัวของฮีปและการกำหนดไม่แน่นอน
Toby Jaffey

8

คำตอบอื่น ๆ นั้นยอดเยี่ยม แต่ความแตกต่างที่ใหญ่ที่สุดระหว่างมือสมัครเล่นและมืออาชีพควรคำนึงถึงคุณภาพ ดังนั้นให้โครงการของคุณดำเนินไปอย่างไม่หยุดเมื่อคุณทำโครงการ 80% พิสูจน์ได้ว่ามันใช้งานได้และจัดทำเอกสารอย่างถูกต้อง

ตรวจสอบให้แน่ใจว่ารหัสของคุณสามารถอ่านและบำรุงรักษาได้

และอย่าลืมที่จะมีความสนุกสนานเช่นกัน :)


7

นอกเหนือจากที่เห็นได้ชัดเช่นการเรียนรู้ C และเริ่มต้นด้วยคณะกรรมการนักพัฒนาบางอย่างที่คุณจะต้องการที่จะเรียนรู้ที่จะอ่านเอกสารข้อมูลทางเทคนิคไมโครคอนโทรลเลอร์
ผู้ผลิตเพิ่มคุณสมบัติมากขึ้นให้กับไมโครคอนโทรลเลอร์ซึ่งทำให้มีความซับซ้อนมากขึ้นเรื่อย ๆ แผ่นข้อมูลไม่เพียง แต่ให้คุณสมบัติทางไฟฟ้า (ซึ่งเป็นที่น่าสนใจสำหรับวิศวกรไฟฟ้ามากกว่าผู้พัฒนาซอฟต์แวร์) แต่ยังมีคำอธิบายโดยละเอียดเกี่ยวกับการลงทะเบียนแผนที่หน่วยความจำและอื่น ๆ
ในการอ่านแผ่นข้อมูลครั้งแรกอาจดูน่ากลัว อาจทำให้เกิดอาการปวดศีรษะรุนแรงขึ้นในระยะการดีบัก


3

'สมองกลฝังตัว' เป็นคำศัพท์ที่โหลดเล็กน้อย ..

ในบางกรณีระบบใด ๆ ที่อุทิศให้กับการเรียกใช้แอปพลิเคชันเดียวอาจเรียกว่าระบบฝังตัวตราบใดที่มีฮาร์ดแวร์บางอย่างที่ต้องควบคุม คุณสามารถเรียก PPC6060 ขนาด 400MHz ที่มี RAM 2GB เรียกใช้แอปพลิเคชัน java ที่ด้านบนของ linux และระบบฝังตัวหากเกิดการควบคุมกระบวนการผ่านโมดูล I / O ภายในเครื่อง ในทางตรงกันข้าม arduino ที่ใช้งานแอปพลิเคชั่นเครือข่ายขั้นต่ำบางประเภทจะไม่เป็นระบบฝังตัวมากนัก แต่อาจ 'ฝัง' ทำให้คนส่วนใหญ่คิดว่าตัวควบคุมแฟลชที่มี RAM เพียงไม่กี่ร้อยไบต์ไม่มีระบบปฏิบัติการที่จะพูดและอุปกรณ์ต่อพ่วงบนชิปมากมาย

ที่ถูกกล่าวว่าอาจเป็นอุปสรรคที่ใหญ่ที่สุดสองโปรแกรมเมอร์ที่ไม่ฝังตัวมักจะเผชิญกับการเรียนรู้ระบบฝังตัวคือการลงทะเบียน I / O และขัดจังหวะ

อินเทอร์รัปต์อาจง่ายกว่าสำหรับแนวคิดสองประการสำหรับโปรแกรมเมอร์ที่ไม่ได้ฝังตัวเนื่องจากปัญหาหลักของการเขียนโปรแกรมเหล่านี้การทำงานพร้อมกันและการเขียนโปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์ สิ่งที่ทำให้ความเจ็บปวดขัดจังหวะคือการตระหนักถึงความไวสูงสุดของระบบต่อคุณภาพของการจัดการขัดจังหวะและความซับซ้อนของการจัดการกับฮาร์ดแวร์เพื่อล้างเงื่อนไขการขัดจังหวะและตั้งค่าสำหรับระบบถัดไป ด้วย GUI การหยุดชะงักจะฆ่าเพียงแค่แอปพลิเคชัน ด้วยตัวจัดการขัดจังหวะการหยุดชะงักทำให้ระบบทั้งหมดของคุณล็อค

อุปกรณ์ I / O ดูเหมือนจะเป็นพื้นที่ที่ทำให้เกิดปัญหามากที่สุด สำหรับมือใหม่ก็สามารถจะค่อนข้างแปลกใจที่จะค้นพบว่าการอ่านการลงทะเบียนนี้ที่นี่มีผลต่อการลงทะเบียนที่มี เขียน 1 เพื่อล้างบิต บิตสถานะที่ล้างตัวเองเมื่อคุณอ่านการลงทะเบียนข้อมูล ฯลฯ มีความเป็นไปได้มากมายกับฮาร์ดแวร์ I / O ที่ไม่มีกฎทั่วไปในการจัดการกับมันยกเว้นเรียนรู้วิธีการค้นหาและตีความแผ่นข้อมูลอุปกรณ์ การเขียนไดรเวอร์อุปกรณ์สำหรับพอร์ตอนุกรมจะสอนคุณเกี่ยวกับการเขียนโปรแกรม I / O ระดับต่ำมาก

ไม่มีอะไรมาแทนที่การเรียนรู้สิ่งเหล่านี้นอกจากจะม้วนแขนเสื้อแล้วเขียนโปรแกรมภาษาซีและ / หรือภาษาประกอบบนโลหะเปลือย แม้แต่ระบบฝังตัวที่ใช้ java ดังกล่าวก็ต้องการไดร์เวอร์อุปกรณ์สำหรับ I / O และท้ายที่สุดก็หมายความว่าการจัดการกับ C. ประสบการณ์บางอย่างเป็นครูที่ดีที่สุด เลือกไมโครคอนโทรลเลอร์ไม่ว่าจะเป็น MSP430, TMS320, AVR, ARM, PIC, 68HC11 อะไรก็ตามค้นหาชุด eval และสร้างระบบบางระบบ


3

$50เสื้อโอ$แต่คุณต้องประสานกับ mini pro ฉันไม่ได้เป็นแฟนของครอบครัว PIC แต่คุณอาจต้องการที่จะได้รับบางสิ่งบางอย่างที่นั่นเป็นบทเรียนประวัติศาสตร์เหมือนกันไปสำหรับ 8051 ทั้งสองครอบครัวยังคงได้รับความนิยมและใช้งานไม่ได้มีประสิทธิภาพมากและได้ผ่านสถาปัตยกรรมอื่น ๆ เรียนรู้แขนและนิ้วหัวแม่มืออย่างแน่นอนอาจ MIPS (ซึ่งเป็น pic-32 เพื่อไม่ให้สับสนกับสถาปัตยกรรม PIC แบบเดิมที่เก่ากว่า) ARMmite Pro เป็นบอร์ดระดับ ARM ที่ดีแม้ว่า Stellaris อาจจะเป็นเช่นนั้น

สิ่งที่คุณต้องการเรียนรู้ที่นี่คือแอสเซมเบลอร์สำหรับแพลตฟอร์มต่าง ๆ C. C และปฏิสัมพันธ์ของแอสเซมเบลอร์ เครื่องมือต่าง ๆ GCC และไม่ใช่ GCC วิธีการอ่านแผ่นข้อมูล / โปรแกรมเมอร์อ้างอิง (และตระหนักว่าพวกเขาทั้งหมดมีข้อผิดพลาดบางอย่างหรืออาจทำให้เข้าใจผิดไม่ไว้ใจพวกเขาฮาร์ดแวร์ชนะเหนือเอกสาร) และวิธีการอ่านหรือใช้วงจร แผนเหล่านี้ไม่ได้ซับซ้อนตามปกติ บอร์ดจำนวนหนึ่งเหมาะสำหรับการเชื่อมต่อในโครงการซึ่งหมายความว่าพวกเขาไม่มีขยะบนบอร์ดเพียงแค่เข้าถึง I / O พินได้โดยตรง แต่นั่นไม่ใช่สิ่งที่ดีที่สุดสำหรับการเรียนรู้ บางอย่างเช่นStellarisบอร์ดที่เจ็บปวดสำหรับโครงการมีสิ่งที่สนุกสนานมากมายบนกระดานสำหรับการเรียนรู้แบบฝังและเรียนรู้ที่จะยืม / ใช้ไดรเวอร์หรือเขียนของคุณเองจากเอกสารข้อมูลทางเทคนิค ผีเสื้อ Atmel AVR เป็นบอร์ดที่ดีเช่นกันหากยังมีอยู่อาจต้องบัดกรีในพอร์ตอนุกรมของคุณเองเพื่อตั้งโปรแกรมหรือเพียงแค่เสียบสายไฟในรู สิ่งที่ทำให้คุณมีอุปกรณ์ต่อพ่วงไม่กี่อย่างที่คุณสามารถเรียนรู้การเขียนโปรแกรม

แม้ว่าคุณจะทำงานฝังตัวที่เกี่ยวข้องกับการเขียนแอปพลิเคชันโดยใช้การเรียก SDK หรือ API บน linux หรือ RTOS (ไม่เคยสัมผัสกับฮาร์ดแวร์หรือการอ่านเอกสารข้อมูล) ความรู้ข้างต้นจะยังคงนำพาคุณต่อไป


3

บทความนี้ (แปลอัตโนมัติจากภาษาโปรตุเกสเป็นภาษาอังกฤษ) มีภาพรวมที่ดีของการพัฒนาอาชีพในฐานะนักพัฒนาซอฟต์แวร์ฝังตัว หมายเหตุ: ต้นฉบับที่นี่

มันเริ่มต้นจากการสรุปขอบเขตของความรู้ที่คุณต้องพัฒนา:

  1. ความรู้: คุณต้องรู้จักทฤษฎีที่เกี่ยวข้องกับระบบฝังตัว นี่หมายถึงฮาร์ดแวร์และซอฟต์แวร์ มันเป็นไปไม่ได้ที่จะเป็นนักพัฒนาซอฟต์แวร์ฝังตัวที่มีความสามารถโดยไม่ต้องรู้สถาปัตยกรรมฮาร์ดแวร์ที่ใช้งานได้

  2. ทักษะ: คุณต้องได้รับประสบการณ์ในพื้นที่ ต้องการการฝึกฝน คุณสามารถตกแต่ง mnemonics แอสเซมเบลอร์ของ PIC ทั้งหมด แต่ก็ไม่มีประโยชน์หากคุณไม่สามารถขับ LED ด้วยความรู้นี้

  3. ทัศนคติ: เหนือสิ่งอื่นใดคุณต้องมีทัศนคติที่จะทำให้คุณเติบโตในพื้นที่นี้ มันเป็นแบบไดนามิกมากที่มีการเปลี่ยนแปลงและการพัฒนาบ่อยครั้ง คุณต้องมีแรงจูงใจเสมอ (a) ต้องเรียนรู้ด้วยตนเองเพลิดเพลินกับการเรียนรู้ "ปรับแต่ง" และเข้าใจวิธีการทำงานของสิ่งต่าง ๆ หากปราศจากทัศนคติดังกล่าวจะทำให้คุณเร็ว ๆ นี้ เนื่องจากพื้นที่นี้คุณต้องมีความต่อเนื่องมาก

จากนั้นให้คำแนะนำต่อไปนี้สำหรับการควบคุมพื้นที่เหล่านี้ (และพัฒนาด้วยข้อความเพิ่มเติมต่อไปนี้เป็นเพียงส่วนหัว):

  1. สิ่งที่คุณต้องเรียนรู้เกี่ยวกับฮาร์ดแวร์ (อย่างน้อย)
  2. สิ่งที่คุณต้องเรียนรู้ซอฟต์แวร์ (อย่างน้อย)
  3. นอกจากนี้ศึกษาระบบปฏิบัติการ
  4. คุณต้องมีการฝึกอบรม
  5. อย่าหยุดเรียนรู้และพัฒนาเครือข่ายของคุณต่อไป!

1
ขอบคุณสำหรับลิงค์! การแปลของ Google ดูเหมือนจะบ่งบอกว่าเป็นคำถามที่เหมาะสมที่สุดสำหรับคำถามนี้ อย่างไรก็ตามเราต้องการให้ (1) ข้อความเป็นภาษาอังกฤษ (เราเป็นชุมชนที่พูดภาษาอังกฤษแม้ว่าเราหลายคนจะเป็นสองภาษาอย่างน้อย) - แปลอัตโนมัติหากคุณจำเป็นต้อง (2) คำตอบรวมถึง บทสรุปของบทความในกรณีที่ลิงค์เสียชีวิต ฉันได้แก้ไขโพสต์ของคุณเพื่อให้เป็นไปตามหลักเกณฑ์เหล่านี้และมอบมันให้คุณ
Kevin Vermeer

2

คิดสองครั้งก่อนที่คุณจะเป็นวิศวกรซอฟต์แวร์ฝังตัว ฉันมีช่วงเวลาในอาชีพของฉัน ฉันได้พัฒนาซอฟแวร์ใน 5 ปีแรกแทนที่จะย้ายไปที่การขาย / การตลาดทำมา 15 ปีจัดการธุรกิจ 100 + M $ และตอนนี้ฉันกลับไปที่ซอฟต์แวร์

เมื่อฉันกลับมาที่ซอฟต์แวร์หลังจาก 15 ปีฉันจำได้ว่าทำไมฉันถึงออกตั้งแต่แรก มันยาก. มันต้องการความเข้มข้นรหัสหลายร้อยบรรทัดที่สัมผัสกันและคุณทุกคนต้องเก็บไว้ในหน่วยความจำ ฝังตัวเป็นเรื่องยากโดยเฉพาะอย่างยิ่ง

คุณต้องเข้าใจตัวเองด้วย หากคุณเป็นคนฉลาดหลักแหลมรอบคอบและอดทนคุณจะสร้างวิศวกรที่ยอดเยี่ยม หากคุณขาดหายไปหนึ่งในนั้นคุณจะเฉลี่ยที่ดีที่สุด ลองคิดดู หากคุณฉลาดและไม่อดทนไม่คุ้มค่ามากนักเพราะไม่ว่าคุณจะฉลาดแค่ไหนวิศวกรรมที่ดีต้องใช้ความอดทนและใส่ใจในรายละเอียด

คุณต้องดูรหัสชั่วโมงในเวลาที่สะดวกสบายโดยไม่ต้องพูดคุยด้วย ฉันสังเกตว่าคนที่มีทักษะทางสังคมที่ดีจะไม่สามารถทนทานได้

ถ้าทั้งหมดนี้ตรวจสอบกว่าอ่านหนังสือที่ยอดเยี่ยมทั้งหมดทำแบบฝึกหัดและคุณจะสร้างวิศวกรที่ยอดเยี่ยม .. ขอให้โชคดี


1

ทุกคนพูดสิ่งที่ดี ดังนั้นฉันจะให้คำแนะนำทั่วไป: อ่านอ่านอ่านอ่านอ่านอ่านอ่านอ่าน!

อ่านทุกบทความในhttp://embeddedgurus.com หากคุณไม่เข้าใจบางสิ่ง หากในคำอธิบายของสิ่งเหล่านั้นคุณพบสิ่งที่คุณไม่เข้าใจให้อ่านเพิ่มเติม ฉันกำลังมุ่งหน้าสู่ตำแหน่งซอฟต์แวร์แบบฝังตัวและประสบการณ์ของฉันเป็นโครงการมืออาชีพจำนวนหนึ่งในช่วงไม่กี่ปีที่ผ่านมาและการอ่านจำนวนมาก ประสบการณ์ช่วยให้คุณลองทำสิ่งต่าง ๆ แต่การอ่านช่วยให้คุณรู้ว่าสิ่งที่คุณเคยลองทำมาก่อนอาจจะดีกว่าที่คุณคิด มันแนะนำให้คุณรู้จักกับแนวคิดที่คุณสามารถทำงานได้ในทุกสถานการณ์

แค่อ่าน!


0

มาเป็นผู้เชี่ยวชาญในการทำความเข้าใจเกี่ยวกับตัวจับเวลาและการสื่อสารแบบอนุกรม คุณควรทำให้มือสกปรกด้วย ทำความเข้าใจกับโปรโตคอล RF ปรับแต่งตามความต้องการของคุณ อย่าเพิ่งลองชุดของรหัสในขณะที่การดีบั๊ก รหัสทำสิ่งที่คุณบอกให้ทำ อ่านคู่มือผู้ใช้และแผ่นข้อมูลจากนั้นทำการเปลี่ยนแปลงหากสิ่งที่ใช้ไม่ได้ ทั้งหมดที่พูดและทำวิธีเดียวที่จะกลายเป็นผู้เชี่ยวชาญได้คือการฝึกฝน ใช้งานอาคาร ในไม่ช้ามันก็จะกลายเป็นธรรมชาติที่สอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.