คำถามติดแท็ก cortex-m3

เป็นแกนประมวลผล ARM 32 บิต RISC สำหรับไมโครคอนโทรลเลอร์

7
Linux บนชุด ARM Cortex-M3
ฉันยังใหม่กับ ARM และค่อนข้างสับสนกับซีรีย์ที่แตกต่างกันทั้งหมด ฉันต้องสร้างเกตเวย์พลังงานต่ำ (อีเธอร์เน็ต, wifi ... ) ดังนั้นฉันเดาว่า cortex-M หรือ cortex-R จะเป็นจุดเริ่มต้นที่ดี แต่ก็ไม่พบว่าบอร์ด dev ใด ๆ ที่พูดว่า cortex-m3 (ซึ่งดูเหมือนว่าจะเป็นที่นิยมมาก) รองรับ linux ดูเหมือนเป็นไปได้linuxM3ดังนั้นฉันสงสัยว่าทำไมไม่มีโครงการ linux รอบmbedหรือLPCXpressoเป็นตัวอย่าง? ทุกคนสามารถชี้ให้ฉันไปที่กระดาน dev ที่ฉันค้นหาหรืออธิบายให้ฉันทำไม "cortex m" + linux ไม่ตอบด้วยคำตอบเพิ่มเติม
29 arm  linux  cortex-m3 

5
toolex ของ Cortex-m3
ฉันกำลังมองหาห่วงโซ่เครื่องมือฟรี (ตามอิสระ) สำหรับ Linux (Ubuntu) ที่ให้ฉันพัฒนาไมโครคอนโทรลเลอร์ ARM cortex-m3 (lpc1343) ฉันจะหา Toolchain ได้จากที่ไหน? มีแบบฝึกหัดอะไรบ้าง?
22 cortex-m3  arm  linux 

6
ลินุกซ์ฝังตัวที่เล็กที่สุด?
ฉันชอบถามผู้เชี่ยวชาญออกไป .. ลินุกซ์ฝังตัวที่ดีที่สุดสำหรับ: หน่วยความจำแฟลช ~ 700Kb ราม ~ 256Kb หน่วยประมวลผล: คอร์เทกซ์ปลายแขนสูง M3 (บางอย่างจากตระกูล STM32 เป็นต้น) โมดูลที่ต้องการ: - แกนเคอร์เนล - ชุดไดรเวอร์พื้นฐาน: USB / ระบบเครือข่าย (สำหรับ WiFi - ไม่มี AP, เพียงไคลเอนต์, ไม่มีความปลอดภัย) / SPI / Uart / I2C เป็นไปได้หรือไม่ฉันฝัน? แนวคิดก็คือใช้ CortexM3 ระดับไฮเอนด์ 5 $ และไม่ใช้ความทรงจำภายนอกเพื่อที่ฉันจะได้เพลิดเพลินไปกับไดรเวอร์ที่พร้อมสำหรับ SDIO / WiFi เป็นต้น ฉันอัปเดตคำถามพร้อมคำอธิบายบน WiFi อินเตอร์เน็ตไร้สายในแง่ที่ว่ามันเป็นเรื่องง่ายการทำงานของไคลเอนต์ …

5
รูปแบบที่ดีที่สุดสำหรับ WFI (รอการขัดจังหวะ) บนไมโครคอนโทรลเลอร์ Cortex (ARM)
ฉันกำลังมองหาการพัฒนาซอฟต์แวร์ที่ใช้พลังงานแบตเตอรีโดยใช้ตัวควบคุม EFM Gekko (http://energymicro.com/) และต้องการให้ตัวควบคุมหลับไปทุกครั้งที่ไม่มีอะไรทำ คำสั่ง WFI (Wait For Interrupt) ถูกใช้เพื่อจุดประสงค์นี้ มันจะทำให้ตัวประมวลผลเข้าสู่โหมดสลีปจนกว่าจะเกิดการขัดจังหวะ หากการนอนหลับมีส่วนร่วมโดยการจัดเก็บบางแห่งบางแห่งสามารถใช้การดำเนินการโหลดพิเศษ / เก็บพิเศษเพื่อทำสิ่งที่ต้องการ: // dont_sleep โหลด 2 ครั้งเมื่อมีอะไรเกิดขึ้น // ควรบังคับให้วนรอบหลักหมุนเวียนอย่างน้อยหนึ่งครั้ง หากมีการขัดจังหวะ // เกิดขึ้นที่ทำให้มันถูกรีเซ็ตเป็น 2 ระหว่างคำสั่งต่อไปนี้ // พฤติกรรมจะเหมือนกับว่ามีการขัดจังหวะเกิดขึ้นหลังจากนั้น store_exclusive (load_exclusive (dont_sleep) >> 1); ในขณะที่ (! dont_sleep) { // หากการขัดจังหวะเกิดขึ้นระหว่างคำสั่งถัดไปและ store_exclusive อย่านอนหลับ load_exclusive (SLEEP_TRIGGER); ถ้า (! dont_sleep) store_exclusive (SLEEP_TRIGGER); } …
18 arm  cortex-m3  sleep 

5
วนรอบด้วยซีพียูสมัยใหม่ (เช่น ARM)
ในหลาย ๆ แอพพลิเคชั่นซีพียูที่มีการประมวลผลคำสั่งนั้นมีความสัมพันธ์กับจังหวะเวลาที่ทราบกับสิ่งเร้าอินพุตที่คาดไว้สามารถจัดการงานที่ต้องใช้ CPU ที่เร็วกว่ามากหากไม่ทราบความสัมพันธ์ ตัวอย่างเช่นในโครงการที่ฉันใช้ PSOC เพื่อสร้างวิดีโอฉันใช้รหัสเพื่อส่งออกหนึ่งไบต์ของข้อมูลวิดีโอทุกนาฬิกาของ CPU 16 นาฬิกา เนื่องจากการทดสอบว่าอุปกรณ์ SPI พร้อมใช้งานและแตกแขนงหรือไม่หาก IIRC ใช้เวลาไม่เกิน 13 นาฬิกาและการโหลดและเก็บข้อมูลเอาท์พุทจะใช้เวลา 11 จึงไม่มีวิธีทดสอบอุปกรณ์สำหรับความพร้อมระหว่างไบต์ ฉันเพียง แต่จัดการเพื่อให้ตัวประมวลผลประมวลผลโค้ดที่แม่นยำ 16 รอบสำหรับแต่ละไบต์หลังจากครั้งแรก (ฉันเชื่อว่าฉันใช้การโหลดที่มีการทำดัชนีจริงโหลดที่จำลองดัชนีแบบจำลองและที่จัดเก็บ) การเขียน SPI แรกของแต่ละบรรทัดเกิดขึ้นก่อนเริ่มวิดีโอ และสำหรับการเขียนที่ตามมาทุกครั้งจะมีหน้าต่างรอบ 16 รอบซึ่งการเขียนอาจเกิดขึ้นได้โดยไม่มีบัฟเฟอร์มากเกินไปหรือต่ำกว่า การแบรนช์กิ่งสร้างหน้าต่างรอบ 13 ของความไม่แน่นอน แต่การประมวลผล 16 รอบที่คาดการณ์ได้หมายความว่าความไม่แน่นอนสำหรับไบต์ที่ตามมาทั้งหมดจะพอดีกับหน้าต่างรอบ 13 เดียวกันนั้น (ซึ่งจะพอดีภายในหน้าต่าง 16 รอบของเมื่อเขียนได้ เกิดขึ้น) สำหรับ CPU รุ่นเก่าข้อมูลเวลาการสอนมีความชัดเจนพร้อมใช้งานและไม่คลุมเครือ สำหรับ ARM รุ่นใหม่ข้อมูลเวลาดูเหมือนจะคลุมเครือกว่ามาก ฉันเข้าใจว่าเมื่อโค้ดทำงานจากแฟลชพฤติกรรมการแคชสามารถทำนายสิ่งต่าง …

3
ไมโครคอนโทรลเลอร์ที่ใช้ ARM พร้อม WiFi ในตัวหรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับการแลกเปลี่ยนกองวิศวกรรมไฟฟ้า ปิดให้บริการใน5 ปีที่ผ่านมา ฉันกำลังมองหา SoC ราคาถูกที่ใช้ ARM ในตัวพร้อม WiFi ในตัวลองใช้เสิร์ชเอ็นจิ้นต่าง ๆ และยังหาตำแหน่งไม่เจอ ฉันต้องการที่จะรู้ว่าถ้าใครรู้ของอุปกรณ์ดังกล่าวที่มีตัวควบคุม WiFi ในตัวที่ต้องการเพียงและเสาอากาศภายนอก ฉันอาจเลือกสถาปัตยกรรมอื่นที่ไม่ใช่ ARM แต่ฉันอยากจะอยู่กับสถาปัตยกรรม CPU ที่ฉันมีสภาพแวดล้อมการพัฒนา SW ที่ใช้งานได้อยู่แล้ว ---- อัปเดตวันที่ 27 กรกฎาคม ----- ฉันได้พบอุปกรณ์ที่มี ARM Cortex M3 บวกกับอินเทอร์เฟซ WiFi ชื่อImpพวกเขากำลังขายตัวแบ่งนอกบ้านขนาดเล็กพร้อม IC ของพวกเขาที่นี่ http://smartmaker.com/en/home/602-electric-imp-002.html ปัญหาเกี่ยวกับสิ่งนี้คือการสื่อสารทั้งหมดกับอุปกรณ์นั้นจะต้องผ่านเซิร์ฟเวอร์ของพวกเขา ตอนนี้คำถามคือหากมี บริษัท อื่น ๆ ที่มีผลิตภัณฑ์ดังกล่าวที่มีอินเตอร์เฟซแบบเปิดมากกว่าหนึ่งปิดเช่น Imp! Update 2 …

4
รหัสเริ่มต้นเปลือยโลหะสำหรับการเริ่มต้นภูมิภาค Cortex M3 .bss
ฉันได้พัฒนาแรงบันดาลใจจากที่นี่เป็นรหัสเริ่มต้นโลหะเปลือยสำหรับ arm cortex M3 อย่างไรก็ตามฉันพบปัญหาต่อไปนี้: สมมติว่าฉันประกาศตัวแปรโกลบอลที่ไม่ได้กำหนดค่าเริ่มต้น, พูดถึงประเภท char ที่ไม่ได้ลงนามใน main.c #include ... unsigned char var; ... int main() { ... } สิ่งนี้ทำให้ภูมิภาค. bbs ใน STM32 f103 เริ่มต้นที่ _BSS_START = 0x20000000 และสิ้นสุดที่ _BSS_END = 0x20000001 ตอนนี้รหัสเริ่มต้น unsigned int * bss_start_p = &_BSS_START; unsigned int * bss_end_p = &_BSS_END; while(bss_start_p != bss_end_p) …

1
การจัดเก็บคีย์ความปลอดภัยในหน่วยความจำของอุปกรณ์ฝังตัว
ฉันกำลังทำงานกับอุปกรณ์ฝังตัวซึ่งส่ง / รับข้อมูลและเก็บไว้ในโหมด ciphertext (โหมดเข้ารหัส) ตอนนี้วิธีการที่ดีที่สุดในการจัดเก็บคีย์ (ฉันใช้ ARM CORTEX M series MCU) คืออะไร 1- การจัดเก็บคีย์ในหน่วยความจำ SRAM และในแต่ละลำดับการบูตให้ฉีดคีย์เข้ากับ MCU ในตัวและเก็บไว้ในหน่วยความจำ SRAM มันเป็นวิธีที่ดีที่สุดที่ฉันคิดว่าจากนั้นเมื่อการรับรู้ของ MCU (ด้วยเซ็นเซอร์การงัดแงะหรือ ... ) มันสามารถลบ SRAM ได้อย่างรวดเร็วและรีเซ็ตตัวเอง ข้อเสีย: หากผู้โจมตีประสบความสำเร็จในการส่งแทมเปอร์และเข้าถึงอุปกรณ์หน่วยความจำ SRAM นั้นปลอดภัยเพียงใด (เทียบกับการสร้างโค้ด) ฉันไม่สามารถค้นหาความสามารถด้านความปลอดภัยสำหรับหน่วยความจำนี้ใน MCU สร้าง 2 คีย์และเก็บไว้ในหน่วยความจำแฟลชในการตั้งโปรแกรม MCU การสนับสนุนหน่วยความจำแฟลชของ MCU CRP (การป้องกันการอ่านรหัส) ซึ่งป้องกันจากการขุดรหัสและด้วยความช่วยเหลือของเครื่องยนต์ AES ภายในและเครื่องยนต์ RNG (การสร้างหมายเลขสุ่ม) เราสามารถสร้างคีย์สุ่มและเข้ารหัสหน่วยความจำแฟลช หน่วยความจำที่ตั้งโปรแกรมได้เพียงครั้งเดียว …
10 arm  cortex-m3  lpc 

3
ส่วนที่สำคัญใน Cortex-M3
ฉันสงสัยเล็กน้อยเกี่ยวกับการติดตั้งส่วนรหัสที่สำคัญใน Cortex-M3 ที่ไม่อนุญาตให้มีข้อยกเว้นเนื่องจากข้อ จำกัด ด้านเวลาหรือปัญหาการเห็นพ้องด้วย ในกรณีของฉันฉันใช้ LPC1758 และฉันมีตัวรับส่งสัญญาณ TI CC2500 บนเครื่อง CC2500 มีพินซึ่งสามารถใช้เป็นบรรทัดอินเตอร์รัปต์สำหรับข้อมูลในบัฟเฟอร์ RX และพื้นที่ว่างในบัฟเฟอร์ TX ตัวอย่างเช่นฉันต้องการมีบัฟเฟอร์ TX ใน SRAM ของ MCU ของฉันและเมื่อมีพื้นที่ว่างในบัฟเฟอร์ TX ของตัวรับส่งสัญญาณฉันต้องการเขียนข้อมูลนี้ในนั้น แต่รูทีนที่ทำให้ข้อมูลในบัฟเฟอร์ SRAM ชัดไม่สามารถถูกขัดจังหวะโดยขัดจังหวะว่างในพื้นที่ TX ดังนั้นสิ่งที่ฉันต้องการทำคือปิดการใช้งานอินเตอร์รัปต์ชั่วคราวขณะที่ทำโพรซีเดอร์นี้เพื่อเติมบัฟเฟอร์นี้ แต่มีการขัดจังหวะใด ๆ ที่เกิดขึ้นระหว่างโพรซีเดอร์นี้ดำเนินการหลังจากที่เสร็จสิ้น วิธีนี้ทำได้ดีที่สุดใน Cortex-M3

4
สร้างวงจรด้วย LPC1343
มีคนที่นี่ใช้ชิป LPC1343 Cortex-M3 หรือไม่ ฉันได้สร้างวงจรเล็ก ๆ ขึ้นมาด้วยไมโครคอนโทรลเลอร์ PIC ก่อนหน้านี้ แต่ตอนนี้ฉันใช้ LPC1243 Cortex-3 / ARM ฉันใช้บอร์ดต้นแบบ LPCXpresso ซึ่งทำงานได้ดีมาก แต่ฉันต้องการสร้าง PCB ที่เหมาะสมสำหรับวงจรของฉัน ฉันพบว่าชิปตัวนี้ดีกว่าในการทำงานกับซอฟต์แวร์มากกว่า PICs (ซึ่งฉันชอบเช่นกัน!) ด้วย PICs ประสบการณ์ของฉันคือมันง่ายที่จะลืมบางสิ่งบางอย่างเมื่อสร้างฮาร์ดแวร์ ตัวอย่างเช่นพินที่ต้องการการดึงต่ำเพื่อปิดการเขียนโปรแกรมแรงดันไฟฟ้าต่ำในบางรูปหรือชิปไม่สามารถตั้งโปรแกรมได้ วงจรของฉันเป็นเพียงโมดูล LCD ขนาด 18x2 ที่เชื่อมต่อกับชิปซึ่งรับอินพุตจากพีซีที่เชื่อมต่อผ่านอินเตอร์เฟส USB HID ฉันมีทุกอย่างทำงานบนบอร์ดต้นแบบ / breadboard ใน LPC1343 ฉันวางแผนที่จะเชื่อมต่อ หมุดพาวเวอร์ซัพพลายเป็นตัวจ่ายไฟและตัวเก็บประจุแยก คริสตัลและตัวเก็บประจุ 12 MHZ หมุด I / O 6 ตัวที่ฉันต้องใช้ในการขับเคลื่อนฮาร์ดแวร์ของฉัน …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.