1. Nội dung thiết kế tốt nghiệp:
3.4.5 Xây dựng ứng dụng
Các ứng dụng do người dùng phát triển được đặt trong thư mục nios2- linux/uClinux-dist/user. Quá trình thêm một ứng dụng người dùng mới vào kernel gồm các bước cơ bản sau:
Để thêm một ứng dụng mới, trước hết ta tiến hành tạo thư mục chứa mã nguồn (hello1 chẳng hạn) chứa file hello1.c với nội dung in một chuỗi ra màn hình terminal.
Để hướng dẫn trình biên dịch dịch file này, chúng ta cần tạo makefile trong thư mục hello1 như hướng dẫn tài liệu tham khảo [11].
Để hướng dẫn compiler thêm thư mục hello vào danh sách cần biên dịch, ta phải thêm đoạn sau vào makefile của thư mục user:
dir_$(CONFIG_USER_HELLO1_HELLO1) += hello1
Để hướng dẫn hệ thống menuconfig thêm ứng dụng này vào danh sách lựa chọn cho người phát triển khi cấu hình hệ thống, ta cần thêm đoạn sau vào Kconfig của thư mục user:
config USER_HELLO1_HELLO1 bool "hello"
help
This program prints hello world.
Bằng cách này, người phát triển có thể thêm ứng dụng vào kernel để sử dụng. File nhị phân hello1 được dịch ra sau khi make sẽ được thêm vào thư mục romfs/bin, hello1 sẽ được xem như một lệnh của kernel. (Hình 3.12)
61
Có một cách khác để thêm một ứng dụng người dùng vào kernel, đó là dịch file code C ra file nhị phân, sau đó thêm vào romfs/bin:
Ta một file hello2.c trong thư mục bất kỳ với nội dung tương tự hello1. Để dịch file vừa tạo ra file nhị phân, chúng ta sử dụng thư viện nios2-linux-
uclibc-gcc của gói toolchain:
nios2-linux-uclibc-gcc hello2.c -o hello2 -elf2flt
Sau khi hoàn tất các bước trên, ta make lại kernel, nạp file zImage xuống KIT và boot. Kết quả thu được được minh họa như trên Hình 3.10
Hình 3.14 Kết quả thêm ứng dụng ngƣời dùng hello1