Embedded Software and Hardware Architecture

所在平台: Coursera

课程主页: https://www.coursera.org/learn/embedded-software-hardware

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:嵌入式软件与硬件架构 课程概述:嵌入式软件与硬件架构为学习嵌入式架构和编写软件以操作硬件提供了初步的理解。您将获得编写低级固件的经验,以直接与硬件接口,并运用高效、可读和可移植的设计实践。课程将从在主Linux机器上构建和运行代码的模拟环境过渡到在集成开发环境中直接构建并安装代码到您的ARM Cortex-M4微控制器上。课程作业包括编写固件以交互和配置ARM架构以及MSP432微控制器平台。课程最后的项目是开发一个循环缓冲区数据结构。 为完成课程作业,您需要拥有德州仪器的MSP432微控制器LaunchPad。后续的专业课程将继续使用这一硬件工具,以开发更具挑战性的固件。 课程大纲: 1. **与ARM核心微控制器的C程序接口设计** - 本模块将向学习者介绍软件/固件如何与嵌入式平台及其底层处理器架构接口。嵌入式软件工程师必须充分了解架构,以编写高效且无错误的代码。这需要对处理器架构、存储系统、微控制器外设以及编译器的更高级用法有深入了解。该模块将继续强调良好的软件设计技巧,重点关注可移植性和可维护性,而不降低硬件性能。 2. **内存操作** - 本模块将向学习者介绍更高级的固件技术,并引导我们进入微控制器的实际固件操作。我们将通过构建自己的内存访问方法,使程序员能够操作外设内存位域,以配置微控制器外设和核心架构概念。这将包括对寄存器定义文件和中断向量表的复杂指针使用。模块最后将深入探讨微控制器上的在线调试功能,并提供动手示例。 3. **设计嵌入式数据结构** - 本模块将介绍高效且易于维护的数据组织方式。大多数微控制器程序需要使用结构化数据,以跟踪和操作程序中的控制流或数据。这些结构可以简单如联合体、枚举或结构体,也可以更复杂,涉及抽象数据结构。虽然抽象数据结构通常在更高层次的软件中讨论,但在嵌入式系统软件中也有许多简单示例被频繁使用。

课程大纲

Name: Interfacing C-Programs with ARM Core Microcontrollers

Description:Module 1 will introduce the learner to how software/firmware can interface with an embedded platform and the underlying processor architecture. Embedded Software engineers must be very knowledgeable about the architecture in order to write efficient and bug free code. This requires knowledge of processor architecture. memory systems, microcontroller peripherals and more advanced use of the compiler. This module will continue to enforce good software design techniques with a focus on portability and maintainability without reducing your hardware’s performance.

Name:Manipulating Memory

Description:Module 2 will introduce the learner to more advanced firmware techniques as well move us into some hands on firmware for the microcontroller. We start by building our own memory access methods that will allow a programmer to manipulate peripheral memory bit fields to configure microcontroller peripherals and core architecture concepts. This will include more complex use of pointers for register definition files and function pointers for interrupt vector tables The module concludes with an in-depth look into the features of on-target debugging on a microcontroller and a hands-on example.

Name:Designing Embedded Data Structures

Description:Module 3 will introduce the learner to efficient and maintainable ways of organizing data. Most microcontroller programs require some use of structured data in order to track and manipulate the control flow or data in a program. These can be as simple as unions, enumerations or structures, but can be more complex with the use of abstract data structures. While abstract data structures are often discussed in higher level software, there are many simple examples that are used frequently in embedded system software.

课程评论(0条)

课程详情

Embedded Software and Hardware Architecture is a first dive into understanding embedded architectures and writing software to manipulate this hardware. You will gain experience writing low-level firmware to directly interface hardware with highly efficient, readable and portable design practices. We will now transition from the Host Linux Machine where we built and ran code in a simulated environment to an Integrated Development Environment where you will build and install code directly on your ARM Cortex-M4 Microcontroller. Course assignments include writing firmware to interact and configure both the underlying ARM architecture and the MSP432 microcontroller platform. The course concludes with a project where you will develop a circular buffer data structure. In this course you will need the Texas Instruments LaunchPad with the MSP432 microcontroller in order to complete the assignments. Later courses of the Specialization will continue to use this hardware tool to develop even more exciting firmware.

课程标签

0人关注该课程

主题相关的课程