PLC
直播中

张桂英

7年用户 1484经验值
私信 关注

嵌入式程序开发方式有哪几种?优缺点是什么?

嵌入式处理器有哪些类型?
嵌入式软件由哪几部分组成?
嵌入式程序开发方式有哪几种?优缺点是什么?

回帖(1)

郑雅颖

2021-8-30 15:02:18
目录





  一、嵌入式硬件简介

嵌入式处理器分为



  • 微处理器MPU:通用CPU演变,包含MMU,如MIPS
  • 微控制器MCU:将CPU,存储器,中断系统,外设集成在单芯片上
  • 数字信号处理器DSP:侧重于信号处理
  • 片上系统SoC:主要为客户定制,可编程逻辑器件,如PLC





二、嵌入式软件简介

1.传统框架




  • 应用程序:完成具体业务逻辑
  • 操作系统:管理系统所有资源,提供接口函数
  • 驱动程序:通过寄存器或库函数控制硬件模块,片内外设和外围威廉希尔官方网站
  • 嵌入式硬件平台

2.加入HAL后框架




  • 应用程序:完成具体业务逻辑
  • 操作系统:管理系统所有资源,提供接口函数
  • 硬件抽象层(HAL)
  • 驱动程序:通过寄存器或库函数控制硬件模块,片内外设和外围威廉希尔官方网站
  • 嵌入式硬件平台

目的和意义

引入抽象层后,屏蔽了底层硬件的变化,应用程序和操作系统不再面对具体硬件环境,而是面对HAL代表的逻辑硬件环境。减少了软件移植工作量和难度,提高软件通用性和复用性。
HAL接口函数在移植时,针对下层硬件进行修改实现,那么应用程序和操作系统的代码就可以无缝移植。
实现方式

板级支持包BSP:可通过自写BSP来对采用的外设进行封装调用
片内外设HAL:ST公司提供的库包
三、嵌入式编程模式

采用前后台编程模式
后台程序是一个无限大循环,内部有任务队列
前台程序是中断程序,通过定时中断或外部触发中断来进行任务响应;
任务:一个具有独立功能的无线循环的程序段的一次运行活动。
用户可以可以自行编写定时中断程序,定义中断标志变量,并判断和清除标志变量
嵌入式系统

系统最小内核可以完成任务管理,任务通信,时间管理,内存管理。
用户编程完成任务划分,调用操作系统的接口函数完成应用程序编写。
三、嵌入式程序开发方式

1.寄存器开发

优点:



  • 从细节上更加清晰
  • 程序代码简练,短小,执行效率高

缺点:



  • 寄存器数量随外设数量增加,记忆难度增加
  • 程序后期维护,移植相对困难

2.固件库开发

优点:



  • 降低对硬件理解要求,容易上手
  • 程序代码容错性好,后期方便维护

缺点:



  • 程序代码量较大,冗余较多,运行速度相对会有影响

总结

两种方式都要了解,起码能看懂别人写的寄存器代码,重点掌握库开发。学会库函数的功能和调用方法。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分