PLC
直播中

张桂英

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

如何去开发一种嵌入式程序?有哪几种方法?

嵌入式处理器分为哪几种?

加入HAL的嵌入式软件有什么目的和意义?
如何去开发一种嵌入式程序?有哪几种方法?

回帖(1)

杜茂仁

2021-7-2 09:43:11
  一、嵌入式硬件简介
  嵌入式处理器分为
  微处理器MPU:通用CPU演变,包含MMU,如MIPS
  微控制器MCU:将CPU,存储器,中断系统,外设集成在单芯片上
  数字信号处理器DSP:侧重于信号处理
  片上系统SoC:主要为客户定制,可编程逻辑器件,如PLC
  
  二、嵌入式软件简介
  1.传统框架
  应用程序:完成具体业务逻辑
  操作系统:管理系统所有资源,提供接口函数
  驱动程序:通过寄存器或库函数控制硬件模块,片内外设和外围威廉希尔官方网站
  嵌入式硬件平台
  2.加入HAL后框架
  应用程序:完成具体业务逻辑
  操作系统:管理系统所有资源,提供接口函数
  硬件抽象层(HAL)
  驱动程序:通过寄存器或库函数控制硬件模块,片内外设和外围威廉希尔官方网站
  嵌入式硬件平台
  目的和意义
  引入抽象层后,屏蔽了底层硬件的变化,应用程序和操作系统不再面对具体硬件环境,而是面对HAL代表的逻辑硬件环境。减少了软件移植工作量和难度,提高软件通用性和复用性。
  HAL接口函数在移植时,针对下层硬件进行修改实现,那么应用程序和操作系统的代码就可以无缝移植。
  实现方式
  板级支持包BSP:可通过自写BSP来对采用的外设进行封装调用
  片内外设HAL:ST公司提供的库包
  三、嵌入式编程模式
  采用前后台编程模式
  后台程序是一个无限大循环,内部有任务队列
  前台程序是中断程序,通过定时中断或外部触发中断来进行任务响应;
  任务:一个具有独立功能的无线循环的程序段的一次运行活动。
  用户可以可以自行编写定时中断程序,定义中断标志变量,并判断和清除标志变量
  嵌入式系统
  系统最小内核可以完成任务管理,任务通信,时间管理,内存管理。
  用户编程完成任务划分,调用操作系统的接口函数完成应用程序编写。
  三、嵌入式程序开发方式
  1.寄存器开发
  优点:
  从细节上更加清晰
  程序代码简练,短小,执行效率高
  缺点:
  寄存器数量随外设数量增加,记忆难度增加
  程序后期维护,移植相对困难
  2.固件库开发
  优点:
  降低对硬件理解要求,容易上手
  程序代码容错性好,后期方便维护
  缺点:
  程序代码量较大,冗余较多,运行速度相对会有影响
  总结
  两种方式都要了解,起码能看懂别人写的寄存器代码,重点掌握库开发。学会库函数的功能和调用方法。
举报

更多回帖

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