นิยามใหม่ของมาโครที่ใช้ในการกําหนดที่อยู่ IP เริ่มต้นที่เปลี่ยนไปในเครื่องมือ Nios® II, เวอร์ชั่น 8.0 ซึ่งทําให้การกําหนดที่อยู่ IP เริ่มต้นไม่ถูกต้อง ข้อผิดพลาดนี้มีผลต่อการออกแบบตัวอย่างเซิร์ฟเวอร์ซ็อกเก็ตที่เรียบง่ายและเว็บเซิร์ฟเวอร์ เพื่อแก้ไขปัญหานี้ในการติดตั้งเครื่องมือNios IIคุณจะต้องแก้ไขไฟล์เทมเพลตสําหรับโครงการเหล่านี้โดยทําตามขั้นตอนต่อไปนี้:
1) ค้นหาการติดตั้งNios IIของคุณ เวอร์ชัน 8.0: ค้นหาตําแหน่งที่คุณติดตั้งการติดตั้ง Nios II พาธเริ่มต้นสําหรับไดเรกทอรีรากมักจะเป็น C:\altera\80\nios2eds บนเวิร์คสเตชัน Windows
2) ค้นหาซอฟต์แวร์โฟลเดอร์ย่อย: ในไดเรกทอรีที่กล่าวถึงข้างต้น ไปที่ตัวอย่าง\ไดเรกทอรีซอฟต์แวร์ ไดเรกทอรีนี้มีเทมเพลตซอฟต์แวร์Nios IIทั้งหมด
3) แก้ไขไฟล์ network_utilities.c สําหรับโครงการ web_server : ค้นหาไดเรกทอรี web_server และเปิดไฟล์ network_utilities.c ในโปรแกรมแก้ไข ข้อความ ค้นหาIP4_ADDRมาโครและปรับเปลี่ยนเพื่อให้รวมชุดวงเดือนเพิ่มเติม "(" และ ")" เริ่มต้นหลังจากฟังก์ชัน "htonl" และสิ้นสุดที่ตอนท้ายของการเรียกฟังก์ชัน
ฟังก์ชันในเวอร์ชันที่เป็นระบบจะมีลักษณะดังนี้:
#define IP4_ADDR(ipaddr, a,b,c,d) ipaddr = \
<< | htonl(alt_u32)(a & 0xff) 24) ((alt_u32)(b & 0xff) << 16) | \
((alt_u32)(c &0xff) << 8) | (alt_u32) (d & 0xff))
เมื่อใช้การแก้ไขแล้ว ฟังก์ชันควรมีลักษณะดังนี้:
#define IP4_ADDR(ipaddr, a,b,c,d) ipaddr = \
| << htonl((alt_u32)(a & 0xff) 24) ((alt_u32)(b & 0xff) << 16) | \
((alt_u32)(c &0xff) << 8) | (alt_u32) (d & 0xff)) )
เมื่อคุณทําสิ่งนี้แล้ว ให้บันทึกและปิดไฟล์
4) ปรับเปลี่ยนไฟล์ network_utilities.c สําหรับโครงการ simple_socket_server : ทําซ้ําขั้นตอนข้างต้น
หลังจากที่คุณทําตามขั้นตอนเหล่านี้แล้ว ครั้งต่อไปที่คุณสร้าง โครงการweb_server หรือ โครงการsimple_socket_server ใหม่ จะรวมการแก้ไขนี้และเรียกใช้งานอย่างถูกต้อง
(หมายเหตุ: หากคุณสร้างโครงการซอฟต์แวร์ของคุณจากเทมเพลตแล้ว คุณสามารถแก้ไขสําเนาบนเครื่องของ network_utilities.c ซึ่งอยู่ในโฟลเดอร์ แอปพลิเคชันของโครงการคุณ ทําตามคําแนะนําในขั้นตอนที่ 3 (ด้านบน) แล้วสร้างแอปพลิเคชันของคุณใหม่)