Do sự cố trong Altera SOS EDS phiên bản 13.0 và 13.1, thiếu mã Assembler cần thiết để xây dựng một ứng dụng không phải là bán lưu trữ.
Để giải quyết vấn đề này, hãy làm theo các bước dưới đây để tải xuống tập tin Tập hợp được yêu cầu và sau đó cập nhật kịch bản liên kết của bạn để vô hiệu hóa bán lưu trữ.
Một ví dụ về kịch bản Makefile và Linker dựa trên ví dụ Altera-SoCFPGA-HardwareLib-GNU.tar.gz từ SOC EDS 13.0Sp1 có thể được tải xuống từ liên kết dưới đây: ExampleFiles_nonSemiHosted.zip (altera-socfpga.ld, Makefile, reset.s)
Các bước để kích hoạt ứng dụng không lưu trữ bán trên máy chủ Altera Mẫu làm mẫu
- Tải xuống reset.o:ExampleFiles_nonSemiHosted.zip
- Sao chép / sao lưu tập lệnh Altera linker hiện có của bạn altera-socfpga-hosted.ld
- Thay đổi cờ biên dịch
Trước:-lcs3hosted
Sau:-lcs3unhosted: GROUP(-lgcc -lc -lcs3 -lcs3unhosted -lcs3arm)
- Bình luận ngoài hoặc xóa các phần mã sau:
/* Enable arm semihosting */
EXTERN(__auto_semihosting) /* force exit to be picked up in a hosted or os environment */
EXTERN (exit atexit) - Cập nhật Makefile để biên dịch reset.o và trỏ đến Tập lệnh Linker cập nhật từ các bước 2-4
#Assembler Flags
AFLAGS := -g -O0 -mfloat-abi=soft -march=armv7-a -mtune=cortex-a9 -mcpu=cortex-a9 -x assembler
#Assembler source files
A_SRC := reset.s
#Original Linker script
#LINKER_SCRIPT := altera-socfpga_hosted.ld
#Link to updated linker script for non-semihosted
LINKER_SCRIPT := altera-socfpga.ld
#Clause to compile reset.o
reset.o:
-c reset.s -o reset.o
#Updated linker line to add dependency for reset.o
: reset.o
-T reset.o -o
-d > .objdump
> .map
Lưu ý: Khi chỉnh sửa Tập tin, hãy đảm bảo tuân theo đúng quy tắc Tab và Không gian
Sự cố này đã được khắc phục bắt đầu với SOC EDS phiên bản 14.0