Chia Sẻ Khóa Học Toolchain Compiler Dành Cho Embedded C Project [Khóa 6426 A]
Toolchain Compiler (armgcc compiler) dành cho lập trình Embedded C.
Những gì bạn sẽ học được:
- ✓ Tìm hiểu quy trình và các giai đoạn để biên dịch Code Embedded C.
- ✓ Hiểu từng giai đoạn biên dịch và kết quả mong đợi.
- ✓ Xác định Bộ công cụ xây dựng cần thiết từ bất kỳ Toolchain Package nào được yêu cầu để xây dựng Project Embedded C.
- ✓ Tìm hiểu về armgcc toolchain compiler và cách sử dụng nó để biên dịch các Project C dựa trên ARM của bạn.
- ✓ Cách sửa đổi Project Makefile của bạn để invoke các Compiler tool.
- ✓ Các công cụ Toolchain helper khác nhau như Objdump và Objcopy có thể được sử dụng để sửa đổi nội dung binary file của bạn và cách invoke các công cụ đó.
- ✓ Hiểu các tính năng và tùy chọn được hỗ trợ khác nhau theo từng giai đoạn biên dịch.
Bạn sẽ học được gì trong khóa học này?
Trong khóa học này, bạn sẽ được tìm hiểu về các giai đoạn biên dịch (compilation stage) khác nhau dẫn đến việc tạo ra executable binary cuối cùng, sau đó được load vào thiết bị nhúng của bạn (vi điều khiển hoặc bất kỳ loại thiết bị nhúng nào).
Khi nói đến các Hệ thống nhúng (embedded System) và nói chính xác hơn là lập trình Embedded C, rất nhiều vấn đề và sự cố ẩn trong luồng dịch high level C code của bạn thành low level executable file chứa machine code (binary code) để bộ xử lý thực thi. Trong hầu hết các trường hợp khi bạn tạo dự án embedded C của mình bằng một số IDE trừu tượng như VSCode, IDE như eclipse, Keil-mdk, …, bạn không biết những gì đang diễn ra ở chế độ nền để chuyển từ nguồn cấp C sang Executable binary file cuối cùng (.elf, .bin, .hex để được load vào thiết bị, toàn bộ luồng khá trong suốt theo cách mà trở nên khá khó để đặt câu hỏi liệu sự cố/vấn đề bạn đang gặp phải đến từ luồng đó hay từ code dựa trên C level của bạn.
Điều này không phải lúc nào cũng liên quan đến việc tìm ra các vấn đề, bạn có thể cần phải thực hiện một số tiền xử lý hoặc hậu xử lý bổ sung trên các tệp trung gian được generate từ các build stage đó, do đó, việc biết những gì thực sự đang diễn ra và các file trung gian đó là gì sẽ giúp bạn xác định các bước cần thực hiện cho các bước tiền xử lý/hậu xử lý bổ sung đó.
Trong khóa học này, bạn sẽ thấy một cách khá gần gũi và ở cấp độ cơ bản các giai đoạn biên dịch khác nhau, các file trung gian khác nhau có thể được tạo ra từ các giai đoạn đó là gì, cách liên kết tệp nhị phân cuối cùng, các giai đoạn pre/post processing nào có thể được chèn vào, tất cả những điều này sử dụng một số tệp makefile cơ bản được viết ở cấp độ cơ bản để kiểm soát tất cả các bước đó mà không cần phải có IDE trừu tượng cho quy trình build như vậy.
Điều gì khiến bạn có động lực tham gia khóa học này?
Cách viết và người viết khóa học này là một trong những động lực chính khiến bạn tham gia khóa học này.
Giảng viên đã làm việc trong lĩnh vực hệ thống nhúng trong hơn một thập kỷ nay và anh ấy đã từng giống hệt bạn khi là người mới bắt đầu, bối rối và không biết điều gì đang diễn ra trong nền của quy trình build được kích hoạt bởi một trong những front-end IDE như Eclipse, anh ấy hiểu chính xác sự thất vọng mà bạn có thể cảm thấy khi toàn bộ flow này bị ẩn khỏi bạn hoặc khi một đồng nghiệp/giảng viên bắt đầu đặt câu hỏi về quy trình này hoặc kiểm tra một số file trung gian đã tạo ra khi biên dịch, do đó anh ấy sẽ cố gắng hướng dẫn bạn một cách dễ dàng thông qua:
- ✓ Các khái niệm về các Giai đoạn biên dịch (Compilation Stage) khác nhau.
- ✓ Sự cần thiết của compiler.
- ✓ Chức năng và những gì mong đợi từ mỗi giai đoạn biên dịch.
- ✓ Các đặc điểm chính của từng giai đoạn.
- ✓ Cung cấp cho bạn một ví dụ về Toolchain compiler hiện có để sử dụng (armgcc toolchain cho bộ vi xử lý ARM cortex-M).
- ✓ Cung cấp một makefile template project để sử dụng nhằm invoke các công cụ toolchain khác nhau cần thiết cho các giai đoạn biên dịch.
- ✓ Sẽ hướng dẫn bạn qua các quy tắc makefile khác nhau và chỉ cho bạn cách cập nhật make file để thêm hoặc xóa một trong những giai đoạn đó.
- ✓ Cung cấp nhiều ví dụ để chứng minh các khái niệm cho các phần lý thuyết.
- ✓ Hiển thị cho bạn cách thao tác final binary bằng các công cụ toolchain helper khác nhau như: objdump, objcopy ...!
Makefile bạn nhận được ở đây có thể được sử dụng làm template và điểm khởi đầu cho dự án Embedded C của bạn, giúp bạn tiết kiệm rất nhiều thời gian để thiết lập mọi thứ từ đầu.
Khóa học này dành cho ai:
- ✓ Sinh viên chuyên ngành Hệ thống nhúng hoặc Embedded Developer quan tâm đến việc nâng cao kiến thức về góc nhìn công cụ của các hệ thống nhúng.
NHẬN GET EBOOK TRÊN AMAZON THEO YÊU CẦU