🌱 Build Process
Trong một chương trình C trên máy tính (window), các file source bao gồm .c, .h, .cpp sẽ trải qua các bước cơ bản - Tham khảo Build process with Command Line.
- Preprocessor - Chi tiết đọc tại đây!
- Xử lý các chỉ thị tiền xử lý - thay thế các macro, thay thế nội dung file header vào các vị trí #include.
- Xóa các comment
- Đầu ra của quá trình này là file extended source (.i / .ii)
- Compilation
- Các file source được Compile bởi Compiler tạo file Assembly (.asm).
- Compiler được sử dụng là các compiler thông dụng như GCC.
- Assemble
- Các file .asm (từ bước trên / source file) tiếp tục được dịch bằng trình Assembler
- Đầu ra là các file object (.o)
- Linking - Chi tiết đọc tại đây!
- Các file .o được link với các file thư viện tĩnh (.a / .lib) bởi trình linker.
- Đầu ra là file .exe cuối cùng để chạy.
👉 Nhưng trong một chương trình C nhúng (vi điều khiển) thì có một chút thay đổi
- Compiler không compile ra file ASM của máy tính nữa, mà ở đây là Cross Compiler.
** Cross Compiler: Đọc về Cross Compiler - Các file Object vẫn được link với thư viện tĩnh, nhưng cần trải qua một bước nữa đó là Locator, bước này dùng 1 file Linker Script để phân bố vùng nhớ cho vi điều khiển - Khác với máy tính thì IDE và Hệ điều hành đã tự động Locator và ẩn đi file Linker Script này.
- File đích tạo ra không còn là .exe mà là các file như .elf (dùng để execute & debug), các file định dạng khác như .hex / .bin / .srec / .axf / ... để nạp code và debug.
Quá trình compile các file source |
Quá trình linking và locator ---------------------------------------------------- >>>= Follow ngay =<<<
|