คำถามติดแท็ก programming

คำถามเกี่ยวกับการเขียนโปรแกรมส่วน (FPGAs, Flash, ฯลฯ ) คำถามการเขียนโปรแกรมซอฟต์แวร์จำนวนมากควรถามแทนในกองล้น

5
Freescale Kinetis KE - เขียนไปยังแฟลช
ฉันใช้ไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์หลากหลายเป็นเวลาหลายปีแล้ว แต่ดูเหมือนว่าฉันจะรู้สึกทึ่งกับซีรี่ส์ Kinetis KE (โดยเฉพาะ S9KEAZN64AMLC) 17 มกราคม 2558 TL; DR: Freescale ยืนยันว่า v2.0.0 ของซอฟต์แวร์ Kinetis Design Studio ของพวกเขาไม่ทำงานกับอุปกรณ์นี้ (รวมถึง eval board TRK-KEA64 ของตัวเอง) พวกเขาแนะนำให้ใช้ CodeWarrior MCU V10.6 ในขณะนี้ Segger ได้เปิดตัว v4.96a ("a" เป็นสิ่งสำคัญฉันใช้ v4.96) ซึ่งแก้ไขปัญหาและช่วยให้คุณใช้บอร์ดดีบักเกอร์ Segger J-Link Lite CortexM กับ KDS และมีความสามารถของโปรแกรม / การดีบักแบบเต็ม ก่อนที่ Segger จะวางจำหน่าย v4.96a ฉันสามารถที่จะแฟลชชิปโดยทำการตั้งโปรแกรมดีบักเกอร์ …

8
ฟังก์ชั่นการเขียนโปรแกรมด้วย MCU
ภาษาที่ใช้งานได้เช่น Haskell, LISP หรือ Scheme ช่วยให้โปรแกรมเมอร์ทำงานได้อย่างรวดเร็วโดยใช้กระบวนทัศน์การเขียนโปรแกรมเชิงฟังก์ชัน พวกเขามีความไร้ประสิทธิภาพแต่แอปพลิเคชันของฉันให้ความสำคัญกับประสิทธิภาพของโปรแกรมเมอร์มากกว่าประสิทธิภาพของโปรแกรม ฉันต้องการใช้การเขียนโปรแกรมใช้งานได้บนไมโครคอนโทรลเลอร์เพื่อควบคุมเครื่อง ฯลฯ มีข้อ จำกัด อะไรบ้างเช่นทรัพยากรระบบขั้นต่ำ มีตัวอย่างการใช้งานภาษาเหล่านี้บ้าง

3
วิธีการนอน Arduino
คุณตั้งโปรแกรมโหมดสลีปสำหรับ Arduino อย่างไร โดยเฉพาะอย่างยิ่งสำหรับการออกแบบที่ใช้พลังงานแบตเตอรี่มีเทคนิคอะไรที่ดีสำหรับการนอนหลับ CPU แต่ตื่นขึ้นมาเมื่อจำเป็นเท่านั้น?

2
ขนาดหน่วยความจำแฟลชในตัวไม่เพียงพอ
ฉันกำลังใช้คอนโทรลเลอร์ TM4C1230C3PMI จากเครื่องมือ Texas ในโครงการของฉัน มีแฟลชภายใน 32KB ซึ่งไม่เพียงพอสำหรับแอปพลิเคชันของฉัน ไมโครคอนโทรลเลอร์ขนาดแฟลชที่สูงกว่านั้นมีอยู่ในตลาดซึ่งสามารถใช้ได้ แต่ฉันต้องการไปกับไมโครคอนโทรลเลอร์นี้เท่านั้น ตามความรู้ของฉันภายนอก EEPROM สามารถใช้เพื่อเพิ่มขนาดแฟลชทั้งหมด (หน่วยความจำโปรแกรม) ความคิดของฉันถูกต้องหรือไม่ ถ้าไม่โปรดแนะนำฉันจะเพิ่มขนาดหน่วยความจำแฟลชทั้งหมดของคอนโทรลเลอร์ได้อย่างไร?

2
เป็นไปได้ไหมที่จะตั้งโปรแกรม Arduino ในภาษาอื่น?
เป็นไปได้ไหมที่จะตั้งโปรแกรม Arduino ด้วยภาษาอื่นที่ไม่ได้ใช้ C / C ++? สิ่งที่จะต้องทำเช่นนั้น? ฉันรู้ว่ามี IDE อื่น ๆ ฉันอยากรู้เกี่ยวกับภาษาการเขียนโปรแกรมจริงเช่นความสามารถในการเขียนรหัส Arduino ใน Python เป็นตัวอย่าง

3
บริษัท เตรียมชิปไว้ล่วงหน้าอย่างไร
โดยเฉพาะฉันสนใจแพ็คเกจ SMD แพคเกจกรมทรัพย์สินทางปัญญาที่ฉันคิดว่าเป็นเพียงแค่ใส่ลงในซ็อกเก็ตและโปรแกรมด้วยวิธีนั้น แน่นอนว่าคุณสามารถหลีกเลี่ยงปัญหานี้ได้ด้วยการออกแบบส่วนหัวของโปรแกรมเมอร์ลงในผลิตภัณฑ์สุดท้ายเพื่อให้สามารถอัปโหลดและ / หรืออัปเดตรหัสได้ แต่ฉันรู้ว่าบาง บริษัท ขายชิปที่ตั้งโปรแกรมไว้ล่วงหน้า (ซัพพลายเออร์เช่น Digikey เสนอตัวเลือกนี้ ได้ยินมาว่าบางครั้งคุณสามารถทำสัญญากับ OEM เพื่อจัดหาชิปที่ตั้งโปรแกรมไว้ล่วงหน้า) ฉันแค่อยากรู้ว่าพวกเขาทำอย่างไร ฉันมีสองทฤษฎี แต่ฉันไม่คิดว่าสิ่งเหล่านี้เป็นจริงและ / หรือเชื่อถือได้ ชนิดของ "จับ" หมุดที่สัมผัสกับแผ่นอิเล็กโทรดบน PCB หรืออาจใช้สลักบางชนิดเพื่อให้แน่ใจว่าหน้าสัมผัสที่มั่นคง นี้จะคล้ายกับวิธีการแพคเกจกรมทรัพย์สินทางปัญญาเป็นโปรแกรม จะใช้งานได้กับแพ็คเกจที่มีโอกาสในการขายจริง (QFP, SOIC ฯลฯ ) แต่ฉันมีข้อสงสัยว่ามันใช้งานได้ดีกับแพ็คเกจประเภทแผ่นสัมผัสของ BGA หรือสัมผัสอย่างไร ประสานส่วนเข้าที่โปรแกรมแล้วยกเลิกการประสาน ดูเหมือนว่ามันจะทำให้ชิปเซ็ตเกิดความเครียดจากความร้อนที่ไม่จำเป็นและจะใช้ทรัพยากรจำนวนหนึ่งประสาน / อื่น ๆ

4
ICSP หรือไมโครคอนโทรลเลอร์ที่ตั้งโปรแกรมล่วงหน้า
ฉันได้ออกแบบ PCB สำหรับการผลิตขนาดเล็ก ขณะนี้ฉันกำลังบัดกรีพวกมันเป็นครั้งละ 20 ชุด PCB นี้ใช้ไมโครคอนโทรลเลอร์ ATMEGA168 ซึ่งฉันตั้งโปรแกรมก่อนบัดกรีกับบอร์ด - วิธีนี้ใช้ได้ดีสำหรับฉันในขณะนี้ ฉันกำลังมองหาที่มีจำนวน 200 แผงผลิตและประกอบให้ฉันเป็นผลิตภัณฑ์ที่ฉันออกแบบดูเหมือนจะเป็นที่นิยมมาก มันจะเป็นการดีกว่าไหมถ้าจะรวมส่วนหัว ICSP ไว้บนบอร์ดหรือเก็บโปรแกรม IC ล่วงหน้าไว้ด้วย? การเขียนโปรแกรมซ้ำของบอร์ดหลังจากผลิตหรือประกอบไม่ได้เป็นคุณสมบัติที่ตั้งใจหรือจำเป็น ฉันไม่แน่ใจว่าจะทำสิ่งนี้ได้อย่างไรในสภาพแวดล้อมการผลิตขนาดใหญ่? การเพิ่มส่วนหัว ICSP จะเพิ่มต้นทุนการผลิตเล็กน้อยดังนั้นการเขียนโปรแกรมล่วงหน้าเป็นมาตรฐานหรือไม่

1
คุณสามารถตั้งโปรแกรมการติดตั้ง IC บนพื้นผิวด้วยหน่วยความจำแฟลชแล้วทำการบัดกรีประสานใหม่ได้หรือไม่?
ฉันรู้ว่าชิปจำนวนมากเช่นอายุการเก็บรักษาแฟลชรายการ ATMEGA328P-AU ที่อุณหภูมิบางอุณหภูมิ แต่มักจะปิดที่ 100 ° C ฉันรู้ว่าควรมีผู้นำในบอร์ดของพวกเขาเพื่อเขียนโปรแกรมชิปหลังจากการบัดกรี แต่ฉันแค่อยากรู้ว่าหน่วยความจำแฟลชได้รับผลกระทบอย่างไรที่อุณหภูมิ reflow ที่ ~ 230 ° C

8
ไมโครคอนโทรลเลอร์แต่ละสายมีภาษาโปรแกรม / ไวยากรณ์ของตัวเองหรือไม่?
ฉันได้ตั้งโปรแกรม Arduino และเริ่มเขียนโปรแกรม Teensy แล้ว พวกเขาคล้ายกับ C แต่มีความแตกต่างเล็กน้อยในภาษาการเขียนโปรแกรม ตัวอย่างเช่นใน C ของ Arduino คุณเรียกฟังก์ชั่น pinMode (pin #, Output / Input) เพื่อกำหนดพินดิจิตอลให้เป็นสัญญาณเอาต์พุตหรือรับสัญญาณ ใน Teensy's C คุณตั้งค่าการลงทะเบียน "DDR" ที่เชื่อมโยงกับหนึ่งในสี่พอร์ต (ซึ่งแต่ละอันแทนคอลเลกชันของพิน) ซึ่งคุณกำหนดโดยรวมว่าเป็นอินพุตหรือเอาต์พุต ( ไวยากรณ์ Teensy IO ) ฉันต้องการทราบว่าเป็นกรณีที่เมื่อคุณใช้ไมโครคอนโทรลเลอร์ที่ใหม่สำหรับคุณคุณจำเป็นต้องเรียนรู้ "ภาษา" ใหม่อย่างมีประสิทธิภาพ ฉันใส่คำว่า "ภาษา" ในเครื่องหมายคำพูดเพราะแม้จะมีความแตกต่างในรูปแบบขององค์ประกอบและวิธีการที่พวกเขาตั้งค่าในซอฟต์แวร์ที่มีพื้นฐานเทียบเท่าเช่นความคิดของพอร์ตและหมุดยังคงหมายถึงขั้วที่คุณสามารถส่งออก / อินพุตดิจิตอล สัญญาณ ในวาทกรรมเดียวกัน: มีไมโครคอนโทรลเลอร์ที่ไม่ได้ตั้งโปรแกรมไว้ในซอฟต์แวร์หรือจะมีเลเยอร์ซอฟต์แวร์ที่ใช้ในการเขียนโปรแกรม uController หรือไม่? หากหลังใครเป็นผู้เขียน / เตรียมเอกสารสำหรับพวกเขา

4
FPGA - การเขียนโปรแกรม DIY
ฉันเขียนโปรแกรมไมโครคอนโทรลเลอร์เป็นเวลาสองสามปีแล้วและฉันเพิ่งค้นพบ FPGA หลังจากเรียนวิชาออกแบบดิจิทัล หลังจากทำการค้นคว้าบางอย่างเกี่ยวกับ FPGA, บอร์ดพัฒนาและอื่น ๆ ที่แตกต่างกันฉันยังลังเลที่จะซื้อเพราะฉันไม่รู้ว่าจะทำ "ผลิตภัณฑ์ขั้นสุดท้าย" ของฉันเองได้อย่างไร ฉันใส่ PIC, SAM's, AVR และอื่น ๆ ลงใน PCB แบบกำหนดเองโดยไม่มีปัญหาดังนั้นฉันจึงไม่กังวลเกี่ยวกับสิ่งนั้น - ข้อกังวลหลักของฉันคือการเขียนโปรแกรม FPGA โดยไม่มีบอร์ดของผู้ผลิต คำถามเฉพาะของฉัน: จะมีฟังก์ชั่น FPGA หรือไม่ถ้าฉันใช้ไฟล์บิตแมปที่สร้างโดย Quartus, Vivado, iCEcube ฯลฯ เขียนไปยังชิปหน่วยความจำแฟลช SPI เริ่มต้นที่ที่อยู่ 0 (พูดผ่าน FT2232H) และเชื่อมต่อหน่วยความจำแฟลช พิน SPI ของ FPGA (พร้อมการตั้งค่า MODE ถูกต้อง)? ฉันขอโทษสำหรับบางส่วนของสมมติฐาน; ฉันค่อนข้างแน่ใจว่านั่นคือโปรแกรมเมอร์ Diamond ของ Lattice …
9 fpga  spi  programming 

3
การใช้อินเตอร์รัปต์ภายนอกหลายรายการใน PIC
ฉันใช้PIC16F877( แผ่นข้อมูล ) สำหรับหลายโครงการ สำหรับการขัดจังหวะการเปลี่ยนพินภายนอกเดียวคุณสามารถใช้PORTB0อินเตอร์รัปต์ แต่ตอนนี้ฉันต้องการสนับสนุนการขัดจังหวะการเปลี่ยนพินภายนอก 8 อิสระในวงจรเดียว ในแผ่นข้อมูลมีข้อความระบุว่ามีอินเทอร์รัปต์ 15 รายการPIC16F877แต่ฉันเดาว่าจะนับรวมการขัดจังหวะตัวจับเวลาและอื่น ๆ ... ซึ่งไร้ประโยชน์ในกรณีนี้ นี่คือสิ่งที่แผ่นข้อมูลพูดเกี่ยวกับการINTCONลงทะเบียน ฉันสามารถใช้อินเทอร์รัปต์ 4 รายการโดยใช้ bit0 ได้RBIFหรือไม่ PB7:PB4มันหมายถึงการเปลี่ยนแปลงใน ฉันจะระบุพินที่เปลี่ยนแปลงได้อย่างไรโดยการอ่านค่าพอร์ตในรูทีนการขัดจังหวะ แม้ว่าฉันจะได้รับคำตอบในเชิงบวกจากข้างต้น แต่ฉันต้องการการขัดจังหวะ 8 ครั้ง แน่นอนฉันยังคงสามารถใช้INTEสำหรับPORTB0การเปลี่ยนแปลง ถ้าอย่างนั้น4 + 1 = 5อีก 3 คนล่ะ? (อย่างไรก็ตามการที่อินเตอร์รัปต์ทั้ง 8 เหตุการณ์นั้นเป็นประเภทเดียวกัน4 + 1 + 3 = 8สิ่งที่ดูน่าเกลียดใช่มั้ย) ไม่มีงานหนักอื่น ๆ ที่คาดหวังจากตัวควบคุมไมโครอื่น ๆ ที่ตรวจสอบ 8 พิน …

2
การเป็นตัวแทนทางกายภาพของกองและกองคืออะไร?
ฉันสามารถเข้าใจได้อย่างง่ายดายว่า. bss และรหัสมีการเป็นตัวแทนทางกายภาพในโปรเซสเซอร์ซึ่งมีหน่วยความจำธนาคารสำหรับคำแนะนำที่เคาน์เตอร์โปรแกรมสามารถนับได้และ bss (สัญลักษณ์เริ่มต้นบล็อก) เป็นเพียงข้อมูลทั่วโลก แต่มีสแต็กสำหรับตัวแปรโลคัลและฮีปสำหรับหน่วยความจำแบบไดนามิก สิ่งเหล่านี้เกิดขึ้นบนวงจรได้อย่างไร

5
ATTiny13 - avr-gcc Hello World ใช้มากกว่า 100 ไบต์?
ฉันพยายามเขียนโปรแกรมสำหรับ ATTiny13 ปัญหาของฉันคือมันมีข้อ จำกัด ขนาดใหญ่ เมื่อสร้างโปรแกรม Hello World ครั้งแรกของฉันมันใช้พื้นที่ของโปรแกรม 100 ไบต์เพื่อเปิดและปิดไฟ! มีตัวเลือกใดบ้างที่ฉันสามารถมอบให้ avr-gcc เพื่อย่อขนาดให้เล็กลงได้หรือไม่? นอกจากนี้อะไรใน crt0 ฉันไม่ค่อยกระตือรือร้นกับชุด AVR ดังนั้นฉันไม่เข้าใจมันมาก .. ฉันไม่ต้องการที่จะวางลงในการชุมนุมสำหรับโครงการนี้ ..
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.