Tôi đang cố gắng cung cấp các trình xử lý ngắt tùy chỉnh cho Cortex M3 của mình (hướng dẫn tham khảo tại đây ). ST vui lòng cung cấp một thư viện chuẩn, có các tệp khởi động khác nhau, tất cả được gọi là "startup_stm32f2xx.s". Mỗi cái nằm trong một thư mục khác nhau theo IDE.
Bây giờ tôi không sử dụng IDE (tôi biên dịch trực tiếp với Yagarto, phiên bản sửa đổi của chuỗi công cụ gcc). Tôi đã hỏi những người khởi nghiệp sẽ sử dụng. Tuy nhiên, bây giờ đã thử tất cả các tệp khởi động có sẵn, tôi luôn gặp cùng một lỗi:
/startup_stm32f2xx.s:1 0: error: CPU mục tiêu không hỗ trợ chế độ ARM
Một tìm kiếm nhanh của Google cho thấy điều này có thể có nghĩa là mã trình biên dịch mã có các hướng dẫn mà ARM của tôi không thể hiểu được, điều đáng ngạc nhiên là mã được cung cấp cho bảng của tôi.
Làm cách nào tôi có thể biên dịch tệp khởi động xác định vectơ ngắt trên STM32 của tôi?
Chỉnh sửa: Trong mỗi tệp, startup_stm32f2xx.s:1:0
là phần đầu của một nhận xét. Ngoài ra, tôi đang sử dụng cờ -mcpu=cortex-m3
. Đây là thông báo lỗi hoàn chỉnh:
$ make all
arm-none-eabi-gcc -x assembler-with-cpp -c -g -mcpu=cortex-m3 -gdwarf-2 -Wa,-amhls=startup_stm32f2xx.lst startup_stm32f2xx.s -o startup_stm32f2xx.o
startup_stm32f2xx.s:1:0: error: target CPU does not support ARM mode
makefile:46: recipe for target `startup_stm32f2xx.o' failed
make: *** [startup_stm32f2xx.o] Error 1
STM32 toolchain
gì? Chỉ có một STM32 standard library
.