**MSP 单片机支援包(MCU Support Package)**是单片机底层的代码,同款芯片可以共享。BSP可使用MSP的代码。
我们要初始化和MCU无关的东西:例如串口协议,波特率,奇偶校验,停止位…,这些设置和使用什么样的MCU没有任何关系。所以就把串口抽像成为一个“串口”。
有了抽像的串口,这个“串口”就要在MCU上进行承载,例如用STM32进行承载,PA9为发送,PA10为接收,MSP就是要初始化PA9和PA10,配置这两个引脚。所以HAL驱动
方式的初始化流程就是:HAL_USART_Init() --> HAL_USART_MSP_Init() 先初始化协议,再初始化MCU的引脚。在STM32的HAL驱动中MSP_Init()是做为回调,包含在PPP_Init()中的。

**CSP 芯片支援包(Chip Support Package)**是芯片底层的代码,同款芯片可以共享。BSP可使用CSP的代码。像24C02,有IIC硬件接口相关是MSP代码;IIC协议代码;还有24C02本身按照IIC一些的操作芯片代码

**BSP 板级支持包(Board Support Package)**是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为
上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。在嵌入式系统软件的组成中,就有BSP。BSP是相对于操作系统而言的,不同
的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一
定要按照该系统BSP的定义形式来写(BSP的编程过程大多数是在某一个成型的BSP模板上进行修改)。这样才能与上层OS保持正确的接口,良好的支持上层OS。

MSP、CSP、BSP区别相关推荐

  1. C:\Windows\Installer越来越大?让我们一起来删除msp这个毒瘤

    [技术] C:\Windows\Installer越来越大?让我们一起来删除msp这个毒瘤 本帖最后由 zifeityzyicq 于 2013-11-20 12:05 编辑 你有没有发现C:\Wind ...

  2. Bespin Global:云MSP圈儿里的“有为青年”

    谈今天的主题之前,小编先上一张还算有趣的原创图片! 我想如果Bespin Global也有朋友圈的话,很有可能是这个样子滴! 作为亚洲地区唯一入选Gartner首版公有云MSP魔力象限的企业,Besp ...

  3. access2013数据库实验笔记_医学科研实验基础知识笔记(十):甲基化

    往期回顾 医学科研实验基础知识笔记(一):细胞增殖 医学科研实验基础知识笔记(二):细胞凋亡检测 医学科研实验基础知识笔记(三):细胞周期检测 医学科研实验基础知识笔记(四):细胞自噬研究策略 医学科 ...

  4. Windebug专题

    4WinDbg-常用命令(!locks ) !locks不可用 一个很有用的调试线程死锁的命令!locks在windbg 最新的版本6.11.1.40X(X为任意数字)不可用了,运行!locks会提示 ...

  5. Build OS Menu of Platform Builder 5.0

    Sysgen/Build and sysgen/Build and sysgen current BSP区别: Sysgen: 更新Catalog后,生成NK.bin之前.不会更新之前Build完成的 ...

  6. 蔡超:入门 Go 语言必须跨越的五个思维误区

    你好,我是蔡超,现在是Mobvista 技术副总裁,前亚马逊(中国)首席软件架构师,极客时间<Go语言从入门到实战>视频课程的作者. 在2018年的QCon北京全球软件开发大会上,我做了题 ...

  7. 物联网实时内核 vnRTOS 免费开源

    本内核开源免费,欢迎大家下载使用学习,目前内核基础工作模块工作正常,有bug可以反馈给我. 内核源码下载链接:https://gitee.com/qidiyun/QDos 此例程是基于 STM32F4 ...

  8. MSP与PGMP的关联性与区别

    1.关联性很多: 都强调战略一致性 利益相关方争取的方法也相通 都重视治理 都聚焦收益实现 都有生命周期管理 所以MSP中有许多可被PGMP所借鉴的地方   2.区别之处: MSP在治理组织的建立上更 ...

  9. Actor模型和CSP模型的区别

    Akka/Erlang的actor模型与Go语言的协程Goroutine与通道Channel代表的CSP(Communicating Sequential Processes)模型有什么区别呢? 首先 ...

  10. 谈谈 Primavera P6与Office Project(MSP)与区别

    P6和MSP同为项目管理产品,一个功能强大专业性强,一个用户面广操作简易,那么两者将具体有什么差异,我做了个对比总结分析下  MSP        P6 一.单用户/单项目的微软 OFFICE PRO ...

最新文章

  1. [置顶] Hibernate从入门到精通(十一)多对多双向关联映射
  2. linux内存实验,LINUX编程-实验五 内存管理实验
  3. SAP 大中华区第一季度业绩再创历史新高
  4. QML基础类型之quaternion
  5. 6、用户登录并发、新建以及编辑操作;
  6. mysql事务的重复性读_Mysql下InnoDB的可重复读级别的事务测试
  7. 瞧瞧UC浏览器对CSS样式的“关怀”
  8. 【JEECG技术博文】online自定义模板的使用
  9. java游戏猿人时代_猿人时代增值版_JAVA游戏免费版下载_7723手机游戏[www.7723.cn]
  10. 免签约即时到账支付接口 个人二维码收款系统源码【多种模式】
  11. Qt QComboBox详解
  12. 苹果无线耳机连接不上_为什么我们一定要买TWS真无线耳机?
  13. python日期间隔天数_Python编程题5--计算两个日期之间相隔的天数
  14. linux 文本方式怎么安装,Linux文本方式安装系统
  15. USB over Network通过本地网络或 Internet 共享的远程 USB 设备
  16. python画多边形(八边形)
  17. springboot多数据源如何配置驼峰映射或配置文件不起作用的问题
  18. springmvc之静态资源访问不到
  19. NEON 常用函数讲解
  20. log4net进阶手札(三):保存日志到oracle中

热门文章

  1. taobao.trades.sold.increment.get( 淘宝店铺订单交易数据接口,淘宝店铺订单解密接口,淘宝店铺订单解密提额接口)代码对接教程
  2. 【强大图片滤镜插件集】Nik Collection 2 by DxO for Mac 2019
  3. JAVAWEB NOTE 3
  4. Napatech网络加速卡
  5. 数据过多/DOM操作导致页面卡顿和请求突增导致页面崩溃
  6. iOS开发初学者入门需要学习哪些知识?
  7. 数据分析 线性回归分析 方差分析表
  8. 程序员的日常工作是怎样的?
  9. LATEX编译出现Undefined control sequence.
  10. Ubuntu 下五笔拼音混合输入法