UniMate AI

CSSE3010

计算机系统

2 学分难度

课程定位 CSSE3010(Embedded Systems Design and Interfacing)是 UQ 课程体系中兼顾理论与实践的一门难课程,核心目标是把“会看懂”升级为“会分析、会实现、会解释”。课程通常承担承上启下作用:前接基础概念,后接更高阶专题或项目。对准备走软件、数据、工程或研究路径的同学来说,这类课程的价值不只在分数,更在于建立可迁移的方法框架和稳定交付能力。 技术栈与学习内容 学习内容通常覆盖该方向的关键概念、方法与工具链,并通过练习或作业落实到具体场景。常见会使用 Python、R、MATLAB、C/C++ 或课程指定软件(以官方课纲为准)。课程强调的不只是“得到答案”,还包括假设条件、步骤完整性、结果解释与复现性。也就是说,你需要同时训练知识准确度、实现质量和表达清晰度。 课程结构 课程一般按周推进,前段搭建概念框架,中段进入题型训练与案例应用,后段做综合整合与评估冲刺。考核常见组合为 Quiz/Lab、作业、报告和期末评估。评分不仅看正确率,也看分析逻辑、书写/代码规范与结论表达。多数同学真正拉开差距的阶段在中后期:是否能持续输出,而不是临近截止日突击。 适合人群 适合希望夯实底层能力、提升问题拆解与建模能力、并改善学术或工程表达的同学。若你计划继续修读高阶课程,或希望在实习与求职中提升“把事情做对并讲清楚”的

Course decision

选课先看

先看考核重心、截止节奏和入门要求,再决定这门课是否适合你的学期安排。

考核总权重

100%

4 项考核

最高单项

30%

Assignment 1

期末考试

未注明

以官方 outline 为准

Hurdle

未列出

当前考核表没有 Hurdle 标记

What you learn

学完能做什么

学习成果来自官方 Unit Outline,关键词来自这门课的逐周主题。

课程能力关键词

Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime

Syllabus

每周大纲

默认只展示每周独有的知识重点;节奏、考核、Tutorial 和避坑信息按需展开。

  1. 1

    Introduction to Embedded Systems & ARM Cortex-M4

    ### 📖 核心知识点:嵌入式系统概述与ARM Cortex-M4架构 课程导入,介绍嵌入式系统的定义、应用领域和开发流程。学习 ARM Cortex-M4 处理器架构特点(32-bit RISC, Harvard Architecture, Thumb-2 指令集)。熟悉开发平台 STM32 Nucleo-F429ZI 的硬件资源和开发工具链(STM32CubeIDE / GCC ARM)。 - **核心概念/公式**: ARM Cortex-M4 架构特点、GPIO 基本原理、Cross-compilation 概念、Makefile 构建系统 ⏰ **本周节奏**: 难度 ⭐⭐ | 预计投入 8h(Lecture 2h + Practical 3h + 自学 3h) 🎯 **考试关联**: Final Exam 会考 ARM 架构基础概念题。理解 Cortex-M4 与 AVR 的架构差异是基础。 🧪 **Tutorial/Lab**: 搭建开发环境,编译运行第一个 "Hello World" LED Blink 程序。学习使用 GDB 调试。 📌 **作业关联**: 所有 Prac/Project 都基于这个开发平台,本周必须完成环境搭建。 ⚠️ **易错点**: Makefile 路径配置错误导致编译失败;忘记安装 USB 驱动导致无法烧录;STM32 的 GPIO 时钟需要先使能才能使用(与 AVR 不同)。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime
  2. 2

    GPIO Interfacing & HAL Library

    ### 📖 核心知识点:GPIO接口与HAL库使用 深入学习 STM32 的 GPIO 子系统:Mode (Input, Output, Alternate Function, Analog)、Output Type (Push-Pull, Open-Drain)、Pull-Up/Pull-Down 配置。掌握 STM32 HAL Library 的 GPIO 操作函数。学习如何驱动 LED、读取按键、使用外部中断 (EXTI)。 - **核心概念/公式**: HAL_GPIO_WritePin(), HAL_GPIO_ReadPin(), GPIO_InitTypeDef 结构体配置、EXTI 中断线映射 ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 9h(Lecture 2h + Practical 3h + 自学 4h) 🎯 **考试关联**: GPIO 配置是嵌入式编程的基础,考试中常作为其他题目的前提条件出现。 🧪 **Tutorial/Lab**: 实现多个 LED 的花样闪烁控制,配置按键中断实现按键切换 LED 模式。 📌 **作业关联**: Prac 1 的基础,需要熟练 GPIO 操作。 ⚠️ **易错点**: 忘记使能 GPIO 外设时钟 (__HAL_RCC_GPIOx_CLK_ENABLE);中断回调函数名拼写错误导致不触发;按键消抖未处理导致一次按下触发多次。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime
  3. 3

    Timer Peripherals & PWM Generation

    ### 📖 核心知识点:定时器外设与PWM信号生成 学习 STM32 的 Timer 外设系统(TIM1-TIM14),掌握定时器的基本计数模式和中断配置。深入学习 PWM (Pulse Width Modulation) 信号的生成原理,配置 Timer 的 Output Compare 模式。用 PWM 控制 LED 亮度和电机转速。 - **核心概念/公式**: PWM 占空比 = Pulse/Period × 100%、Timer Prescaler 和 Auto-Reload 值计算、f_pwm = f_timer_clk / (PSC+1) / (ARR+1) ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 9h(Lecture 2h + Practical 3h + 自学 4h) 🎯 **考试关联**: Timer 和 PWM 的计算题是常考内容。需要能根据需求计算 PSC 和 ARR 值。 🧪 **Tutorial/Lab**: 配置 Timer 产生不同频率的 PWM 信号,实现 LED 呼吸灯效果。 📌 **作业关联**: PWM 控制是多个 Prac 的基础技能。 ⚠️ **易错点**: PSC 和 ARR 都是从 0 开始计数所以实际分频比要 +1;忘记配置 Timer 的 Channel 输出引脚为 Alternate Function 模式;PWM 频率太低导致可见闪烁。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime
  4. 4

    ADC/DAC & Analog Signal Processing

    ### 📖 核心知识点:ADC/DAC与模拟信号处理 学习模数转换 (ADC) 和数模转换 (DAC) 的原理。掌握 STM32 ADC 的配置:分辨率(12-bit)、采样时间、转换模式(Single, Continuous, Scan)。学习如何读取模拟传感器(温度、光照、电位器)数据并转换为有意义的物理量。 - **核心概念/公式**: ADC 分辨率 = V_ref / 2^n、采样定理 f_s ≥ 2×f_max、量化误差 = V_ref / (2×2^n)、DAC 输出电压 = Digital_Value × V_ref / 2^n ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 9h(Lecture 2h + Practical 3h + 自学 4h) 🎯 **考试关联**: ADC 计算题(给定参考电压和位数计算分辨率/输出值)是常见考点。 🧪 **Tutorial/Lab**: 读取板载温度传感器和外接电位器的 ADC 值,通过 UART 打印到终端。 📌 **作业关联**: 传感器数据采集是后续项目的核心功能之一。 ⚠️ **易错点**: ADC 通道和 GPIO Pin 的映射关系搞错;采样时间太短导致读数不稳定;忘记处理 ADC 值的单位转换(原始值→电压→物理量)。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime
  5. 5

    UART & Serial Communication

    ### 📖 核心知识点:UART串行通信 学习 UART (Universal Asynchronous Receiver-Transmitter) 在 STM32 上的实现。掌握波特率配置、数据帧格式、DMA 传输模式。学习如何实现命令行界面 (CLI) 通过串口与嵌入式系统交互。 - **核心概念/公式**: Baud Rate 配置、USART_BRR 寄存器计算、DMA (Direct Memory Access) 的环形缓冲区实现、printf 重定向到 UART ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 9h(Lecture 2h + Practical 3h + 自学 4h) 🎯 **考试关联**: UART 通信协议的理解和配置方法是考试内容之一。 🧪 **Tutorial/Lab**: 实现 UART 双向通信,通过 PC 终端发送命令控制 LED 和读取传感器数据。 📌 **作业关联**: CLI 接口是大多数 Prac 的调试和交互方式。 ⚠️ **易错点**: 波特率不匹配导致乱码;TX/RX 线交叉连接搞反;DMA 缓冲区溢出未处理;中断优先级设置不当导致 UART 丢数据。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime
  6. 6

    SPI & I2C Communication Protocols

    ### 📖 核心知识点:SPI与I2C通信协议 学习两种常用同步串行协议:SPI (Serial Peripheral Interface) 和 I2C (Inter-Integrated Circuit)。掌握 SPI 的四种时钟模式 (CPOL/CPHA),I2C 的地址机制和 ACK/NACK 应答。学习如何驱动外部传感器模块(如加速度计、OLED 显示屏)。 - **核心概念/公式**: SPI 四线 (MOSI, MISO, SCK, CS)、I2C 两线 (SDA, SCL) + 7-bit 地址、SPI Clock Polarity/Phase、I2C Start/Stop Condition ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 10h(Lecture 2h + Practical 3h + 自学 5h)🔥 高压周 🎯 **考试关联**: SPI vs I2C 的对比分析是常见考题。需要理解两种协议的优缺点和适用场景。 🧪 **Tutorial/Lab**: 通过 SPI 驱动外部设备,通过 I2C 读取传感器数据。 📌 **作业关联**: 外设通信是项目的关键技能。 ⚠️ **易错点**: SPI 的 CS 片选信号忘记手动控制;I2C 地址 7-bit 和 8-bit 表示法混淆(左移一位);忘记 I2C 需要外部上拉电阻。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime
  7. 7

    FreeRTOS Basics: Tasks & Scheduling

    ### 📖 核心知识点:FreeRTOS基础 - 任务与调度 从裸机编程进入 RTOS (Real-Time Operating System) 世界。学习 FreeRTOS 的核心概念:Task (任务创建、删除、优先级)、Scheduler (Priority-based Preemptive Scheduling)、Task States (Running, Ready, Blocked, Suspended)。掌握 xTaskCreate() 和 vTaskDelay() 的使用。 - **核心概念/公式**: Task Control Block (TCB)、Priority Inversion 问题、vTaskDelay() vs vTaskDelayUntil() 的区别、configTICK_RATE_HZ 配置 ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 11h(Lecture 2h + Practical 3h + 自学 6h)🔥 高压周:RTOS 是全新概念 🎯 **考试关联**: RTOS 调度和任务管理是考试重点。需要能分析给定优先级下的任务执行顺序。 🧪 **Tutorial/Lab**: 创建多个 FreeRTOS 任务,实现 LED 控制和传感器读取的并发执行。观察优先级对执行顺序的影响。 📌 **作业关联**: 后续所有 Prac/Project 都基于 FreeRTOS 架构。 ⚠️ **易错点**: 任务栈大小分配不足导致栈溢出;vTaskDelay 的参数是 Tick 数而非毫秒(需要 pdMS_TO_TICKS 转换);高优先级任务不 yield 会饿死低优先级任务。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime
  8. 8

    FreeRTOS Synchronization: Semaphores & Queues

    ### 📖 核心知识点:FreeRTOS同步 - 信号量与队列 学习任务间同步和通信机制。掌握 Binary Semaphore(事件通知)、Counting Semaphore(资源计数)、Mutex(互斥访问)的使用场景和 API。学习 Queue(消息队列)实现任务间数据传递,理解 Producer-Consumer 模式。 - **核心概念/公式**: xSemaphoreGive/Take、xQueueSend/Receive、Mutex 的 Priority Inheritance 机制、Queue 的 FIFO 特性 ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐⭐ | 预计投入 12h(Lecture 2h + Practical 3h + 自学 7h)🔥 高压周 🎯 **考试关联**: Semaphore/Mutex/Queue 的选择和使用是高频考点。需要能判断给定场景该用哪种同步机制。 🧪 **Tutorial/Lab**: 实现传感器数据通过 Queue 传递给显示任务,使用 Mutex 保护共享资源(如 UART 输出)。 📌 **作业关联**: 项目中必须使用 RTOS 同步机制组织多任务协作。 ⚠️ **易错点**: Mutex 和 Binary Semaphore 混用(Mutex 有 Priority Inheritance, Semaphore 没有);Queue 满时发送阻塞导致死锁;在 ISR 中使用非 FromISR 版本的 API 导致系统崩溃。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime
  9. 9

    Digital Communication & Data Encoding

    ### 📖 核心知识点:数字通信与数据编码 学习数字通信的基础理论:调制解调 (Modulation/Demodulation)、编码方案 (Manchester, NRZ, 4B/5B)、错误检测与纠正 (Parity, CRC, Hamming Code)。理解通信信道的带宽、信噪比和数据速率之间的关系。 - **核心概念/公式**: Shannon's Theorem C = B × log2(1+SNR)、CRC 多项式除法、Hamming Distance 与纠错能力的关系 ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 9h(Lecture 2h + Practical 3h + 自学 4h) 🎯 **考试关联**: CRC 计算和编码方案对比是常见考题。 🧪 **Tutorial/Lab**: 实现 CRC 校验的嵌入式代码,在 UART 通信中加入错误检测功能。 📌 **作业关联**: 通信协议的可靠性设计影响项目评分。 ⚠️ **易错点**: CRC 的生成多项式位数和初始值配置错误;Manchester 编码的时钟恢复逻辑不正确;混淆 Error Detection 和 Error Correction 的能力范围。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime
  10. 10

    FreeRTOS Advanced: CLI & Networking

    ### 📖 核心知识点:FreeRTOS高级 - 命令行与网络 学习 FreeRTOS+CLI 的实现方法,构建嵌入式命令行交互界面。了解 lwIP (Lightweight IP) 协议栈在 FreeRTOS 上的集成,学习 TCP/IP Socket 编程。实现嵌入式设备的网络通信能力。 - **核心概念/公式**: FreeRTOS+CLI 命令注册机制、TCP 三次握手在嵌入式环境的实现、Socket API (bind, listen, accept, connect) ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 11h(Lecture 2h + Practical 3h + 自学 6h) 🎯 **考试关联**: FreeRTOS 高级功能和网络编程可能在 Final Exam 中出现概念题。 🧪 **Tutorial/Lab**: 在 STM32 上运行 FreeRTOS+CLI,实现通过网络远程控制嵌入式设备。 📌 **作业关联**: 网络功能是高级项目的加分项。 ⚠️ **易错点**: lwIP 的内存配置不当导致网络栈崩溃;CLI 命令解析的缓冲区溢出;网络任务优先级太低导致超时。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime
  11. 11

    Sensor Integration & System Design

    ### 📖 核心知识点:传感器集成与系统设计 学习多传感器系统的集成设计方法。掌握传感器数据融合 (Sensor Fusion) 的基本概念,学习卡尔曼滤波 (Kalman Filter) 的简化应用。学习嵌入式系统的功耗管理 (Low-Power Mode) 和看门狗定时器 (Watchdog Timer)。 - **核心概念/公式**: 移动平均滤波、低通滤波器的截止频率设计、Watchdog Timer 的喂狗周期计算、Sleep Mode 的唤醒源配置 ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 10h(Lecture 2h + Practical 3h + 自学 5h) 🎯 **考试关联**: 系统设计方法论和功耗管理策略可能出现在综合分析题中。 🧪 **Tutorial/Lab**: 集成多个传感器模块,实现数据滤波和异常检测功能。 📌 **作业关联**: Project 的系统集成阶段,需要综合运用本学期所学技能。 ⚠️ **易错点**: 多传感器同时使用时 I2C/SPI 总线冲突;Watchdog 超时时间设置不当导致系统意外重启;低功耗模式下某些外设被关闭但代码仍在访问。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime
  12. 12

    Project Integration & CNC Machine Control

    ### 📖 核心知识点:项目集成与CNC机器控制 课程最终项目集成阶段。学习如何将所有模块(GPIO、Timer、通信、RTOS、传感器)整合成一个完整的嵌入式系统。课程以 X-Carve CNC 机器为最终应用场景,学习 G-Code 解析和步进电机控制。 - **核心概念/公式**: G-Code 基本指令 (G0/G1 直线运动, M3/M5 主轴控制)、步进电机 (Stepper Motor) 的脉冲控制、系统架构的模块化设计 ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 12h(Lecture 2h + Practical 3h + 自学 7h)📝 项目冲刺周 🎯 **考试关联**: Final Exam 会考查整体系统设计能力和本学期各模块知识的综合运用。 🧪 **Tutorial/Lab**: 完成最终项目 Demo,向 Tutor 展示系统功能并回答技术问题。 📌 **作业关联**: 最终 Project 截止提交和 Demo。需要提交完整的源代码、文档和演示视频。 ⚠️ **易错点**: 项目集成时各模块的初始化顺序很重要;Demo 前不充分测试导致现场故障;文档缺少架构图和模块接口说明会被扣分。

    Lecturescovertopicsinembeddedsystemdesigninterfacingrealtime

Assessment

考核结构

Lab / Quiz

实验或阶段测验。

20%

Assignment 1

中期作业,考察分析与实现能力。

30%

Assignment 2 / Project

综合项目作业,强调方案落地。

30%

Final Presentation

期末综合评估。

20%

Assignments

作业详情

Assignment 1: Core Analysis

CSSE3010 Embedded Systems Design and Interfacing 的核心分析与验证任务。

重点: 从问题拆解到方案验证的完整流程。

要求:提交分析报告、实验结果与关键图表/代码。

⏱ 预计 20 小时

Assignment 2: Integrated Project

完成端到端项目或专题研究任务。

重点: 技术路线选择、风险控制与结果表达。

要求:包含项目成果、展示材料与复盘。

⏱ 预计 28 小时

From Seniors

学长留下的

基础信息谁都查得到,真正值钱的是过来人的经验。

学姐说

比你早一年的学长留下的真实经验 —— ChatGPT 给不了。

这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。

往年考点 / 踩坑

这门课暂无往年考点记录。

毕业生去向(整体)

下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。

统计自 317 份脱敏校友证言

Deloitte

6 位校友

岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer

Zerologix

4 位校友

岗位:Frontend Dev · junior frontend developer · Front-end Developer · Full Stack Developer

Servian

4 位校友

岗位:Full-stack Developer · Data Engineer · Consultant

关于这块数据,我们说实话

雇主墙来自脱敏毕业生证言(testimonials)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。

我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。