ID บทความ: 000083914 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 11/09/2012

ชุดพัฒนาซอฟต์แวร์โปรเซสเซอร์แบบฝังตัว Nios รองรับประเภทข้อมูลจุดลอยตัวหรือไม่

สิ่งแวดล้อม

BUILT IN - ARTICLE INTRO SECOND COMPONENT
คำอธิบาย

Nios SDK มีการใช้งานชุดคําสั่ง printf เป็นของตัวเองและไม่รวมถึงการรองรับประเภทจุดลอยตัว การรองรับจุดลอยตัวที่มีใน GNU printf มาตรฐานถูกลบออกเนื่องจากแอปพลิเคชันแบบฝังส่วนใหญ่ไม่ได้ใช้หมายเลขจุดลอย มีโอเวอร์เฮดเพิ่มขึ้นที่เกี่ยวข้องกับการจัดการประเภทจุดลอยตัว การใช้ชุด งานพิมพ์ มาตรฐานจะเพิ่มขนาดไฟล์ S-Record (.srec) (โดยทั่วไปคือ 64 Kbytes)

หากคุณต้องการการสนับสนุนจุดลอยตัว คุณสามารถใช้ GNU Printf มาตรฐานแทน Nios SDK printf ได้โดยทําตามขั้นตอนด้านล่าง

Nios 2.0

สําหรับ CPU Nios แต่ละตัวที่คุณต้องการรองรับจุดลอยตัวสําหรับ งานพิมพ์ ให้ทําตามขั้นตอนเหล่านี้:

  1. เปิด Nios CPU MegaWizard® Plug-In Manger (ดับเบิลคลิกที่ CPU ใน SOPC Builder)
  2. ตรวจสอบให้แน่ใจว่า ได้เลือก เปิดใช้งานการควบคุมการกําหนดค่าขั้นสูง แล้ว
  3. เลือกแท็บ การกําหนดค่าซอฟต์แวร์
  4. ยกเลิกการทําเครื่องหมาย ใช้ไฟล์ Printf ขนาดเล็ก

เนื่องจากมีการใช้การสนับสนุนจุดลอยในซอฟต์แวร์ คุณไม่จําเป็นต้องสร้าง HDL ขึ้นมาใหม่สําหรับโปรเซสเซอร์แบบฝังตัวNios คุณสามารถยกเลิกการเลือกช่อง HDL ในแท็บ การสร้างระบบ ของ SOPC Builder หากคุณได้สร้างระบบก่อนหน้านี้ตราบเท่าที่นี่เป็นเพียงการเปลี่ยนแปลงเดียวที่คุณทํา

SOPC Builder จะสร้างโฟลเดอร์ SDK สําหรับ CPU แต่ละตัวเสมอ เมื่อคอมไพล์รหัส C ในโฟลเดอร์ SDK ระบบจะเชื่อมโยงเวอร์ชันที่เหมาะสมของชุด คําสั่งพิมพ์ (จุดลอยตัวหรือจุดลอยตัว) ตามการตั้งค่า ใช้ small printf ใน SOPC Builder สําหรับ CPU นั้นๆ

Nios 1. X

  1. แก้ไข makefile ใน Inc หรือ lib ได เรก ทอรี
    1. ละเว้นบรรทัด /NR_Printf.o \ เมื่อใช้การออกแบบ Nios 32
    2. ละเว้นบรรทัด /NR_Printf.o \ เมื่อใช้การออกแบบ Nios 16 แบบ
  2. สร้างไลบรารีใหม่โดยดําเนินการทําให้ -s ทั้งหมดในไดเรกทอรี inc
  3. สร้างรหัสที่ใช้ printf

ผลิตภัณฑ์ที่เกี่ยวข้อง

บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

อุปกรณ์ที่ตั้งโปรแกรมได้ Intel®

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