เรียนรู้การพัฒนาระบบฝังตัวโดยไม่มีการควบคุม [ปิด]


10

ฉันสำเร็จการศึกษาในปีนี้และมีงานแรกที่เกี่ยวข้องกับการเขียนโปรแกรม C การบริหาร Linux และการพัฒนาระบบฝังตัว ฉันรู้สึกพอใจกับงานของฉันมาก แต่ฉันเกรงว่าฉันจะไม่เป็นโปรแกรมเมอร์ที่ประสบความสำเร็จในสาขานี้ ฉันเป็นนักพัฒนาคนเดียวในงานของฉันตอนนี้ด้วยเพื่อนร่วมทีมของฉันเป็นผู้เชี่ยวชาญด้านฮาร์ดแวร์ไม่มีใครแนะนำหรือสอนฉันเกี่ยวกับวิธีการเขียนโปรแกรมแบบฝังตัวฉันต้องศึกษาด้วยตัวเองทั้งหมด

ดังนั้นนี่คือคำถามของฉัน เป็นไปได้หรือไม่ที่จะเป็นนักพัฒนาระบบสมองกลฝังตัวที่ดีเริ่มต้นจากตำแหน่งระดับเริ่มต้นโดยไม่มีการควบคุมดูแลจากโปรแกรมเมอร์อาวุโส? ฉันจะกลายเป็นหนึ่งเดียวได้ (อาจด้วยความช่วยเหลือของฟอรั่มช่อง IRC ตำราเรียนที่ดี) ใช้เวลานานแค่ไหน?

UPDATE:จนถึงตอนนี้ฉันได้รับคำตอบที่เป็นประโยชน์เพียงเล็กน้อย แต่ฉันก็ตระหนักว่าฉันต้องการตัวชี้เฉพาะในเรื่อง

ดังนั้นนี่คือคำถามเฉพาะของฉัน:

  1. มีตำราดีอะไรบ้างที่สามารถใช้เพื่อเรียนรู้การพัฒนาแบบฝัง
  2. ชุมชนออนไลน์พิเศษใดที่มีประโยชน์สำหรับนักพัฒนาที่ฝังตัวที่ต้องการ (ไม่นับสิ่งทั่วไปเช่น Stack Overflow, Reddit และอื่น ๆ )
  3. บล็อกที่น่าสนใจที่สุดสำหรับการพัฒนาแบบฝังคืออะไร?

คำตอบ:


3

คุณคิดถูกว่าการอยู่ในกรณีของคุณจะทำให้เรื่องยากขึ้นเล็กน้อย อย่างไรก็ตามมีวิธีการมากมายในการแก้ปัญหาของคุณ

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

  2. ลองเข้าร่วมค่ายโค้ดหรือความคิดริเริ่มใด ๆ ที่คุณพบกับนักพัฒนาคนอื่น ๆ เช่นคุณ มันง่ายกว่าที่จะแบ่งปันความรู้เมื่อคุณมีคนอยู่ข้างหน้าคุณ

  3. ถามเจ้านายของคุณที่จะจองเวลาได้อย่างน้อย10 วันของการฝึกอบรมปี ไม่จำเป็นต้องอธิบายข้อดีที่นี่ถ้าเขาปฏิเสธเขาก็โง่

  4. ลองไปประชุม 1 หรือ 2 งานหรืองานแสดงสินค้าที่เกี่ยวข้องกับธุรกิจของคุณ

  5. พยายามที่จะอ่านหนังสือทางเทคนิคทุกสองเดือน หากคุณสามารถอ่านเพิ่มเติมได้อย่าลังเล

  6. รับให้คำปรึกษา ไม่ใช่สิ่งที่ง่ายที่สุดที่จะประสบความสำเร็จแน่นอน

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

  8. วันนี้คุณเป็นผู้พัฒนาเพียงคนเดียว แต่ต้องขอบคุณการทำงานอย่างหนักของคุณ บริษัท ที่คุณอยู่จะเติบโตและอาจต้องจ้างคนที่คุณชอบ


3

ตอนนี้ฉันเป็นผู้พัฒนาที่โดดเดี่ยวในงานของฉันและเพื่อนร่วมทีมของฉันเป็นผู้เชี่ยวชาญด้านฮาร์ดแวร์

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


0

ไม่นานหลังจากที่คุณถามคำถามนี้ดังนั้นฉันหวังว่าคุณจะไปได้ด้วยดี นี่คือคำแนะนำเพิ่มเติมบางอย่างที่ฉันหวังว่าจะช่วยได้

กองแลกเปลี่ยนและบล็อก

น่าแปลกใจที่ Stack Exchange ไม่มีไซต์ถามตอบสำหรับระบบสมองกลฝังตัว มีคนเสนอเมื่อประมาณสองปีที่แล้ว แต่ยังอยู่ในช่วงของความมุ่งมั่นโดยไม่มีคนลงทะเบียนสนับสนุน หากคุณต้องการสร้างความแตกต่างไปที่นี่:

http://area51.stackexchange.com/proposals/15961/embedded-system-design-and-development

อ่านข้อเสนอและถ้าคุณเห็นด้วยคลิกกระทำเพื่อมีส่วนร่วม

เชื่อมโยงในยังมีกลุ่มระบบฝังตัวรวมทั้งกลุ่มที่เกี่ยวข้องอย่างใกล้ชิดที่อาจเป็นที่สนใจ:

ระบบฝังตัว

เฟิร์มแว

แขน

แหล่งข้อมูลบนเว็บ

EETimes มีคุณสมบัติเกี่ยวกับระบบฝังตัว

http://www.eetimes.com/design/embedded

ดร. ดอบส์เป็นเพื่อนที่ยาวนานกับโปรแกรมเมอร์ทุกประเภทและมีสิ่งดีๆมากมายที่ฝังอยู่

http://www.drdobbs.com/embedded-systems

ชุมชน Arduino มีขนาดใหญ่มีความกระตือรือร้นและได้ขจัดอุปสรรคมากมายในการเข้าสู่การเขียนโปรแกรมแบบฝังรวมถึงราคาและการฝึกอบรมก่อนหน้านี้

http://www.arduino.cc/

หากคุณเป็นนักพัฒนาซอฟต์แวร์หญิงหรือนักพัฒนาชายที่ไม่มีความรู้แจ้งซึ่งสิ่งที่ระบบฝังตัวส่วนใหญ่เป็นสโมสร "Good-Old-Boys" ลองเข้าไปที่เว็บไซต์นี้ ผู้เขียนเป็นบัณฑิตของ MIT ได้ทำสิ่งต่าง ๆ ออกมานอกกรอบ (หรือบางครั้งในกล่องอย่างเช่นที่ชาร์จ iPhone Altoids-box ของเธอ) และดูเหมือนว่าจะอุดมสมบูรณ์มากในการออกแบบการเขียนและการทำบล็อกวิดีโอ

http://www.youtube.com/watch?v=QkmtHqsYCbw&feature=player_embedded# !

http://www.adafruit.com/tutorials

ผู้ค้าหลายรายจะมีแผ่นข้อมูลจำนวนมากบันทึกแอปพลิเคชันเอกสารทางเทคนิคและสำเนาฟรีหรือชุดเครื่องมือประเมินผล บริษัท ชั้นนำในพื้นที่นี้ ได้แก่ ARM, Atmel, Freescale, intel, Microchip Technologies, NXP (เดิมชื่อ Phillips), TI และอื่น ๆ อีกมากมาย

หนังสือ

ไม่แน่ใจว่าคุณสามารถหามันได้หรือไม่ แต่ฉันมีหนังสือที่ฉันคิดว่าบอกเรื่องราวมากมายเกี่ยวกับระบบฝังตัวในแง่ของเครื่องมือ (แอสเซมเบลอร์, ลิ้งค์, ตัวตัก) และสิ่งพื้นฐานที่เกิดขึ้นในไมโครโปรเซสเซอร์ (ขัดจังหวะ I / O ตัวจัดการงานและตัวกำหนดเวลาโครงสร้างไฟล์อย่างง่าย) การเขียนโปรแกรมระบบสำหรับคอมพิวเตอร์ขนาดเล็ก, Daniel Marcellus

การอ้างอิงที่ทันสมัยกว่าคือ Embedded Linux Primer บทแรก ๆ พูดถึงเหตุผลเบื้องหลังการใช้ลีนุกซ์บนระบบสมองกลฝังตัวและกลไกบางอย่างที่เกี่ยวข้อง บทที่ 3 มีการอภิปรายที่ดีเกี่ยวกับโปรเซสเซอร์ + สนับสนุนชิปเซ็ตและตัวเลือก SOC (ระบบบนชิป) ที่สามารถพิจารณาเพื่อใช้ในการออกแบบปัจจุบัน ที่จริงแล้วเป้าหมายกำลังเคลื่อนไหวดังนั้นจึงเป็นจุดเริ่มต้นที่ร่วมสมัยกับการตีพิมพ์หนังสือ บทที่ 3 ยอดเยี่ยม แต่ควรเสริมด้วยการวิจัยเพิ่มเติมบนเว็บและหารือกับผู้ขาย โดยทั่วไปแล้ววิศวกรไฟฟ้าและหัวหน้าวิศวกรซอฟต์แวร์ในโครงการจะเลือกโปรเซสเซอร์ดังนั้นหากคุณอยู่ใน บริษัท และเรียนรู้ระบบสมองกลฝังตัวให้ทำการดำน้ำลึกบนฮาร์ดแวร์ที่พวกเขาเลือก

บทต่อมารวมถึงคำอธิบายอย่างละเอียดเกี่ยวกับแง่มุมต่าง ๆ ที่ใช้งานได้จริงของการกำหนดเป้าหมาย Linux ไปยังฮาร์ดแวร์ แต่การเป็นหุ้นส่วนกับผู้ขายและการใช้การออกแบบอ้างอิงที่ค่อนข้างมาตรฐานอาจช่วยลดความพยายามได้อย่างมาก


0

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

ฉันเริ่มต้นในสภาพแวดล้อมที่คล้ายกันและถ้าฉันเห็นว่าตอนนี้ฉันตรงข้ามกับเมื่อ 5 ปีที่แล้ว (จบการศึกษาในตำแหน่งวิศวกรอิเล็กทรอนิกส์ไม่มีภูมิหลังการเขียนโปรแกรม) ฉันคิดว่ามันเป็นสิ่งที่สมองมนุษย์สามารถทำได้ เมื่อฉันเริ่มฉันไม่เคยได้ยินรูปแบบการออกแบบ TDD, ... และไม่เคยเห็นรหัสของโปรแกรมจริง ตอนนี้ฉันรู้ว่าสิ่งเหล่านี้ค่อนข้างดีและรู้วิธีการใช้งาน สิ่งเดียวที่ฉันทำคือค้นหาเน็ตอ่านรหัสจากหนังสืออื่น ๆ และหนังสือบางเล่ม (ซึ่งฉันพบอีกครั้งในเน็ต) และที่สำคัญที่สุดเขียนรหัสตันตรวจแก้จุดบกพร่องเรียนรู้จากความผิดพลาดของฉัน การเรียนรู้จากความผิดพลาดนั้นเป็นวิธีที่ดีกว่ามากในการเรียนรู้บางสิ่งเมื่อเทียบกับการอ่านตัวอย่างและพฤติกรรมเลียนแบบ มันแปลกมาก แต่ฉันได้พูดคุยในชีวิตจริงกับสิ่งที่ฉันเรียกว่าโปรแกรมเมอร์ที่ดีสองสามครั้ง

โปรแกรมเมอร์คนอื่นเพียงคนเดียวที่นี่คือสิ่งที่คุณเรียกว่ารุ่นพี่ (เพราะเขาทำงานมา 15 ปี) เขาทำงานในวิธีที่แตกต่างจากฉันอย่างสิ้นเชิง และเขายังคงเขียน C ในรูปแบบ Crippled กับคลาสไม่เคยใช้ STL ไม่รู้ว่ารูปแบบการออกแบบนั้นเป็นอย่างไร ฯลฯ (ฉันอาจจะเริ่มถามคำถามเกี่ยวกับเรื่องนี้ในไม่ช้า พาเขาไปใช้วิธีการของฉันอย่างน้อย .. )


-1 สำหรับความหมายที่ดีอาจเป็นไปได้ แต่เบาะแสน้อย "ถ้าคุณฉลาดพอ ... " เปิด โปรดอย่าถามคำถามของทุกคนโดยเฉพาะอย่างยิ่งหากไม่มีหลักฐานชัดเจน ฉันไม่คิดว่าเป้าหมายของคุณจะไม่เป็นมิตร แต่สำหรับ Olga มันอาจดูเหมือนเป็นอย่างนั้น เธอดูเหมือนจะโพสต์คำถามนี้แล้วไม่ทำอะไรเพิ่มเติมใน Stack Exchange
DeveloperDon

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