|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/toolchain-compiler-for-embedded-c-project/
课程评论:没有评论
课程名称:嵌入式 C 项目的工具链编译器 课程概述: 在本课程中,您将学习到不同的编译阶段,这些阶段最终会生成可执行的二进制文件,并可以加载到您的嵌入式设备(如微控制器或任何类型的嵌入式设备)中。嵌入式系统和嵌入式 C 编程中,许多问题隐藏在将高层 C 代码转换为低层可执行文件的流程中,因为该流程包含了供处理器执行的机器代码(即二进制代码)。通常在使用抽象的 IDE(如 VSCode、Eclipse、Keil-mdk 等)创建嵌入式 C 项目时,您可能不了解从 C 级源代码到最终可执行二进制文件(.elf、.bin、.hex)的背景流程,因此很难判断您遇到的问题是源于该流程还是您的 C 级代码。 课程将带您深入了解不同的编译阶段、每个阶段生成的中间文件、最终二进制文件是如何链接的,以及可以插入的预处理和后处理的额外阶段。所有这些内容将通过使用一些基本的低级 Makefile 来实现,从而让您在不依赖复杂的 IDE 的情况下控制整个构建过程。 课程作者 Wassi Dhokar 在嵌入式系统领域工作了十多年,他曾经也是一个初学者,对构建过程有过困惑和不解。他理解您在流程隐蔽时可能感到的沮丧,因此他将尽力以简单易懂的方式指导您学习。 课程内容包括: - 不同编译阶段的概念 - 编译器的需求及其功能 - 每个阶段的关键特性 - 使用的工具链编译器示例(如 ARM Cortex-M 微处理器的 armgcc 工具链) - Makefile 模板项目,帮助您调用不同的工具链工具进行编译 - 不同 Makefile 规则的指导,学习如何更新 Makefile 以添加或移除某个阶段 - 多个概念验证实例 - 使用不同工具链辅助工具(如 objdump、objcopy)操作最终二进制文件 通过本课程,您将获得一个 Makefile 模板作为嵌入式 C 项目的起始点,从而节省大量设置时间。欢迎参加本课程,让我们开始这段旅程!
What are you going to learn in this course?Within this course you will get to know different compilation stages that result in generation of the final executable binary, which get loaded later into your embedded device (microcontroller or any kind of embedded device).When it comes to embedded Systems and to be more precise embedded C programming, a lot of problems and issues are hidden within the flow that translate your high level C code into low level executable file containing the machine code (binary code) to be executed by the processor. In Most of the cases when you create your embedded C project using some some abstracted IDEs like VSCode, IDE like eclipse , Keil-mdk, …, you don't know what is going in background to go from C level sources to final Executable binary file (.elf,.bin,.hex to be loaded into the device, the whole flow is kind of transparent in such way it become quiet hard to question if the issue/problem you are facing is coming from that flow or from you C level based code.This is not always about figuring out issues, you may need to do some extra preprocessing or postprocessing on the intermediate generated files out of those build stages, so knowing what is going on really and what are those intermediate files will helps you to identify the steps to be done for those pre/post processing extra steps.In this Course , you will see in pretty close and low level way those different compilation stages, what are the different intermediate files that can be generation out of those stages, how the final binary get linked , what pre/post processing additional stages that can be inserted, all of this using some basic low level written makefile to get control over all those steps without the need to have abstracted fancy IDE for such build procedure.Which make you motivated to get involved in this Course?The way it is written and who wrote this course is one of the key motivation to engage yourself in this Course. Wassim Dhokar was working in embedded systems field for more than decade now , and he was at some point exactly like you as a beginner confused and not knowing what is going within the background of the build procedure triggered by one of the front-end IDEs like eclipse, he knows exactly the frustration you may feel when this whole flow is hidden from you or when a colleague/instructor start asking question about this process or to check some of generated intermediate files out of compilation, therefore he will try to guide you in easy way through:The different Compilation Stages concepts The need of compilerThe functionality and what is expected from each compilation stagesThe key features of each stageGive you an example about existing Toolchain compiler to be used (armgcc toolchain for ARM cortex-M Micro-processors)Provide a makefile template project to be used to invoke the different toolchain tools needed for compilation stagesWill guide you through different makefile rules and show you how to update the make file to add or remove one of those stagesProvide multiple Examples as prove of concepts for the theoretical partsShow you how to manipulate the final binary using the different toolchain helper tools like: objdump, objcopy...The makefile you get here can be used as template and starting point for your Embedded C project, which will sav e you plenty of time to setups everything from scratch.So welcome to this Course and let's start our Trip here!