Điểm:2

Biên dịch mã ARMv7A (AArch32) trên máy ARMv8A (AArch64)?

lá cờ id

Tôi đã đọc ở nhiều nơi rằng ARMv8A hỗ trợ mã ARMv7A tương thích ngược (mã trước được gọi là AArch64 và mã sau được gọi là AArch32).

Tôi đang chạy máy ARMv8A (trên Raspberry Pi 4B, với BCM2835 SoC), nhưng tôi muốn viết và gỡ lỗi mã Hợp ngữ GNU được viết bằng ngôn ngữ ARMv7A. Làm cách nào để biên dịch các tệp .S được viết bằng ARMv7A và chạy nó trên máy của tôi?

Tôi đã hy vọng rằng một cái gì đó giống như

    gcc MyAsmFile.S -march=armv7-a

sẽ hoạt động, nhưng tôi gặp lỗi sau:

    cc1: **lỗi**: giá trị không xác định: 'armv7-a' cho '-march'
    cc1: *lưu ý*: đối số hợp lệ là: armv8-a ... armv8.6-a bản địa; ý bạn là '**armv8-a**'?

Lời khuyên nào sẽ được đánh giá cao! Lý do là tôi muốn thực hành cụ thể mã ARMv7A vì đó là thứ chúng tôi sẽ sử dụng tại nơi làm việc.

lá cờ hr
Có thể bạn cần một chuỗi công cụ chéo thực tế (có thể là gcc-arm-linux-gnueabihf)?
Gregory Fenn avatar
lá cờ id
Cảm ơn bạn nhưng làm cách nào để chạy mã đã biên dịch? Có cờ đặc biệt nào mà tôi cần thông báo cho gcc-arm-linux-gnuabihf rằng mã được viết bằng ARMv7A nhưng sẽ chạy trên AArch32 không? Hay chúng giống hệt nhau và chỉ có thể chạy nguyên bản thay thế cho nhau?
lá cờ hr
Xin lỗi tôi thực sự không biết gì về kiến ​​trúc đó

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.