江苏苏嵌教育
江苏嵌入式软件架构实战培训学校

2023-05-04  74次

  • 课程原价:¥6000
  • 网报价格:电询
  • 开课时间:滚动开班
  • 结束时间:2024-04-20

如遇无效、虚假、诈骗课程,请立即举报为了您的资金安全,请见面交易,切勿提前支付任何费用举报

课程详情

                                                          课程详情

适用对象
不限

课程内容

嵌入式软件架构实战培训

课程大纲:

程序结构设计做到模块间松耦合(*天)

【嵌入式软件的挑战】

a)功能实现与具体硬件无关b)硬件无关与硬件相关代码分离c)应付硬件变化:硬件接口模块的可替换性可修改性d)应付协议变化:协议代码模块的可替换性可修改性

【讲案例】大中小嵌软架构实例观摩a)固件分层案例b)产品化分层案例c)平台化分层案例Ad)平台化分层案例Be)平台化分层案例C

【讲技术】大中小嵌软的代码分层a)洋葱皮b)UI-SI-DI-PDc)固件五横一纵d)产品六横一纵e)平台分层

运行时结构设计做到硬件间*联动(第1天)

【嵌入式软件的挑战】a)运行逻辑复杂,难设计?b)靠全局变量通信,紧耦合?

【讲案例】从固件到整机嵌软实例观摩a)设计案例1无OS。While(1)中顺序执行任务函数b)设计案例2无OS。While(1)中执行时间片任务c)设计案例3有OS。ISR与Task信号量通信,Task间队列通信

【讲技术】技术对比a)前后台结构(死循环+中断)骨架代码对比

b)时间片轮询(Time-slicePolling)骨架代码对比

c)多任务结构(OS-basedMulti-task)骨架代码对比

底层模块的漂亮设计做到可重用可扩展(*天)

【嵌入式软件架构师的岗位能力】

合格:封装硬件细节暴露访问接口

*:能做到支持新硬件只需局部扩展

牛人:在HAL层提供显示服务/通信服务/存储服务

【讲案例】嵌软HAL模块就该这么设计

a)从led驱动,到闪烁可配置/可循环的HALAPI源代码案例

b)从2.4G无线,到发包调用/收包回调的HALAPI源代码案例

c)从I2C读写,到EEPROM的延迟写HALAPI

【讲技术】嵌软HAL设计技巧

a)利用callback让模块:局部处理可扩展

b)利用配置数组让模块:整体逻辑可配置

c)利用Union结构让模块:支持多种数据类型

d)利用函数指针结构体让模块:接口一致的多个模块可替换

四种需求变更的应对让需求变更不再痛苦(第2天)

需求变更

A类:不同厂商的器件

B类:不同类型的器件

C类:不同网络或协议

D类:不同功能或算法

案例

A类应对drv.c局部改变,接口不变

实例分析

B类应对drv.c改变,hal不变

实例分析

C类应对设计支持协议的新增与适配

实例分析

D类应对自底向上,逐级优化设计

实例分析

【精讲全过程】有代码,有每一步修改

一个单片机软件:架构优化+代码重构全过程

a)全新的模块化

b)模块的水平分层

c)模块的跨层封装

d)状态机+可配置常用做法

模块接口的漂亮设计搞定Call/Callback/Msg接口(第2天)

【嵌入式软件架构师的岗位能力】

合格:Call接口设计

*:搞定Call/Callback/Msg接口

牛人:接口支持任务或处理的运行时注册/注销

【讲案例】漂亮接口设计实例观摩

a)经典Callback接口设计

b)基于注册的Callback接口设计

远程协议的漂亮设计搞定*复杂的交互(第2天)

【嵌入式软件架构师的岗位挑战】

协议设计,对许多架构师是挑战

a)影响大:影响到多个程序/多个团队

b)设计难:不容易设计满意

【讲技术】协议设计思路

Howto:接口过程设计

Howto:接口技术选择

Howto:接口格式定义

【讲案例】牛案例示范协议设计难点

案例一:交互复杂型协议设计范例精髓精讲

案例二:通用规范型协议设计范例精髓精讲


相关课程
在线预约报名
  • 报名课程 :
    江苏嵌入式软件架构实战培训学校
  • 报名学校 :
    优质学校会主动联系您
  • 学生姓名 :
    电话号码 :
    联系地址 :
    情况说明 :
    验  证  码 :