นามบัตรของฉันใช้ Linux

แปลบทความจาก โพสต์บล็อก วิศวกร จอร์จ ฮิลเลียร์ด

นามบัตรของฉันใช้ Linux
คลิกได้

ฉันเป็นวิศวกรระบบสมองกลฝังตัว ในเวลาว่าง ฉันมักจะมองหาบางอย่างที่สามารถนำไปใช้ในการออกแบบระบบในอนาคตหรือบางอย่างตามความสนใจของฉัน

หนึ่งในนั้นคือคอมพิวเตอร์ราคาถูกที่สามารถรัน Linux ได้ และยิ่งราคาถูกก็ยิ่งดี ดังนั้นฉันจึงขุดหลุมลึกของโปรเซสเซอร์ที่คลุมเครือ

ฉันคิดว่า “โปรเซสเซอร์เหล่านี้ราคาถูกมากจนสามารถแจกฟรีได้” และหลังจากนั้นไม่นาน ฉันก็เกิดความคิดที่จะสร้างการ์ดเปล่าสำหรับ Linux ในรูปแบบนามบัตร

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

ฉันก็เลยทำให้ตัวเองเป็นที่หนึ่ง

นี่คือเวอร์ชันที่เสร็จสมบูรณ์ของผลิตภัณฑ์ คอมพิวเตอร์ ARM ขั้นต่ำที่สมบูรณ์แบบที่ใช้ Linux เวอร์ชันที่กำหนดเองของฉันซึ่งสร้างด้วย Buildroot

นามบัตรของฉันใช้ Linux

มีพอร์ต USB อยู่ที่มุม หากคุณเชื่อมต่อกับคอมพิวเตอร์ เครื่องจะบู๊ตได้ภายในเวลาประมาณ 6 วินาที และจะปรากฏเป็นแฟลชการ์ดและพอร์ตอนุกรมเสมือนซึ่งคุณสามารถเข้าสู่ระบบเปลือกการ์ดได้ ในแฟลชไดรฟ์มีไฟล์ README สำเนาเรซูเม่ของฉันและรูปถ่ายของฉันหลายรูป เชลล์มีหลายเกม เช่น Unix classic เช่น Fortune และ Rogue เกมเวอร์ชันเล็กของปี 2048 และล่าม MicroPython

ทั้งหมดนี้ทำได้โดยใช้ชิปแฟลชขนาดเล็กมากขนาด 8 MB bootloader มีขนาดพอดี 256 KB เคอร์เนลใช้พื้นที่ 1,6 MB และระบบไฟล์รูททั้งหมดใช้พื้นที่ 2,4 MB ดังนั้นจึงมีพื้นที่เหลืออีกมากสำหรับแฟลชไดรฟ์เสมือน นอกจากนี้ยังมีโฮมไดเร็กตอรี่ที่สามารถเขียนได้ในกรณีที่ใครก็ตามทำอะไรก็ตามที่ต้องการบันทึก ทั้งหมดนี้บันทึกไว้ในชิปแฟลชด้วย

อุปกรณ์ทั้งหมดมีราคาน้อยกว่า $3 ถูกจนต้องแจกครับ. หากคุณได้รับอุปกรณ์ดังกล่าวจากฉัน นั่นหมายความว่าฉันกำลังพยายามสร้างความประทับใจให้กับคุณ

ออกแบบและสร้าง

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

การเลือกโปรเซสเซอร์ถือเป็นการตัดสินใจที่สำคัญที่สุดซึ่งส่งผลต่อต้นทุนและความเป็นไปได้ของโครงการ หลังจากการค้นคว้าอย่างละเอียด ฉันเลือก F1C100 ซึ่งเป็นโปรเซสเซอร์ที่ไม่ค่อยมีใครรู้จักจาก Allwinner ซึ่งได้รับการปรับให้เหมาะสมกับต้นทุน (เช่น ราคาถูกสุดๆ) ทั้ง RAM และ CPU อยู่ในแพ็คเกจเดียวกัน ฉันซื้อโปรเซสเซอร์จาก Taobao ส่วนประกอบอื่นๆ ทั้งหมดซื้อจาก LCSC

ฉันสั่งบอร์ดจาก JLC พวกเขาทำสำเนาให้ฉัน 8 ชุดในราคา $10 คุณภาพของพวกเขาน่าประทับใจโดยเฉพาะราคา ไม่เรียบร้อยเท่าของ OSHPark แต่ก็ยังดูดี

ฉันทำชุดแรกสีดำด้าน มันดูสวยงามแต่ก็สกปรกง่ายมาก

นามบัตรของฉันใช้ Linux

มีปัญหาสองสามประการกับชุดแรก ประการแรก ขั้วต่อ USB ไม่ยาวพอที่จะเสียบเข้ากับพอร์ต USB ใดๆ ได้อย่างปลอดภัย ประการที่สอง แทร็กแฟลชถูกสร้างขึ้นอย่างไม่ถูกต้อง แต่ฉันสามารถแก้ไขได้ด้วยการงอหน้าสัมผัส

นามบัตรของฉันใช้ Linux

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

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

นามบัตรของฉันใช้ Linux
บอร์ดอื่นๆ ใช้ยึดบอร์ดได้ดีขณะทาครีม

ฉันใช้ครีมประสานและวางตำแหน่งส่วนประกอบด้วยมือ ฉันแน่ใจว่าไม่มีการใช้ลีดใดๆ ในกระบวนการนี้ - บอร์ด ส่วนประกอบ และเพสต์ทั้งหมดตรงตามมาตรฐาน ได้มาตรฐาน - เพื่อมโนธรรมของฉันจะไม่ทรมานฉันเมื่อฉันแจกจ่ายให้กับผู้คน

นามบัตรของฉันใช้ Linux
ฉันทำผิดพลาดเล็กน้อยกับชุดนี้ แต่การบัดกรีก็ให้อภัยความผิดพลาด และทุกอย่างก็เข้ากันได้ดี

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

รายการวัสดุและต้นทุน

ฉันติดอยู่กับงบประมาณที่เข้มงวด และนามบัตรก็เป็นไปตามที่ตั้งใจ - ฉันไม่รังเกียจที่จะแจกมัน! แน่นอนว่าฉันจะไม่แจกให้ทุกคน เนื่องจากต้องใช้เวลาในการทำสำเนาแต่ละชุด และเวลาของฉันจะไม่ถูกนำมาพิจารณาในค่านามบัตร (เป็นประเภทฟรี)

ส่วนประกอบ
Цена

F1C100
$1.42

PCB
$0.80

แฟลช 8MB
$0.17

ส่วนประกอบอื่นๆ ทั้งหมด
$0.49

เบ็ดเสร็จ
$2.88

โดยปกติแล้วจะมีค่าใช้จ่ายที่คำนวณได้ยาก เช่น การส่งมอบ (เนื่องจากมีการกระจายไปยังส่วนประกอบที่มีไว้สำหรับหลายโครงการ) อย่างไรก็ตาม สำหรับบอร์ดที่รองรับ Linux นั้นถือว่ามีราคาค่อนข้างถูกอย่างแน่นอน รายละเอียดนี้ยังให้ความคิดที่ดีว่า บริษัท ต่างๆ มีค่าใช้จ่ายเท่าใดในการสร้างอุปกรณ์ในกลุ่มราคาต่ำสุด: คุณสามารถมั่นใจได้ว่า บริษัท ต่างๆ จะต้องเสียค่าใช้จ่ายน้อยกว่าที่ฉันคิดไว้ด้วยซ้ำ!

ความสามารถในการ

สิ่งที่จะพูด? การ์ดบู๊ต Linux ที่ถูกปลดเปลื้องอย่างมากใน 6 วินาที เนื่องจากฟอร์มแฟคเตอร์และราคา ทำให้การ์ดไม่มี I/O, การสนับสนุนเครือข่าย หรือพื้นที่จัดเก็บข้อมูลจำนวนมากสำหรับการรันโปรแกรมขนาดใหญ่ อย่างไรก็ตาม ฉันสามารถอัดสิ่งที่น่าสนใจมากมายลงในอิมเมจเฟิร์มแวร์ได้

USB

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

เปลือก

หลังจากเข้าสู่ระบบในฐานะรูท คุณสามารถรันโปรแกรมต่อไปนี้บนคอนโซลซีเรียลได้:

  • rogue: เกมผจญภัยคลานดันเจี้ยน Unix สุดคลาสสิก;
  • 2048: เกมง่ายๆของปี 2048 ในโหมดคอนโซล
  • โชคลาภ : คำพูดเสแสร้งต่างๆ ฉันตัดสินใจที่จะไม่รวมฐานข้อมูลการอ้างอิงทั้งหมดที่นี่เพื่อให้มีที่ว่างสำหรับฟีเจอร์อื่นๆ
  • ไมโครไพธอน: ล่าม Python ขนาดเล็กมาก

การจำลองแฟลชไดรฟ์

ในระหว่างการคอมไพล์ เครื่องมือสร้างจะสร้างอิมเมจ FAT32 ขนาดเล็กและเพิ่มเป็นหนึ่งในพาร์ติชัน UBI ระบบย่อย Linux Gadget นำเสนอพีซีของเขาเป็นอุปกรณ์จัดเก็บข้อมูล

หากคุณสนใจที่จะดูสิ่งที่ปรากฏบนแฟลชไดรฟ์ วิธีที่ง่ายที่สุดคือการอ่าน แหล่งที่มา. นอกจากนี้ยังมีรูปถ่ายและเรซูเม่ของฉันอีกหลายรูป

Ресурсы

แหล่งที่มา

แผนผัง Buildroot ของฉันถูกโพสต์บน GitHub - สามสิบสามสี่สิบ/businesscard-linux. มีโค้ดสำหรับสร้างอิมเมจแฟลช NOR ซึ่งติดตั้งโดยใช้โหมดดาวน์โหลด USB ของโปรเซสเซอร์ นอกจากนี้ยังมีคำจำกัดความแพ็คเกจทั้งหมดสำหรับเกมและโปรแกรมอื่น ๆ ที่ฉันเพิ่มเข้าไปใน Buildroot หลังจากที่ฉันทำทุกอย่างได้สำเร็จ หากคุณสนใจใช้ F1C100 ในโปรเจ็กต์ของคุณ นี่จะเป็นจุดเริ่มต้นที่ดี (อย่าลังเลที่จะ ถามคำถามฉัน).
ฉันใช้ โครงการที่ดำเนินการอย่างสวยงาม Linux v4.9 สำหรับ F1C100s โดย Icenowy ออกแบบใหม่เล็กน้อย การ์ดของฉันทำงานได้เกือบเป็นมาตรฐาน v5.2 มันอยู่บน GitHub - สามสิบสามสี่สิบ/linux.
ฉันคิดว่าฉันมีพอร์ต U-Boot ที่ดีที่สุดสำหรับ F1C100 ในโลกทุกวันนี้ และส่วนหนึ่งก็ขึ้นอยู่กับงานของ Icenowy ด้วย (น่าแปลกที่การทำให้ U-Boot ทำงานได้อย่างถูกต้องนั้นเป็นงานที่ค่อนข้างน่าหงุดหงิด) คุณสามารถรับได้จาก GitHub - สามสิบสามสิบ/u-boot.

เอกสารประกอบสำหรับ F1C100

ฉันพบเอกสารที่ค่อนข้างกระจัดกระจายสำหรับ F1C100 และฉันกำลังโพสต์ไว้ที่นี่:

กำลังอัพโหลดไว้เผื่อใครสนใจครับ แผนภาพโครงการของฉัน.

นามบัตรของฉันใช้ Linux

ข้อสรุป

ฉันได้เรียนรู้มากมายระหว่างการพัฒนาโปรเจ็กต์นี้ - นี่เป็นโปรเจ็กต์แรกของฉันที่ใช้เตาอบบัดกรีแบบรีโฟลว์ ฉันยังได้เรียนรู้วิธีค้นหาทรัพยากรสำหรับส่วนประกอบที่มีเอกสารประกอบไม่ดีอีกด้วย

ฉันใช้ประสบการณ์ที่มีอยู่กับ Linux แบบฝังและประสบการณ์การพัฒนาบอร์ด โปรเจ็กต์นี้ไม่ได้ไร้ข้อบกพร่อง แต่มันแสดงทักษะทั้งหมดของฉันได้ดี

สำหรับผู้ที่สนใจรายละเอียดการทำงานกับ Linux แบบฝัง ฉันขอแนะนำให้อ่านบทความของฉันเกี่ยวกับเรื่องนี้: การเรียนรู้ Linux แบบฝังตัว. ที่นั่น ฉันพูดถึงรายละเอียดเกี่ยวกับวิธีการสร้างซอฟต์แวร์และฮาร์ดแวร์ตั้งแต่เริ่มต้นสำหรับระบบ Linux ขนาดเล็กและราคาถูก คล้ายกับบัตรโทรศัพท์ของฉัน

ที่มา: will.com

เพิ่มความคิดเห็น