แปลบทความจาก
ฉันเป็นวิศวกรระบบสมองกลฝังตัว ในเวลาว่าง ฉันมักจะมองหาบางอย่างที่สามารถนำไปใช้ในการออกแบบระบบในอนาคตหรือบางอย่างตามความสนใจของฉัน
หนึ่งในนั้นคือคอมพิวเตอร์ราคาถูกที่สามารถรัน Linux ได้ และยิ่งราคาถูกก็ยิ่งดี ดังนั้นฉันจึงขุดหลุมลึกของโปรเซสเซอร์ที่คลุมเครือ
ฉันคิดว่า “โปรเซสเซอร์เหล่านี้ราคาถูกมากจนสามารถแจกฟรีได้” และหลังจากนั้นไม่นาน ฉันก็เกิดความคิดที่จะสร้างการ์ดเปล่าสำหรับ Linux ในรูปแบบนามบัตร
เมื่อฉันคิดเกี่ยวกับมัน ฉันตัดสินใจว่ามันจะเป็นสิ่งที่เจ๋งจริงๆ ที่จะทำ ผมมีอยู่แล้ว
ฉันก็เลยทำให้ตัวเองเป็นที่หนึ่ง
นี่คือเวอร์ชันที่เสร็จสมบูรณ์ของผลิตภัณฑ์ คอมพิวเตอร์ ARM ขั้นต่ำที่สมบูรณ์แบบที่ใช้ Linux เวอร์ชันที่กำหนดเองของฉันซึ่งสร้างด้วย Buildroot
มีพอร์ต 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 แต่ก็ยังดูดี
ฉันทำชุดแรกสีดำด้าน มันดูสวยงามแต่ก็สกปรกง่ายมาก
มีปัญหาสองสามประการกับชุดแรก ประการแรก ขั้วต่อ USB ไม่ยาวพอที่จะเสียบเข้ากับพอร์ต USB ใดๆ ได้อย่างปลอดภัย ประการที่สอง แทร็กแฟลชถูกสร้างขึ้นอย่างไม่ถูกต้อง แต่ฉันสามารถแก้ไขได้ด้วยการงอหน้าสัมผัส
หลังจากตรวจสอบทุกอย่างแล้ว ฉันก็สั่งบอร์ดชุดใหม่ คุณสามารถดูรูปถ่ายของหนึ่งในนั้นได้ในตอนต้นของบทความ
เนื่องจากส่วนประกอบขนาดเล็กเหล่านี้มีขนาดเล็ก ฉันจึงตัดสินใจหันไปใช้การบัดกรีแบบรีโฟลว์
บอร์ดอื่นๆ ใช้ยึดบอร์ดได้ดีขณะทาครีม
ฉันใช้ครีมประสานและวางตำแหน่งส่วนประกอบด้วยมือ ฉันแน่ใจว่าไม่มีการใช้ลีดใดๆ ในกระบวนการนี้ - บอร์ด ส่วนประกอบ และเพสต์ทั้งหมดตรงตามมาตรฐาน
ฉันทำผิดพลาดเล็กน้อยกับชุดนี้ แต่การบัดกรีก็ให้อภัยความผิดพลาด และทุกอย่างก็เข้ากันได้ดี
ส่วนประกอบแต่ละชิ้นใช้เวลาประมาณ 10 วินาทีในการจัดตำแหน่ง ดังนั้นฉันจึงพยายามรักษาจำนวนส่วนประกอบให้น้อยที่สุด รายละเอียดเพิ่มเติมเกี่ยวกับการออกแบบแผนที่สามารถอ่านได้ในที่อื่น
รายการวัสดุและต้นทุน
ฉันติดอยู่กับงบประมาณที่เข้มงวด และนามบัตรก็เป็นไปตามที่ตั้งใจ - ฉันไม่รังเกียจที่จะแจกมัน! แน่นอนว่าฉันจะไม่แจกให้ทุกคน เนื่องจากต้องใช้เวลาในการทำสำเนาแต่ละชุด และเวลาของฉันจะไม่ถูกนำมาพิจารณาในค่านามบัตร (เป็นประเภทฟรี)
ส่วนประกอบ
Цена
F1C100
$1.42
PCB
$0.80
แฟลช 8MB
$0.17
ส่วนประกอบอื่นๆ ทั้งหมด
$0.49
เบ็ดเสร็จ
$2.88
โดยปกติแล้วจะมีค่าใช้จ่ายที่คำนวณได้ยาก เช่น การส่งมอบ (เนื่องจากมีการกระจายไปยังส่วนประกอบที่มีไว้สำหรับหลายโครงการ) อย่างไรก็ตาม สำหรับบอร์ดที่รองรับ Linux นั้นถือว่ามีราคาค่อนข้างถูกอย่างแน่นอน รายละเอียดนี้ยังให้ความคิดที่ดีว่า บริษัท ต่างๆ มีค่าใช้จ่ายเท่าใดในการสร้างอุปกรณ์ในกลุ่มราคาต่ำสุด: คุณสามารถมั่นใจได้ว่า บริษัท ต่างๆ จะต้องเสียค่าใช้จ่ายน้อยกว่าที่ฉันคิดไว้ด้วยซ้ำ!
ความสามารถในการ
สิ่งที่จะพูด? การ์ดบู๊ต Linux ที่ถูกปลดเปลื้องอย่างมากใน 6 วินาที เนื่องจากฟอร์มแฟคเตอร์และราคา ทำให้การ์ดไม่มี I/O, การสนับสนุนเครือข่าย หรือพื้นที่จัดเก็บข้อมูลจำนวนมากสำหรับการรันโปรแกรมขนาดใหญ่ อย่างไรก็ตาม ฉันสามารถอัดสิ่งที่น่าสนใจมากมายลงในอิมเมจเฟิร์มแวร์ได้
USB
มีสิ่งดีๆ มากมายที่สามารถทำได้ด้วย USB แต่ฉันเลือกตัวเลือกที่ง่ายที่สุดเพื่อให้ผู้คนมีแนวโน้มที่จะใช้งานได้มากขึ้นหากพวกเขาตัดสินใจลองใช้นามบัตรของฉัน Linux อนุญาตให้การ์ดทำงานเหมือน "อุปกรณ์" ที่รองรับ
เปลือก
หลังจากเข้าสู่ระบบในฐานะรูท คุณสามารถรันโปรแกรมต่อไปนี้บนคอนโซลซีเรียลได้:
- rogue: เกมผจญภัยคลานดันเจี้ยน Unix สุดคลาสสิก;
- 2048: เกมง่ายๆของปี 2048 ในโหมดคอนโซล
- โชคลาภ : คำพูดเสแสร้งต่างๆ ฉันตัดสินใจที่จะไม่รวมฐานข้อมูลการอ้างอิงทั้งหมดที่นี่เพื่อให้มีที่ว่างสำหรับฟีเจอร์อื่นๆ
-
ไมโครไพธอน : ล่าม Python ขนาดเล็กมาก
การจำลองแฟลชไดรฟ์
ในระหว่างการคอมไพล์ เครื่องมือสร้างจะสร้างอิมเมจ FAT32 ขนาดเล็กและเพิ่มเป็นหนึ่งในพาร์ติชัน UBI ระบบย่อย Linux Gadget นำเสนอพีซีของเขาเป็นอุปกรณ์จัดเก็บข้อมูล
หากคุณสนใจที่จะดูสิ่งที่ปรากฏบนแฟลชไดรฟ์ วิธีที่ง่ายที่สุดคือการอ่าน
Ресурсы
แหล่งที่มา
แผนผัง Buildroot ของฉันถูกโพสต์บน GitHub -
ฉันใช้
ฉันคิดว่าฉันมีพอร์ต U-Boot ที่ดีที่สุดสำหรับ F1C100 ในโลกทุกวันนี้ และส่วนหนึ่งก็ขึ้นอยู่กับงานของ Icenowy ด้วย (น่าแปลกที่การทำให้ U-Boot ทำงานได้อย่างถูกต้องนั้นเป็นงานที่ค่อนข้างน่าหงุดหงิด) คุณสามารถรับได้จาก GitHub -
เอกสารประกอบสำหรับ F1C100
ฉันพบเอกสารที่ค่อนข้างกระจัดกระจายสำหรับ F1C100 และฉันกำลังโพสต์ไว้ที่นี่:
-
เอกสารข้อมูลสินค้า Allwinner F1C100s – ข้อมูลทั่วไปและ pinout -
คู่มืออ้างอิง Allwinner F1C600 – ลงทะเบียนคำจำกัดความสำหรับ F1C600 ซึ่งจริงๆ แล้วคือ F1C100 เดียวกัน แต่เปลี่ยนชื่อตามประกาศรองรับ Linux (ฮ่า!) - ฉันได้ยืมข้อมูลจากแผนภาพมาอย่างแข็งขัน
ลิ้นจี่นาโนของ Sipeed – บอร์ดพัฒนาที่ผมใช้ในการกำหนดค่าซอฟต์แวร์
กำลังอัพโหลดไว้เผื่อใครสนใจครับ
ข้อสรุป
ฉันได้เรียนรู้มากมายระหว่างการพัฒนาโปรเจ็กต์นี้ - นี่เป็นโปรเจ็กต์แรกของฉันที่ใช้เตาอบบัดกรีแบบรีโฟลว์ ฉันยังได้เรียนรู้วิธีค้นหาทรัพยากรสำหรับส่วนประกอบที่มีเอกสารประกอบไม่ดีอีกด้วย
ฉันใช้ประสบการณ์ที่มีอยู่กับ Linux แบบฝังและประสบการณ์การพัฒนาบอร์ด โปรเจ็กต์นี้ไม่ได้ไร้ข้อบกพร่อง แต่มันแสดงทักษะทั้งหมดของฉันได้ดี
สำหรับผู้ที่สนใจรายละเอียดการทำงานกับ Linux แบบฝัง ฉันขอแนะนำให้อ่านบทความของฉันเกี่ยวกับเรื่องนี้:
ที่มา: will.com