0% found this document useful (0 votes)
43 views10 pages

Cross Compiler

Uploaded by

21151500
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views10 pages

Cross Compiler

Uploaded by

21151500
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Cross Compiler

• Cross Compiler trình biên dịch chéo. Bản chất là 1 tool chain chứa các
công cụ phát triển phần mềm riêng biệt liến kết với nhau. Tùy theo lựa
chọn bộ công cụ có thể chứa các công cụ Debugger hoặc Compiler
cho một ngôn ngữ cụ thể.
• Là trình biên dịch có thể biên dịch code cho một nền tảng khác nền
tảng mà compiler đang sử dụng.
• Vidu: Cross Platform 1 source code từ máy tính chip Intel và chạy nó
trên nền của vi xử lý ARM.
3 đối tượng liên quan tới cross compiler/tool
chain
• Build: hệ thống tạo ra tool chain, thường là các máy tính dùng chip
intel và hệ điều hành Linux hoặc Windows.
• Host: hệ thống chạy tool chain để compile source code. (thường là
máy tính dùng chip Intel và chạy hệ điều hành Linux hoăc Window.)
• Target: là hệ thống chạy chương trình do host tạo ra thường target là
các máy tính nhúng dùng chip ARM, tuy nhiên nó cũng có thể là 1
máy tính thường dùng chip Intel.
Các thành phần của Cross Compiler
Binutils
• Là một tập các công cụ để tạo và quản lý file nhị phân (bin) của target
CPU. Một số công cụ như:
• as : là assembler, nó sinh ra mã nhị phân( binary code) từ assembler source
code.
• ld : trình liên kết ( linker)
• ar, ranlib: sinh ra file nén .a, sử dụng như là thư viện.
• objdump, readef, size, nm ,strings: phân tích file nhị phân.
• Strip: để loại bỏ những phần thừa trong file nhị phân để giảm kích thước của
chúng.
C/C++ Library
• Được dùng để interface giữa application và kernel, cung cấp các C
API chuẩn để dễ dàng phát triển ứng dụng. Một số libb như:
• uClibc, glibc, eglibc, dietlibc, newlib,..
Kernel Header
• Cung cấp các API cần thiết cho Applications và C Library giao tiếp
với Kernel.
GCC compiler và GDB Debugger.
• GCC, C++, G++: compiler
• Trình biên dịch hệ thống Linux, complie cho rất nhiều ngôn ngữ và nhiều kiến
t.rúc CPU khác nhau như ARM, MIPS, Power PC, SuperH, x86.
• GDB Debugger: Trình gỡ rối, trợ giúp cho quá trình phát hiện lỗi khi
develop Application.

You might also like