คำถามติดแท็ก embedded-systems

"ระบบฝังตัวคือระบบคอมพิวเตอร์ที่ออกแบบมาสำหรับฟังก์ชันการควบคุมเฉพาะภายในระบบที่ใหญ่กว่าซึ่งมักมีข้อ จำกัด ในการประมวลผลแบบเรียลไทม์" Michael Barr. "อภิธานศัพท์ระบบสมองกลฝังตัว". ห้องสมุดเทคนิค Neutrino สืบค้นเมื่อ 2007-04-21 คัดลอกจาก Wikipedia.

2
ซอฟต์แวร์ของ Mars Curiosity Rover สร้างขึ้นในอะไร?
ดาวอังคารอยากรู้อยากเห็นรถแลนด์โรเวอร์มีที่ดินที่ประสบความสำเร็จและเป็นหนึ่งในโปรโมชั่นวิดีโอ "7 นาทีของความหวาดกลัว" โกลด์โทมีการ 500,000 บรรทัดของรหัส มันเป็นปัญหาที่ซับซ้อนอย่างไม่ต้องสงสัย แต่นั่นเป็นรหัสจำนวนมากแน่นอนว่ามีความพยายามเขียนโปรแกรมที่ยิ่งใหญ่อยู่ข้างหลัง ไม่มีใครรู้อะไรเกี่ยวกับโครงการนี้หรือไม่? ฉันนึกได้แค่ว่ามันฝังซีบางอย่าง

7
แนวปฏิบัติที่เหมาะสมที่สุดเมื่อทำการทดสอบหน่วยสำหรับการพัฒนาแบบฝัง
ฉันกำลังมองหากลยุทธ์การปฏิบัติที่ดีที่สุดสำหรับโค้ดทดสอบหน่วยที่เขียนขึ้นสำหรับระบบฝังตัว โดยระบบฝังตัวฉันหมายถึงรหัสเช่นไดรเวอร์อุปกรณ์ตัวจัดการ ISR เป็นต้นสิ่งที่ใกล้เคียงกับโลหะ การทดสอบหน่วยส่วนใหญ่ไม่สามารถทำได้หากไม่ทำการทดสอบบนฮาร์ดแวร์ด้วยความช่วยเหลือของ ICE บางครั้งหน่วยสมองกลฝังตัวก็จำเป็นต้องติดอยู่กับสิ่งกระตุ้นอื่น ๆ เช่นสวิตช์เชิงกลมอเตอร์สเต็ปเปอร์และหลอดไฟ สิ่งนี้มักจะเกิดขึ้นในแบบแมนนวลระบบอัตโนมัติจะยอดเยี่ยม แต่ยากและมีราคาแพงเพื่อให้บรรลุ ปรับปรุง ฉันเจอโครงร่างการทดสอบ C ซึ่งดูเหมือนว่าจะประสบความสำเร็จในการทดสอบโครงการแบบฝัง มันใช้ความคิดของฮาร์ดแวร์เยาะเย้ย ตรวจสอบความสามัคคี , CMockและอาจCeedling อัพเดท 06 ก.ค. 2559 มาทั่วcmocka - ดูเหมือนว่าจะทำงานอย่างแข็งขันมากขึ้น

8
การเขียนโปรแกรมแบบฝังอยู่ใกล้กับวิศวกรรมไฟฟ้าหรือการพัฒนาซอฟต์แวร์หรือไม่? [ปิด]
ฉันกำลังถูกหางานเพื่อเขียน C แบบฝังลงในไมโครคอนโทรลเลอร์ ตอนแรกฉันคิดว่าการฝังการเขียนโปรแกรมต่ำเกินไปสำหรับซอฟต์แวร์สแต็กสำหรับฉัน แต่บางทีฉันอาจคิดผิด ปกติฉันจะยักไหล่เขียนรหัสที่ฝังตัวเพราะฉันไม่คิดว่าตัวเองเป็นวิศวกรไฟฟ้า นี่เป็นสมมติฐานที่ไม่ดีใช่ไหม ฉันสามารถเขียนซอฟต์แวร์ที่น่าสนใจและมีประโยชน์สำหรับระบบฝังตัวหรือฉันจะเตะตัวเองต่ำลงไปในกองซ้อนของซอฟต์แวร์หรือไม่ ฉันไปโรงเรียนวิทยาศาสตร์คอมพิวเตอร์และสนุกกับการเขียนคอมไพเลอร์คิดเกี่ยวกับอัลกอริธึมพร้อมกันออกแบบโครงสร้างข้อมูลและพัฒนากรอบงาน อย่างไรก็ตามปัจจุบันฉันทำงานเป็นนักพัฒนาเว็บซึ่งไม่ได้กรีดร้องสิ่งที่น่าสนใจที่ฉันเพิ่งอธิบาย (ขณะนี้ฉันจัดการกับปัญหาเช่น: "ช่องทำเครื่องหมายนี้ต้องเป็น 4 พิกเซลทางด้านซ้าย" และ "รูปแบบวันที่นี้ผิด") ฉันขอขอบคุณทุกคนที่เข้ามา ฉันรู้ว่าฉันต้องตัดสินใจด้วยตัวเองฉันแค่อยากจะชี้แจงเกี่ยวกับความหมายของการเป็นโปรแกรมเมอร์ฝังตัวและถ้ามันเหมาะกับสิ่งที่ฉันคิดว่าน่าสนใจ

2
กระบวนการพัฒนารหัสสำหรับภารกิจรอบโลก?
Voyager 1 ไปถึงอวกาศระหว่างดวงดาวในเดือนสิงหาคม 2012 และเป็นวัตถุที่มนุษย์สร้างขึ้นในระยะไกลที่สุด เปิดตัวไม่นานหลังจากยานอวกาศแฝด Voyager 2 ในปี 1977 Voyager 1 ได้สำรวจระบบ Jovian และ Saturnian เพื่อค้นหาดวงจันทร์ดวงใหม่ภูเขาไฟที่ยังคุกรุ่นและข้อมูลมากมายเกี่ยวกับระบบสุริยะรอบนอก Voyager 1 และ 2 ถูกออกแบบมาเพื่อใช้ประโยชน์จากการจัดตำแหน่งดาวเคราะห์ที่หายากที่เกิดขึ้นเพียงครั้งเดียวใน 176 ปีและยังคงเป็นยานอวกาศที่เดินทางได้ดีที่สุดในประวัติศาสตร์ ยานอวกาศทั้งคู่มีแคปซูลเวลาหนึ่งที่เรียกว่าแผ่นเสียงทองคำซึ่งเป็นแผ่นทองแดงทองคำขนาด 12 นิ้วที่บรรจุเสียงและภาพที่ถูกเลือกเพื่อถ่ายทอดเรื่องราวของโลกของเราไปยังมนุษย์ต่างดาว ฉันสันนิษฐานว่าคนส่วนใหญ่ที่สร้างซอฟต์แวร์สำหรับภารกิจนี้ได้เลิกใช้งานไปแล้ว แต่ในระยะเวลา 35 ปีที่ผ่านมาภาษาการเขียนโปรแกรมขั้นสูงจนถึงปัจจุบัน ดังนั้นจึงเปิดตัวในปี 1977 หลังจาก 35 ปีรอบโลกถึงอวกาศระหว่างดวงดาว มีโค้ดกี่บรรทัดและเขียนด้วยภาษาใด? กระบวนการพัฒนาที่อยู่เบื้องหลังภารกิจนี้ (ยังคงใช้งานอยู่) คืออะไร ดังนั้นอะไรคือแผนการที่ยิ่งใหญ่กว่าที่มีรหัสในภารกิจนี้และในภาษาใดที่เป็นรหัสฐานเขียน?

7
ทางเลือกที่เร็วกว่าไปยัง CRC คืออะไร
ฉันกำลังส่งข้อมูลจาก dsPIC ไปยังพีซีและฉันทำ CRC 8 บิตไปยังบล็อกขนาด 512 ไบต์ทุกบล็อกเพื่อให้แน่ใจว่าไม่มีข้อผิดพลาด เมื่อเปิดใช้งานรหัส CRC ของฉันฉันจะได้รับประมาณ 33KB / s โดยที่ฉันไม่ได้รับ 67KB / s อะไรคืออัลกอริธึมการตรวจหาข้อผิดพลาดทางเลือกในการตรวจสอบที่จะเร็วขึ้น

2
ตัวอย่างการทดสอบหน่วยที่ดีสำหรับนักพัฒนา C ฝังตัว [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันจะพูดคุยกับแผนกของฉันในสัปดาห์หน้าเกี่ยวกับการทดสอบหน่วยและการพัฒนาที่เน้นการทดสอบ เป็นส่วนหนึ่งของเรื่องนี้ฉันจะแสดงตัวอย่างจริงจากรหัสบางอย่างที่ฉันเขียนเมื่อเร็ว ๆ นี้ แต่ฉันยังต้องการแสดงตัวอย่างง่ายๆที่ฉันจะเขียนในการพูดคุย ฉันค้นหาตัวอย่างที่ดีจากเว็บ แต่ฉันพยายามหาสิ่งที่เหมาะสมกับการพัฒนาของเราโดยเฉพาะ ซอฟต์แวร์เกือบทั้งหมดที่เราเขียนนั้นเป็นระบบควบคุมฝังตัวลึกที่ทำงานบนไมโครคอนโทรลเลอร์ขนาดเล็ก มีรหัส C จำนวนมากที่ใช้งานได้ง่ายกับการทดสอบหน่วย (ฉันจะพูดถึงการทดสอบหน่วยบนพีซีแทนที่จะเป็นเป้าหมายเอง) ตราบใดที่คุณยังไม่ชัดเจนในเลเยอร์ 'ก้น': สิ่งที่พูดถึงโดยตรง ไปยังอุปกรณ์ต่อพ่วงไมโครคอนโทรลเลอร์ อย่างไรก็ตามตัวอย่างส่วนใหญ่ที่ฉันพบมักใช้การประมวลผลแบบสตริง (เช่นตัวอย่างตัวเลข Dive Into Python เลขโรมันที่ยอดเยี่ยม) และเนื่องจากเราแทบจะไม่เคยใช้สตริงสิ่งนี้จึงไม่เหมาะ (เกี่ยวกับฟังก์ชันไลบรารีเท่านั้นโดยทั่วไปแล้วโค้ดของเราใช้ มีmemcpy, memcmpและmemset,strcat หรือนิพจน์ทั่วไปไม่ถูกต้อง) ดังนั้นในคำถาม: ทุกคนสามารถเสนอตัวอย่างที่ดีของฟังก์ชั่นที่ฉันสามารถใช้เพื่อสาธิตการทดสอบหน่วยในเซสชั่นสดได้หรือไม่? คำตอบที่ดีในความเห็น (อาจมีการเปลี่ยนแปลง) ของฉันอาจจะ: ฟังก์ชั่นที่เรียบง่ายพอที่ทุกคน (แม้กระทั่งผู้ที่เขียนโค้ดเป็นครั้งคราว) สามารถเข้าใจได้ ฟังก์ชั่นที่ไม่ปรากฏว่าไม่มีจุดหมาย (เช่นการทำพาริตีหรือซีอาร์ซีน่าจะดีกว่าฟังก์ชั่นที่คูณสองตัวเลขด้วยกันและเพิ่มค่าคงที่แบบสุ่ม); ฟังก์ชั่นที่สั้นพอที่จะเขียนต่อหน้าผู้คน (ฉันอาจใช้ประโยชน์จากคลิปบอร์ดมากมายของ …

8
ฉันจะทำ TDD บนอุปกรณ์ฝังตัวได้อย่างไร
ฉันไม่ได้ใหม่กับการเขียนโปรแกรมและฉันได้ทำงานกับระดับต่ำ C และ ASM ใน AVR แต่ฉันไม่สามารถไปรอบ ๆ โครงการ C ขนาดใหญ่ที่ฝังตัวได้ ด้วยความเสื่อมของปรัชญารูดี้ของ TDD / BDD ฉันไม่สามารถเข้าใจได้ว่าผู้คนเขียนและทดสอบโค้ดเช่นนี้อย่างไร ฉันไม่ได้บอกว่ามันเป็นรหัสที่ไม่ดีฉันไม่เข้าใจว่ามันจะทำงานได้อย่างไร ฉันอยากจะเขียนโปรแกรมระดับล่างให้มากขึ้น แต่ฉันไม่รู้ว่าจะทำอย่างไรกับสิ่งนี้เพราะมันดูเหมือนความคิดที่แตกต่างไปจากเดิมอย่างสิ้นเชิงที่ฉันคุ้นเคย ฉันไม่มีปัญหาในการทำความเข้าใจตัวบ่งชี้ทางคณิตศาสตร์หรือการจัดสรรหน่วยความจำทำงานอย่างไร แต่เมื่อฉันเห็นว่าโค้ด C / C ++ ที่ซับซ้อนมีลักษณะอย่างไรเมื่อเทียบกับ Ruby ดูเหมือนว่ายากมาก ตั้งแต่ฉันสั่งบอร์ด Arduino มาเองฉันชอบที่จะเพิ่มระดับ C ที่ต่ำลงและเข้าใจวิธีการทำสิ่งต่าง ๆ ได้อย่างถูกต้อง แต่ดูเหมือนว่าไม่มีกฎของภาษาระดับสูงมาใช้ เป็นไปได้ไหมที่จะทำ TDD บนอุปกรณ์ฝังตัวหรือเมื่อพัฒนาไดรเวอร์หรือสิ่งต่าง ๆ เช่น bootloader แบบกำหนดเองเป็นต้น

4
วิธีการใช้วิธีการแบบว่องไวสำหรับการพัฒนาเฟิร์มแวร์ / ระบบสมองกลฝังตัวซอฟต์แวร์?
ฉันสงสัยอยู่เสมอว่าจะใช้วิธีการแบบเปรียวได้อย่างไรในซอฟต์แวร์ระบบสมองกลฝังตัวที่ซับซ้อนขนาดใหญ่ (วิศวกรมากกว่า 100 คน) การพัฒนาเฟิร์มแวร์มีลักษณะเฉพาะบางอย่างที่ทำให้ยากต่อการใช้งาน (เช่นฮาร์ดแวร์ไม่สามารถใช้งานได้จนถึงช่วงท้ายของรอบการพัฒนาเมื่อผลิตภัณฑ์ออกวางจำหน่ายแล้วจะไม่สามารถอัปเดตเฟิร์มแวร์ได้ง่าย ฯลฯ ) บรรทัดฐานในการพัฒนาประเภทนี้คือเอกสารที่มีความหนาและความคิดเห็นที่โหดเหี้ยม คุณไม่สามารถแก้ไขรหัสอย่างง่ายได้เช่นเปลี่ยนชื่อตัวแปรโดยไม่มีลายเซ็น 2-3 รายการ (ฉันพูดเกินจริงไปเล็กน้อย แต่นี่เป็นเรื่องปกตินอกจากนี้ผู้คนจำนวนมากใช้ทางลัดและผู้จัดการโครงการจะอนุมัติพวกเขาโดยเฉพาะอย่างยิ่งเมื่อต้องเผชิญกับเส้นตายของตลาดที่ยากลำบาก) ฉันอยากจะฟังเคล็ดลับหรือแนวทางใด ๆ เกี่ยวกับวิธีการใช้ระเบียบวิธีแบบเปรียวสำหรับโครงการพัฒนาเฟิร์มแวร์

3
คุณจัดการกับการทำงานที่ไม่ทำงานกับ Scrum ใน eystems ในตัวได้อย่างไร
ฉันมีสองประเด็นเกี่ยวกับการต่อสู้ในระบบฝังตัว ขั้นแรกมีงานให้ทำมากมายโดยเฉพาะในช่วงแรกซึ่งไม่สามารถพิสูจน์ได้ เราเริ่มต้นด้วยบอร์ดการพัฒนาไม่มีระบบปฏิบัติการไม่มีจอแสดงผลไม่มีการสื่อสารแบบอนุกรม ฯลฯ เราไม่มีจอแสดงผลของเราสำหรับการวิ่งหกครั้ง การวิ่งสี่ครั้งแรกคือ: ทำให้RTOSทำงานได้ สร้างงานเขียนเครือข่ายและไดรเวอร์แบบอนุกรม การเขียนรูทีนอินเตอร์รัปต์สำหรับปุ่มการสื่อสาร ฯลฯ การเขียนคลาสฐานข้อมูลหลักและวิธีการ การเขียนเมนูดีบักแบบอนุกรม งานเหล่านี้ส่วนใหญ่ไม่เหมาะกับเรื่องราวของผู้ใช้ ในความเป็นจริงอินเทอร์เฟซเดียวในระบบทั้งหมดคือเมนูดีบักอนุกรมซึ่งสร้างขึ้นใน sprint 3 ดังนั้นจึงไม่มีสิ่งใดแสดงให้เห็นในตอนท้ายของการวิ่ง แม้แต่เมนูซีเรียลก็มีไว้สำหรับใช้ภายในและไม่ใช่ผู้ใช้ อย่างไรก็ตามฉันยังต้องการติดตามและจัดการกิจกรรมการพัฒนาเหล่านี้ผ่านทาง Scrum เราลงเอยด้วยการเขียนวลี "เรื่องราวของผู้ใช้" เช่น "ในฐานะนักพัฒนา ... " ซึ่งฉันไม่พอใจกับมัน แต่ในการใช้ Target Process (www.targetprocess.com) ไม่มีแนวคิดของรายการค้างซึ่งเป็น งานหรืองานบ้าน ประการที่สองคุณจัดการกับรุ่นและการทดสอบอย่างไร มันเป็นความเจ็บปวดที่แท้จริงสำหรับเราเพราะผู้ทดสอบไม่มีตัวแก้ไขปัญหาฮาร์ดแวร์ดังนั้นเราจึงต้องสร้างโค้ดเวอร์ชันแฟลชและเขียนลงในบอร์ดการพัฒนาเพื่อทดสอบ ผู้ทดสอบนั้นไม่ได้มีความคมชัดเหมือนนักพัฒนาซอฟต์แวร์และมักต้องการการสนับสนุนมากมายในการทำให้สิ่งต่าง ๆ ทำงานได้ในระยะแรก (รีเซ็ตบอร์ดเชื่อมต่อการสื่อสารแบบอนุกรม ฯลฯ ) หรือแม้กระทั่งในการทำความเข้าใจผลลัพธ์ ในที่สุดเกี่ยวกับคำจำกัดความของการวิ่งไม่สามารถทำให้เสร็จได้จนกว่าเรื่องราวทั้งหมดจะเสร็จสมบูรณ์ เรื่องราวทั้งหมดยังไม่สมบูรณ์จนกว่าจะได้รับการยืนยันจากผู้ทดสอบ ไม่มีทางที่จะหลีกเลี่ยงเวลาของนักพัฒนา "ปล้น" เพื่อมอบให้แก่ผู้ทดสอบ กล่าวอีกนัยหนึ่งถ้าเรื่องราวของผู้ใช้สามคนสุดท้ายในการวิ่งจะใช้เวลาห้าวันในการทดสอบพวกเขาจะต้องถูกเข้ารหัสและหน่วยทดสอบห้าวันก่อนสิ้นสุดการวิ่ง นักพัฒนาควรทำอะไร หยุดทำงาน? …

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

2
ฟังก์ชั่นการเขียนโปรแกรมสำหรับซอฟต์แวร์ฝังตัว [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันได้พูดคุยเกี่ยวกับ F # และการเขียนโปรแกรมเชิงฟังก์ชั่นกับเพื่อนเมื่อคืนที่แล้วและเขาก็ถามคำถามที่น่าสนใจกับฉัน คุณจะทำอย่างไรซอฟต์แวร์ฝังตัวในการทำงาน? ฉันหมายความว่านี่ดูเหมือนจะเป็นเรื่องที่ค่อนข้างเป็นธรรมชาติในแง่ของรหัสไร้สัญชาติ แต่ฝังตัวยังทำให้เกิดความจำเจด้วยความทรงจำและฉันก็ไม่แน่ใจในเรื่องราวของการทำงานในเรื่องนั้น มีข้อเสนอแนะเกี่ยวกับภาษาหรือแพ็คเกจสำหรับฝังตัวด้วยฟังก์ชั่น?

8
เหตุใด C จึงครองตลาดซอฟต์แวร์ฝังตัว [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา เกือบทุกคนในตอนนี้จะกล่าวคำอวยพร: ประสิทธิภาพ ! โอเคCอนุญาตให้เขียนรหัสนักกีฬาได้ แต่มีภาษาอื่นที่สามารถทำได้หลังจากทั้งหมด! และพลังการปรับให้เหมาะสมที่สุดของคอมไพเลอร์สมัยใหม่นั้นยอดเยี่ยม ไม่Cมีข้อได้เปรียบบางอย่างที่ไม่มีภาษาอื่น ๆ ที่มี? หรือไม่จำเป็นต้องมีเครื่องมือที่มีความยืดหยุ่นมากขึ้นในโดเมน?

1
ข้อกำหนดขั้นต่ำสุดและขั้นต่ำสำหรับการบรรจุชุดอักขระ SE Asian สำหรับโครงการระบบฝังตัวคืออะไร
ฉันทำงานให้กับ บริษัท ที่เริ่มรวมระบบคอมพิวเตอร์ฝังตัวเข้ากับผลิตภัณฑ์ของเราที่เราผลิต เรามีผลิตภัณฑ์ที่หลากหลายและกระจายอยู่ทั่วโลก นอกจากนี้เราได้ออกแบบบอร์ดรวมสองสามตัวที่สามารถให้บริการได้หลายวัตถุประสงค์ขึ้นอยู่กับเฟิร์มแวร์ที่ได้รับการกระพริบไปยังระบบ วิธีนี้เราไม่ต้องออกแบบฮาร์ดแวร์คอมพิวเตอร์สำหรับผลิตภัณฑ์ต่าง ๆ ของเรา - สิ่งที่เราต้องทำคือเขียนเลเยอร์เฟิร์มแวร์อีกครั้งเพื่อตอบสนองความต้องการของผลิตภัณฑ์เฉพาะ เนื่องจากข้อ จำกัด ของฮาร์ดแวร์เหล่านี้การเปลี่ยนฮาร์ดแวร์ของเราทำให้การมีเพศสัมพันธ์ แต่การเขียนซอฟต์แวร์ใหม่นั้นง่ายกว่ามาก หนึ่งในผลิตภัณฑ์ของเรามีข้อกำหนดใหม่ที่เราไม่เคยใช้มาก่อนซึ่งเป็นความต้องการของข้อความที่ผู้ใช้ป้อน ขณะนี้เราสามารถจัดเก็บข้อความสากลในแหล่งข้อมูลและมีเพียงตัวอักษรที่จำเป็นเท่านั้นที่ถูกรวบรวมเป็นภาพบิตแมป ซึ่งหมายความว่าเราสามารถจัดเก็บภาษาที่มีอุดมการณ์สูงเช่นข้อความภาษาจีนและญี่ปุ่นในพื้นที่ที่น้อยที่สุดเพราะเราใช้ชุดภาษาทั้งหมดเพียงเล็กน้อยเท่านั้น เนื่องจากผลิตภัณฑ์ใหม่นี้ต้องการให้ผู้ใช้ป้อนข้อความเราจึงต้องใช้ชุดอักขระที่ครอบคลุม ในฐานะนักพัฒนาพีซีฉันคุ้นเคยกับ ASCII, Unicode, UTF-8 และอื่น ๆ อย่างไรก็ตามการใช้ชุดอักขระเต็มรูปแบบของภาษาเหล่านี้ไม่สามารถทำได้เพราะเรามี FRAM จำนวน จำกัด บนกระดาน เพื่อจัดเก็บข้อมูลตัวอักษร ผู้บริหารของฉันหวังว่าจะมีชุดอักขระน้อยที่สุดที่สามารถใช้สำหรับภาษาที่มีอุดมการณ์สูง ฉันเชื่อว่ามีสัทอักษรสำหรับภาษาญี่ปุ่น (ฮิรางานะ) มีตัวอักษรสัทอักษรที่คล้ายคลึงกันสำหรับภาษาจีนเกาหลีเวียดนามและอื่น ๆ เช่นกันและถ้าเป็นเช่นนั้นผู้พูดภาษาเหล่านี้สามารถสื่อสารกับชุดอักขระที่แคบได้หรือไม่ ฉันค่อนข้างมั่นใจว่าคำตอบสำหรับคำถามนั้นคือ "ไม่แน่นอน" แต่เป็นคำถามที่น่าถาม ฝ่ายบริหารได้กำหนดข้อกำหนด "อ่อน" ที่เราสามารถมีชุดอักขระที่ จำกัด เพียงประมาณ 8,000 ตัวครอบคลุมภาษาที่สำคัญทั้งหมดในการใช้งานทั่วไป หากสิ่งนี้เป็นไปไม่ได้เราต้องหาวิธีการทางเลือกบางรูปแบบเพื่อตอบสนองความต้องการของเราโดยใช้ทรัพยากรฮาร์ดแวร์ที่มีอยู่อย่าง จำกัด ของเรา ฉันแน่ใจว่าปัญหานี้จะต้องได้รับการแก้ไขก่อน …

7
เราไปจาก Binary / Hex ไปยังชุดคำสั่งประกอบได้อย่างไร?
ดังนั้นฉันจึงพยายามเรียนรู้การเขียนโปรแกรม Embedded / Assembly บางส่วนในระยะหลัง ๆ นี้รวมถึงการพยายามเรียนรู้ระดับต่ำสุด (ประตูและสิ่งอื่น ๆ ) สิ่งหนึ่งที่ทำให้ฉันเข้าใจว่า .... คือชุดคำสั่ง "รับ" ของเรา ฉันค่อนข้างเข้าใจว่าเกต / TTL และงานดังกล่าวเป็นอย่างไร แต่ฉันไม่เห็นว่าเราได้รับจากวิธีนั้นไปยัง mov เพิ่มเพิ่ม clr ฯลฯ ... ? อาจเป็นคำถามที่งี่เง่า .... แต่ฉันหมายถึงฉันคิดว่ากลับไปที่ตัวประมวลผลไมโครคอนโทรลเลอร์ / คอนโทรลเลอร์ตัวแรกและคิดว่า .... พวกเขาออกแบบชุดคำสั่งและทำงานได้อย่างไร แก้ไข: ฉันเดาว่าสำหรับความชัดเจนแกล้งฉันพูดคุยเกี่ยวกับไมโครโปรเซสเซอร์แรกพวกเขาไปจากไบนารีเพื่อสร้างชุดคำสั่งได้อย่างไร

5
วันนี้มีการใช้ภาษาใดในการเขียนโปรแกรมระดับต่ำ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา เมื่อฉันได้ยินการเขียนโปรแกรมระดับต่ำเช่นสำหรับไดรเวอร์ระบบฝังตัวระบบปฏิบัติการ ฯลฯ ฉันก็คิดถึง C ทันทีและบางที C ++ แต่ส่วนใหญ่ซี แต่ภาษาอื่น ๆ ที่ใช้สำหรับงานประเภทนี้เช่นกัน? วันนี้ฉันหมายถึงไม่ใช่สิ่งที่มีการใช้

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