|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/introduction-embedded-systems
课程评论:没有评论
课程名称:嵌入式系统软件与开发环境入门 课程概述:欢迎参加嵌入式系统软件与开发环境入门课程。该课程专注于提供实际编码经验和基于ARM微控制器的项目实践。您将学习如何实现软件配置管理以及开发嵌入式软件应用程序。课程作业包括使用GNU Toolchain GCC创建构建系统,使用Git版本控制,并在虚拟机上进行Linux软件开发。课程最后会有一个项目,您将创建自己的构建系统和固件,能够操控内存。 这是一个两门课程系列中的第一门,第二门课程为嵌入式软件与硬件架构,将使用硬件工具对微控制器进行编程和调试裸机固件。通过使用德州仪器的MSP432开发套件,您将配置多种外设,编写多个程序,并在自己的嵌入式平台上执行您的作品。 课程大纲: 1. 嵌入式系统开发组件 - 模块1将介绍嵌入式系统软件开发过程的各个组件。该模块将对多个主题进行快速概述,以后模块和课程将进行详细分析。我们将从定义嵌入式系统的硬件和软件构建块开始,包括C语言编程的复习。接下来,您将学习开发者需要使用的重要工具,以帮助设计、构建和管理他们的设计。这包括开发环境、版本控制和所安装的硬件工具包。学习者将在虚拟机上完成第一周的应用作业。 2. 使用GCC和GNU Make进行编译 - 模块2将介绍软件开发构建系统。大多数软件工程师对他们的构建系统非常了解,因为它需要将高阶软件语言翻译为特定于架构的实现。构建系统中介绍了一些重要的平台和架构概念,以帮助强化良好的软件设计技术。学习者将创建自己的构建系统并利用构建工具分析其嵌入式软件实现。 3. 内存类型、段和管理 - 模块3将开始介绍嵌入式设计中的重要概念,如内存系统。学习者将了解软件与硬件映射的发生方式,包括区分程序代码和程序数据。内存系统在平台和架构中有许多依赖性,您将开始学习软件工程师需要了解的一些基本概念,以利用嵌入式系统的所有内存部分。 4. 课程1最终评估 - 在这一周,您将结合模块1到3中所学的内容,编写一些内存操作软件,将其纳入构建系统,并运行一些测试函数。在作业结束时,您将对其他学习者的软件进行详细的代码审查。审查其他学习者的代码对您的软件设计成长非常重要,同时也为编码者提供了宝贵的反馈。专业软件工程师在开发代码时,常常会进行软件审查。
Name:Embedded System Development Components
Description:Module 1 will introduce the learner to the components of your embedded system software development process. This module will be a quick overview for many topics with detailed analysis to follow in later modules and courses. We start with defining the hardware and software building blocks of Embedded Systems which will include a C-programming refresher. Next you will learn about the important tools a developer will need to use to help design, build and manage their designs. This includes development environments, version control and the hardware kits to install on. Learners will install and use a Virtual machine to complete Week 1 Application Assignment.
Name:Compilation with GCC and GNU Make
Description:Module 2 will introduce the learner to the software development build system. Most software engineers are very knowledgeable about their build system as we need them to translate our high-level software languages to our architecture specific implementations. There are some important platform and architecture concepts that are introduced in the build system to help enforce good software design techniques. Learners will create their own build systems and utilize build tools to analyze their embedded software implementations.
Name:Memory Types, Segments and Management
Description:Module 3 will begin to introduce important embedded concepts like the memory systems in their design. Learners will understand how the software to hardware mapping occurs for their designs including differentiating between your program code and your program data. Memory systems have many platform and architecture dependencies, and you will begin to learn about some of the fundamental concepts a software engineer needs to know to utilize all parts of an embedded system’s memory.
Name:Course 1 Final Assessment
Description:During this week you are to going to combine what you have learned in modules 1-3 to write some memory manipulation software, incorporate into your build system and then run some test functions. At the end of the assignment you will perform a detailed code review of other learners’ software. Reviewing other learners code is very important for both your growth of software design but also for the coder to gain valuable feedback. Professional software engineering regularly go through software reviews when developing code.
Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine. The course concludes with a project where you will create your own build system and firmware that can manipulate memory. The second course in this 2 course series , Embedded Software and Hardware Architecture, will use hardware tools to program and debug microcontrollers with bare-metal firmware. Using a Texas Instruments MSP432 Development Kit, you will configure a variety of peripherals, write numerous programs, and see your work execute on your own embedded platform!