Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
Dung lượng
3,87 MB
Nội dung
Đại Học Quốc Gia Thành Phố Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA TRẦN THẾ ANH CHUYỂN TCP/IP STACK VÀ NHÂN LINUX SANG KIẾN TRÚC VI XỬ LÝ NIOS Chuyên ngành: Mã số: Khoa Học Máy tính 10070471 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 12 năm 2012 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG - TPHCM Cán hướng dẫn khoa học : TS Đinh Đức Anh Vũ (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét : TS Nguyễn Minh Sơn (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét : TS Vũ Đức Lung (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 24 tháng 12 năm 2012 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị Hội đồng chấm bảo vệ luận văn thạc sĩ) TS Nguyễn Đức Thái, CT TS Nguyễn Minh Sơn, PB TS Vũ Đức Lung, PB TS Đinh Đức Anh Vũ, UV TS Trần Ngọc Thịnh, TK Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA………… ĐẠI HỌC QUỐC GIA TP HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập - Tự Do - Hạnh Phúc oOo Tp HCM, ngày 15 tháng 12 năm 2012 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Trần Thế Anh .MSHV : 10070471 Ngày, tháng, năm sinh : 04/11/1980 Nơi sinh : TpHCM Chuyên ngành : Khoa Học Máy Tính Mã số: 1- TÊN ĐỀ TÀI: CHUYỂN TCP/IP STACK VÀ NHÂN LINUX SANG KIẾN TRÚC VI XỬ LÝ NIOS 2- NHIỆM VỤ VÀ NỘI DUNG: chuyển (porting) nhân Linux chồng tcp/ip sang kiến trúc vi xử lý mềm (softcore) Nios2 hãng Altera Nhân linux chạy board mạch DE2-115 hãng Terasic sản xuất 3- NGÀY GIAO NHIỆM VỤ : 06 - 02 - 2012 4- NGÀY HOÀN THÀNH NHIỆM VỤ : 15 - 12 - 2012 5- CÁN BỘ HƯỚNG DẪN: TS Đinh Đức Anh Vũ Tp.HCM, ngày tháng năm 2013 CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên chữ ký) TS Đinh Đức Anh Vũ TRƯỞNG KHOA….……… (Họ tên chữ ký) LỜI CẢM ƠN Xin gởi lời cảm ơn chân thành đến TS Đinh Đức Anh Vũ tận tình hướng dẫn, giúp đỡ suốt trình thực luận văn Xin gởi lời cảm ơn thầy, cô khoa Khoa Học Và Kỹ Thuật Máy tính tận tình bảo truyền đạt kiến thức vơ giá thời gian học TĨM TẮT LUẬN VĂN FPGA (Field Programmable Gate Array) phát triển dựa tảng CPLD (Complex Programmable Logic Devices), khởi xướng vào khoảng đầu năm 1980 công ty Xilinx đầu tư sản xuất CPLD FPGA chứa số lượng lớn cổng logic (Logic Elements), mật độ cổng logic CPLD từ vài ngàn đến mười ngàn, cịn FPGA nhiều hẳn – từ mười ngàn vài triệu Logic Elements Đặc tính bật FPGA khả tái cấu hình linh hoạt Do đó, FPGA sử dụng nhiều lãnh vực kiểm thử ASIC, thiết bị mạng, hệ thống nhúng cần tùy biến phần cứng riêng số lượng sản xuất thấp… Do FPGA có khả tái cấu hình linh hoạt, nên mạch điện tử số áp dụng chip, miễn chip có đủ số logic element để mơ khối chức Nios-2 kiến trúc vi xử lý mềm (softcore) hãng Altera tạo ra, tổng hợp để chạy dòng sản phẩm FPGA chip hãng Luận văn tập trung vào hướng chuyển (porting) chồng TCP/IP nhân Linux 2.6.x qua kiến trúc soft cpu Nios-2 hãng Altera, nhân linux chạy board mạch FPGA De2-115 hãng Terasic Do board mạch De2-115 board FPGA thuộc phân khúc phổ thông, giá hợp lý, có interface gigabit ethernet, nên ứng dụng demo porting sang kiến trúc Nios2 tập trung hướng router / firewall, bao gồm hai ứng dụng điển hình: iptables, Snort Từ khóa: Altera, FPGA, DE2-115, TCP/IP, Embedded programming, ucLinux, iptables, Snort LỜI CAM ĐOAN Tôi cam đoan ngoại trừ kết tham khảo từ cơng trình khác ghi rõ luận văn, cơng việc trình bày luận văn tơi thực chưa có phần nội dung luận văn nộp để lấy cấp trường trường khác Ngày 15 tháng 12 năm 2012 Trần Thế Anh MỤC LỤC Bảng Tham Khảo Các Từ Viết Tắt Bảng Đối Chiếu Thuật Ngữ Anh-Việt Chương TỔNG QUAN 1.1 Giới thiệu FPGA 1.2 Ứng dụng FPGA 1.3 Giới thiệu board mạch DE2-115 1.4 Các cơng trình liên quan đến board mạch De2-115 µClinux Chương KIẾN TRÚC CPU NIOS-2 2.1 Tổng quan vi xử lý mềm Nios2 2.2 Các đơn vị chức 10 2.2.1 Thanh ghi 10 2.2.2 Bộ xử lý số học (ALU) 12 2.2.3 Xử lý exception interrupt 12 2.2.4 Tổ chức bus giao tiếp I/O 13 2.2.5 Khối debug JTAG 14 2.3 Các nhóm tập lệnh 15 2.4 Tổ chức nhớ 18 2.5 Memory management unit (MMU) 20 Chương XÂY DỰNG CÁC KHỐI PHẦN CỨNG 21 3.1 Giới thiệu 21 3.2 Xây dựng CPU: 23 3.3 Xây dựng khối memory onchip TLB 24 3.4 Xây dựng khối memory SDRAM 25 3.5 Xây dựng khối memory CFI Flash 26 3.6 Xây dựng khối Phase locked loop (PLL) 28 3.7 Xây dựng khối Ethernet MAC 30 3.7.2 Triple speed ethernet MAC 31 3.7.3 Scatter gather DMA Receive: 31 3.7.4 Scatter gather DMA Transmit: 32 3.7.5 DMA descriptor memory: 33 Trang 3.7.6 Module reset chip Marvell PHY 33 3.8 Xây dựng khối I/O 34 3.9 Gán địa ánh xạ nhớ 35 3.10 Tổng hợp phần cứng 37 Chương CHUYỂN NHÂN LINUX SANG KIẾN TRÚC NIOS-2 39 4.1 Giới thiệu µCLinux 39 4.2 Chuẩn bị mã nguồn 40 4.3 Chuẩn bị toolchain compiler 41 4.4 Tạo file DeviceTree 41 4.5 Tùy chỉnh nhân Linux biên dịch µClinux 42 4.6 Nạp zImage vào CFI Flash để hệ thống tự chạy cấp điện 49 Chương CHUYỂN IPTABLES VÀ SNORT SANG KIẾN TRÚC NIOS-2 50 5.1 Giới thiệu 50 5.1.1 Iptables 50 5.1.2 Snort 52 5.2 Các bước biên dịch iptables snort 53 5.3 Sửa lỗi cross compiler 54 5.4 Sửa lỗi biên dịch snort 55 5.5 Thử nghiệm chức 56 5.6 Thử nghiệm board De2-115 làm tường lửa 57 Chương KẾT LUẬN 62 TÀI LIỆU THAM KHẢO 63 Chương Phụ Lục 64 7.1 Cài đặt Quartus 12.0 sp2 Web edition Ubuntu 12.04 64bit 64 7.2 Cài đặt gói hỗ trợ cho toolchain nios2 65 LÝ LỊCH TRÍCH NGANG 66 Trang DANH MỤC HÌNH Hình 1.1: Cấu trúc chip FPGA Hình 1.2: Cấu trúc tế bào logic Hình 1.3: Mặt board De2-115 Hình 1.4: Sơ đồ kết nối board De2-115 Hình 2.1: Các khối chức bên Nios2 10 Hình 2.2: Sơ đồ kết nối cpu - nhớ 14 Hình 2.3: Sơ đồ phân bố địa vật lý 19 Hình 3.1: Vị trí router / firewall hệ thống mạng .21 Hình 3.2: Sơ đồ logic khối router tổng hợp 22 Hình 3.3: Các khối chức SOPC Builder 22 Hình 3.4: Chỉ định thơng số Nios2 23 Hình 3.5: Chỉ định dung lượng cache, tightly coupled master port 23 Hình 3.6: Chỉ định tham số TLB cache 24 Hình 3.7: Chỉ định tham số module JTAG debug 24 Hình 3.8: Onchip ram TLB .25 Hình 3.9: SDRAM controller 25 Hình 3.10: Kết nối Pipeline bridge CPU - SDRAM 26 Hình 3.11: Avalon tri-state bridge 26 Hình 3.12: CFI flash controller 27 Hình 3.13: Kết nối Cpu - pipeline bridge - CFI flash .27 Hình 3.14: Sơ đồ cấp xung clock cho khối PHY khối MAC .29 Hình 3.15: Cấu trúc khối Ethernet MAC 30 Hình 3.16: Thơng số khối TSE 31 Hình 3.17: Thông số SGDMA receiver 32 Hình 3.18: Thơng số SGDMA transmiter 32 Hình 3.19: DMA descriptor memory 33 Hình 3.20: Clock crossing bridge 35 Hình 3.21: Ánh xạ địa khối DMA descriptor 36 Hình 3.22: Số logic element hệ thống 37 Hình 3.23: Cơng suất tỏa nhiệt 38 Hình 3.24: Các critical path không thỏa timing 38 Hình 4.1: Chỉnh sửa file DTS 42 Hình 5.1: Q trình xử lý gói tin module netfilter 51 Hình 5.2: Snort rà sốt gói tin vào tường lửa, gói tin mirror switch .53 Trang Hình 5.3: Sơ đồ thử nghiệm chức 57 Hình 5.4: Sơ đồ kết nối mạng thử nghiệm băng thông .58 Hình 5.5: ICMP delay thơng qua De2 58 Hình 5.6: ICMP delay trực tiếp .59 Hình 5.7: ICMP delay thông qua De2, xung 166MHz .59 Hình 5.8: Băng thơng TCP user server thông qua De2 60 Hình 5.9: Băng thơng user server khơng thơng qua De2 .60 Hình 5.10: Băng thơng hệ thống xung clock khác 61 Trang -52- POSTROUTING (bảng iptable_nat): sau định tuyến, trước gói tin đẩy xuống phần cứng Ngồi cịn có chain thuộc bảng mangle, raw, Tuy nhiên, bảng không thuộc phạm vi sử dụng đề tài Mỗi luật chain chứa điều kiện so khớp gói tin (match condition, ví dụ: source ip, destination ip, source port ), hành động tương ứng (target action, ví dụ: ACCEPT, DROP, SNAT, DNAT, ) Ví dụ vài luật bảng Nat: Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp 0.0.0.0/0 0.0.0.0/0 tcp dpt:5389 to:192.168.1.245:3389 DNAT tcp -0.0.0.0/0 0.0.0.0/0 tcp dpt:1194 to:192.168.100.5:1194 Chain POSTROUTING (policy ACCEPT) target prot opt source MASQUERADE all 0.0.0.0/0 destination 0.0.0.0/0 5.1.2 Snort Snort hệ thống phát / ngăn chặn xâm nhập mạng mã nguồn mở, chạy user mode Snort tiến hành phân tích protocol, tìm kiếm / so khớp pattern gói tin, thực thi thời gian thực Tùy vào yêu cầu quản trị mạng, mà Snort cấu hình để hoạt động chế độ sau: • Sniffer: rà sốt nội dung gói tin, ghi kết console • Log: rà sốt nội dung gói tin, ghi kết thiết bị lưu trữ • Phát xâm nhập: rà sốt gói tin với luật quản trị mạng định nghĩa, tiến hành xử lý gói tin / session trùng khớp, tùy vào thao tác quản trị định Trần Thế Anh - 10070471 Trang 52 -53- Hình 5.2: Snort rà sốt gói tin vào tường lửa, gói tin mirror switch 5.2 Các bước biên dịch iptables snort Gõ lệnh make menuconfig, Chỉnh sửa phần cấu hình usermode để thêm ứng dụng iptables snort Vào hình Network Applications, đánh dấu vào ơ: Trần Thế Anh - 10070471 Trang 53 -54- Vào hình Library configuration, đánh dh dấu vào ô Build libPCAP: 5.3 Sửa lỗi cross compiler Do cross compiler có bug, làm cho ứng dụng iptables bị lỗi SEGFAULT gọi API Netlink Linux, nên phải chỉnh sửa cờ biên dịch Vào hình Blackfin build options, sửa cờ "-g -O2" thành "-O": Trần Thế Anh - 10070471 Trang 54 -55- 5.4 Sửa lỗi biên dịch Snort Thay nội dung file lib/Libnet/Makefile bằng: VER = libnet-1.0.2a CONFOPTS= with-headers=$(ROOTDIR)/include pf_packet=yes with-fast_x86_check=no with- all: buildlib [ -d $(VER)/lib ] || mkdir $(VER)/lib $(MAKE) -C $(VER) buildlib: -cd $(VER); /configure $(CONFIGURE_OPTS) $(CONFOPTS) clean: if [ -f Makefile ]; then $(MAKE) -f Makefile distclean; fi Sửa file user/snort/makefile Thay thế: with-libipq-includes= $(ROOTDIR)/user/iptables/include/libipq \ with-libipq-libraries= $(ROOTDIR)/user/iptables/libipq \ with-libpcap-includes= $(ROOTDIR)/include with-libpcap-libraries= $(ROOTDIR)/lib/libpcap/build \ with-libnet=$(ROOTDIR)/lib/Libnet with-libnet-includes= $(ROOTDIR)/lib/Libnet/include \ with-libnet-libraries=$(ROOTDIR)/lib/Libnet/lib with-libpcre-includes=$(ROOTDIR)/include with-libpcre-libraries=$(ROOTDIR)/lib LDFLAGS += -L$(ROOTDIR)/user/iptables/libipq \ \ \ \ thành with-libipq-includes=$(ROOTDIR)/user/iptables/iptables1.4.5/include/libipq \ with-libipq-libraries= $(ROOTDIR)/user/iptables/build-iptables-1.4.5/libipq \ with-libpcap-includes= $(ROOTDIR)/lib/libpcap/libpcap-1.0.0 \ with-libpcap-libraries= $(ROOTDIR)/lib/libpcap/libpcap-1.0.0/build \ Trần Thế Anh - 10070471 Trang 55 -56- with-libnet=$(ROOTDIR)/lib/Libnet/libnet-1.0.2a \ with-libnet-includes= $(ROOTDIR)/lib/Libnet/libnet-1.0.2a/include \ with-libnet-libraries= $(ROOTDIR)/lib/Libnet/libnet-1.0.2a/lib \ with-libpcre-includes=$(ROOTDIR)/lib/pcre/pcre7.9 \ with-libpcre-libraries=$(ROOTDIR)/lib/pcre/buildpcre-7.9 LDFLAGS += -L$(ROOTDIR)/user/iptables/build-iptables1.4.5/libipq Biên dịch lượt để makefile script tạo ra: cd /nios2-linux/uClinux-dist/ make Gõ lệnh sau để biên dịch libipq thiếu iptables build script: cd user/iptables/build-iptables-1.4.5/libipq make Tạo thư mục: mkdir romfs/etc/default Cuối gõ lệnh make để biên dịch 5.5 Thử nghiệm chức Tạo thêm files chứa luật cấu hình ứng dụng snort File /nios2-linux/uClinux-dist/romfs/etc/snort/icmp-simple.rules alert icmp any sid:477; rev:3;) any -> any any (msg:"Phat hien icmp"; File /nios2-linux/uClinux-dist/romfs/etc/snort/snort.conf include /etc/snort/icmp-simple.rules Thêm dòng sau vào /nios2-linux/uClinux-dist/vendor/Altera/common/rc phép tính ip_forwarding router: echo > /proc/sys/net/ipv4/conf/all/forwarding echo > /proc/sys/net/ipv4/conf/default/forwarding Gõ lệnh make để biên dịch lại zImage Trần Thế Anh - 10070471 Trang 56 -57- Sau biên dịch xong, thư mục nios2-linux/ucLinux-dist/image/ có file zImage Dùng lệnh sau để nạp zImage vào nhớ hệ thống: nios2-download -rg image/zImage Để giữ cấu hình điện, dùng công cụ elf2flash để chuyển thành định dạng flash, cuối cùng, dùng lệnh nios2-flash-programmer để ghi vào flash Nạp file bitstream sof vào board De2-115, nạp zImage vào flash, µClinux tự khởi động Cắm cáp serial nối máy tính cổng DB-9 board De2-115, nhập xuất tương tác với linux console thông qua giao tiếp Gán IP cho card mạng lệnh sau: ifconfig eth0 1.2.3.4 netmask 255.255.255.0 up ifconfig eth1 5.6.7.8 netmask 255.255.255.0 up Để thử nghiệm Snort, gõ lệnh sau: snort -c /etc/snort/snort.conf -i eth1 -l /var/log/snort Tiến hành ping IP card mạng eth1 board De2-115, thư mục /var/log/snort/ có file ghi log gói tin ICMP mà snort nhận 5.6 Thử nghiệm board De2-115 làm tường lửa Để thử nghiệm board De2-115 làm tường lửa, người dùng kết nối board De2-115 máy tính modem / router Internet Sử dụng giao thức http, pop3, ftp, voip Internet Internet router 192.168.0.1 /24 De2-115 Wan: 192.168.0.2 /24 Lan: 192.168.200.1 /24 192.168.200.2 /24 Hình 5.3: Sơ đồ thử nghiệm chức Trần Thế Anh - 10070471 Trang 57 -58- Sau sơ đồ thử nghiệm băng thơng tính router + firewall + snort: Hình 5.4: Sơ đồ kết nối mạng thử nghiệm băng thông Server máy ảo, Windows 2008R2 64 bit, chạy server IBM 3650 M3 Server nối với switch gigabit Cisco 3560-X Thông thường, người dùng cắm cáp nối máy tính với switch Cisco Trong kịch thử nghiệm, board De2-115 nằm user switch Cisco Sau kết thử nghiệm Hình 5.5: ICMP delay thông qua De2-115 Trần Thế Anh - 10070471 Trang 58 -59- Hình 5.6: ICMP delay trực tiếp Ping delay có thêm De2 vào user server vào khoảng +800 micro giây Ping delay không cải thiện tăng xung clock cho vi xử lý Nios2 Hình 5.7: ICMP delay thơng qua De2, xung 166MHz Sau kết thử nghiệm băng thông Trần Thế Anh - 10070471 Trang 59 -60- Hình 5.8: Băng thông TCP user server thông qua De2 Hình 5.9: Băng thơng user server khơng thơng qua De2 Băng thông mạng đạt vào khoảng 2.8Mbytes/s, với xung clock cấp cho Nios2 khối ethernet 100MHz Trần Thế Anh - 10070471 Trang 60 -61- Nếu tăng xung clock cấp cho cpu Nios2, thành phần khác giữ nguyên xung clock 100MHz, băng thơng có cải thiện chút Biểu đồ sau thống kê băng thông trường hợp sử dụng chức NAT, sử dụng NAT + Snort, mức xung clock 100, 133, 166 Mhz Board De2-115 không khởi động cpu xung clock cao Snort thử nghiệm biểu đồ sau so khớp gói tin ICMP Băng thơng MBytes/s 3.5 2.5 1.5 2.9 3.7 3.4 2.4 2.7 Nat Nat + Snort 0.5 MHz 100 133 166 Hình 5.10: Băng thông hệ thống xung clock khác Trần Thế Anh - 10070471 Trang 61 -62- Chương KẾT LUẬN Sau hoàn thành đề tài luận văn tốt nghiệp, đạt kết sau: • Nắm bắt sử dụng Board Altera DE2-115 • Thành thạo việc sử dụng phần mềm phát triển Altera Quartus II Nios II EDS • Chuyển - porting hệ điều hành linux Board DE2-115 • Nắm bắt quy trình phát triển device driver Board DE2-115 • Đề xuất quy trình phát triển ứng dụng Board DE2-115 sử dụng hệ điều hnh àClinux ã Chnh sa mó ngun m cú thể chuyển - porting hệ thống nhúng • Thành công việc chuyển ứng dụng SNORT IPTABLES Board DE2-115 Kết luận văn sử dụng làm tảng cho hướng phát triển phần mềm hệ thống nhúng FPGA, chạy kiến trúc Nios2 Người dùng tổng hợp thêm khối chức xử lý riêng, tạo ứng dụng sử dụng khối chức kia, phần giao tiếp mạng cần dùng API chuẩn hệ điều hành, hoạt động tốt Khơng phải tốn công sức viết lại giao tiếp mạng Trong tương lai, đề tài mở rộng theo hướng tăng cường khối phần cứng offload tác vụ kiểm tra TCP checksum, so khớp pattern gói tin mà không cần phải qua cpu xử lý Trần Thế Anh - 10070471 Trang 62 -63- TÀI LIỆU THAM KHẢO [1] DE2-115 Development and Education Board User Manual, Terasic Inc [2] Website http://www.altera.com/products/ip/processors/ipm-index.jsp [3] Huỳnh Bảo Trọng Ngô Văn Trung, “Quản lý tải liệu board De2”, LV Đại Học, ĐHBK, 1-2009 [4] Introduction to the Altera Nios II Soft Processor, Altera [5] Nios2 processor reference handbook, Altera [6] Avalon Interface Specifications, Altera [7] Using the SDRAM Memory on Altera’s DE2 Board with Verilog Design, Altera [8] De2-115 User manual, Terasic Inc [9] Marvell 88E1111 Product Brief Gigabit Ethernet Transceiver, Marvell [10] Triple-Speed Ethernet MegaCore Function User Guide, Altera [11] Website http://www.alterawiki.com/wiki/Devicetree [12] Website http://www.alterawiki.com/wiki/Linux_Desktop_Install [13] Website http://www.alterawiki.com/wiki/Sopc2dts [14] Website http://www.alterawiki.com/wiki/New_Qsys_Issues Trần Thế Anh - 10070471 Trang 63 -64- Chương Phụ Lục 7.1 Cài đặt Quartus 12.0 sp2 Web edition Ubuntu 12.04 64bit Tải Quartus 12.0 SP2, Web edition từ altera.com Tên file cài đặt là: quartus_12.0sp2_263_quartus_free_linux.gz Gõ lệnh sau terminal: sudo -i cd /bin rm sh ln -s bash sh apt-get install ia32-libs cd ~/Downloads tar xzf quartus_12.0sp2_263_quartus_free_linux.gz cd /setup Chỉ đường dẫn cài đặt Quartus, vd /altera Quartus cài vào thư mục /altera/12.0sp2/quartus Khi setup chạy xong, trả lời "No" chỗ "Delete temporary source files" Gõ lệnh sau để cài thư viện 64bit: cd linux_installer/quartus_free_64bit /install Điền path cài đặt: /altera/12.0sp2 Trả lời "No" cho "Delete installed files" Tạo file /etc/udev/rules.d/51-usbblaster.rules, để chương trình jtagconfig truy xuất thiết bị USB Blaster [12]: # USB-Blaster BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666" BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6002", MODE="0666" BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6003", MODE="0666" Gõ lệnh sau để chỉnh sửa locales cho Perl [14]: locale-gen en_US en_US.UTF-8 Trần Thế Anh - 10070471 Trang 64 -65- locale-gen en_US en_US.UTF-8 7.2 Cài đặt gói hỗ trợ cho toolchain nios2 Giả sử người dùng cài đặt Quartus vào thư mục /altera/12.0sp2/, mã nguồn µClinux phần trước giải nén thư mục /nios2-linux/ Chỉnh sửa file ~/.bashrc, thêm dịng sau để biến mơi trường PATH nơi có nios2 compiler toolchain: export PATH=$PATH:/altera/12.0sp2/quartus/bin/\ :/altera/12.0sp2/quartus/linux/\ :/altera/12.0sp2/nios2eds/bin/\ :/altera/12.0sp2/nios2eds/bin/gnu/H-i686-pc-linux-gnu/bin/\ :/altera/12.0sp2/nios2eds/\ :/nios2-linux/toolchain-mmu/x86-linux2/bin export LD_LIBRARY_PATH=/altera/12.0sp2/quartus/linux/\ :/altera/12.0sp2/nios2eds/bin/linux/ Cài thêm thư viện để hỗ trợ SOPC Builder, nios2 tool chain: apt-get install default-jre default-jdk apt-get install git-all git-gui apt-get install tcsh make gcc bison libglade2-dev byacc flex gawk gettext ccache zlib1g-dev libgtk2.0-dev liblzo2-dev pax-utils uuid-dev uuid-runtime lib32ncurses5-dev libncurses5-dev Trần Thế Anh - 10070471 Trang 65 -66- LÝ LỊCH TRÍCH NGANG Họ tên học viên: Trần Thế Anh Ngày, tháng, năm sinh: 04 - 11 - 1980 Nơi sinh: TPHCM Địa liên lạc: đường 13 P4 Quận TPHCM QUÁ TRÌNH ĐÀO TẠO (Bắt đầu từ Đại học đến nay) 1998 - 2002 Đại Học Khoa Học Tự Nhiên TPHCM, Khoa CNTT, BM Mạng Máy Tính 2010 - KHMT Đại Học Bách Khoa TPHCM, Khoa KH&KTMT, Chuyên Ngành Q TRÌNH CƠNG TÁC (Bắt đầu từ làm đến nay) 2002 - 2004: C++ developver, Thành Đạt Ltd 2004- 2007: IT Administrator, ALMEC Corp 2007 - 2009: C++ developver, Freelance 2009 - tại: IT manager, Targetmedia Jsc 2010 - tại: IT network administrator, Thế Giới Di Động Jsc Trần Thế Anh - 10070471 Trang 66 ... CHUYỂN TCP/IP STACK VÀ NHÂN LINUX SANG KIẾN TRÚC VI XỬ LÝ NIOS 2- NHIỆM VỤ VÀ NỘI DUNG: chuyển (porting) nhân Linux chồng tcp/ip sang kiến trúc vi xử lý. .. board mạch De2-115 µClinux Chương KIẾN TRÚC CPU NIOS- 2 2. 1 Tổng quan vi xử lý mềm Nios2 2. 2 Các đơn vị chức 10 2. 2.1 Thanh ghi 10 2. 2 .2 Bộ xử lý số học... Chương KIẾN TRÚC CPU NIOS- 2 2.1 Tổng quan vi xử lý mềm Nios2 Vi xử lý Nios chip thuộc dòng họ RISC (load store) hãng Altera tạo [4] Có đặc điểm sau: • Tập lệnh chiều dài cố định 32 bit • 32 ghi