乐于分享
好东西不私藏

嵌入式系统设计与开发——软件开发

嵌入式系统设计与开发——软件开发

嵌入式软件开发流程:

  • 平台选择:

  1. 硬件平台选择:处理器性能、技术指标、功耗、软件支持工具、是否内置调试工具

  2. 软件平台选择:操作系统、编程语言、集成开发环境

  • 软件设计:

  1. 准备工作计划:过程管理方案、开发环境准备方案、软硬件联机调试方案、质量保证方案、配置控制方案

  2. 确定软件的结构:任务结构的设计、线程的设计、公共数据结构的设计、操作系统资源的定义、类的设计、模块结构设计、内存的分配与布局

  3. 设计评审:工作执行方法是否恰当,内容是否完善;确认完成系统需求规格说明书的功能和服务;评估任务结构设计、评估类的设计、评估模块结构设计:编写软件设计的结果总结文档。

  4. 维护工作计划

  5. 与硬件部门密切合作、相互协调

  6. 控制工作的结果,记录存档

  • 软件架构设计原则:抽象、信息隐蔽、强内聚、松耦合、关注点分离(将不同的接口设计成组件),将一个完整的问题分解成多个模块,需要定义边界条件、描述系统组织结构、对系统的定量属性进行约束、帮助对模型进行描述并基本构造早期的原型、更准确地描述费用和时间的评估。 

  • 软件设计方法:基于功能分解、面向对象设计、模型驱动开发,实时性设计(合理划分实时单元和分时单元、实时任务)、可扩展设计(高级语言和汇编语言混合编程、硬件设备驱动,包括寄存器、时钟、中断、异常、存储单元)、模块化设计(顺序、增量、并行)、可定制性设计(可裁剪、可配置)

设计约束

  1. 接口设计约束:参数定义与输入参数定义一致、调用参数与模块参数定义一致、不能对仅作为输入值的参数进行修改、模块参数传递不超过5个、模块间采用系统接口

  2. 中断设计约束:初始化屏蔽无用中断、中断资源初始化(中断向量号、触发方式、中断服务程序)、分析中断措施,占用大小、避免嵌套、优先级、简短处理

  3. 模块设计约束:单入单出、控制扇入和扇出数、高内聚低耦合、禁止递归

  4. 异常设计约束:异常接管、统一异常处理机制、分析异常处理

  5. 数据安全设计约束:数据范围、数据误差、运算精度、范围检查、近零浮点数处理、定期检查

  6. 余量设计约束:资源余量设计、时间余量设计

  7. 其他约束:实时性响应、并发系统、互斥机制、检查返回值、故障检测和隔离程序、全局数据保护、初始化时进行空间分配、变量使用前初始化、硬件初始化为确定状态、延时避免用循环方法、确保时钟精度

  • 编码:指定规范 -> 准备环境 -> 编写代码 -> 代码审查

  • 编码准则:短小精悍、封装、消除冗余、减少实时、优雅、借助检查工具

  • 编码技术:编程规范(命名、格式、注释)、性能优化(整数优先、避免乘除法)

  • 下载:简单文件传输协议TFTP(Trivial File Transfer Protocol)

移植

  • 无操作系统移植:算法和数据结构一定要重用,设备驱动层(IO模块)与尽量硬件无关,增加硬件抽象层

  • 有操作系统移植:4层结构(设备驱动、操作系统、中间件、应用软件),主要是引导加载程序BootLoader(汇编初始化程序的Stage1和C语言的Stage2)、设备驱动程序、操作系统处理器程序

  • 应用软件:采用分层和模块化设计、采用系统抽象的体系结构、采用可移植函数、采用宏定义数据类型、不可移植局域化、提高代码可重用

网络基础知识

IPV4

大型网络中,网络地址占1个字节,主机地址占3个字节,可以容纳的主机数为 2^24 。

中型网络中,网络地址占2个字节,主机地址占2个字节,可以容纳的主机数为2^16 。

小型网络中,网络地址占3个字节,主机地址占1个字节,可以容纳的主机数为2^8 。

  • IP地址掩码

  • 标准地址掩码

A类:255.0.0.0

B类:255.255.0.0

C类:255.255.255.0

  • 地址掩码表示方法

点分十进制

位计数

192.168.100.1/25:C类网络,这里25表示网络位为25位,借用主机位中的一位作为子网掩码,主机位变为7位。

主机位的数量计算:

2^n −2

其中n表示主机空间,-2表示减去全0和全1的两个不可用地址,全0为子网号,全1为广播地址。

IPV6

12AB::CD30:0:0:0:0/60: 其中::表示0压缩,这里压缩了两个0,全部展开可以表示为 12AB:0:0:CD30:0:0:0:0/60

IPV4与IPV6网络之间的通信技术

双协议栈、隧道技术、翻译技术

DNS和DHCP

dns域名解析

DNS查询过程

DHCP协议

  1. 客户机/服务器模型

  2. 租约默认为8天

  3. 当租约过半时,客户机需要向DHCP服务器申请续租

  4. 当租约超过87.5%时,如果仍然没有和当初提供IP的DHCP服务器联系上,则开始联系其他的DHCP服务器。

  5. 固定分配、动态分配和自动分配

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 嵌入式系统设计与开发——软件开发

评论 抢沙发

1 + 2 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮