Infineon PSoC 4 CapSense ModusToolbox IDE - 系统生态篇
本文档说明了 ModusToolbox 软体环境的 4 个层面,该环境为 CapSense 设备和生态系统提供支援。本文是 Infineon PSoC 4 CapSense ModusToolbox IDE-系统介绍的延伸篇 (Infineon PSoC 4 CapSense ModusToolbox IDE -系统介绍篇 - 大大通(简体站))。
什么是ModusToolbox软体?
本章节提供 ModusToolbox™ 生态系中使用的各种术语和定义的清单。 ModusToolbox™ 软体是一种现代化的可扩展开发环境,支援各种英飞凌微控制器装置。它提供了一套灵活的工具和多样化、高品质的以应用程式为中心的软体集合。其中包括配置工具、低阶驱动程式、库和作业系统支持,其中大多数与 Linux、macOS 和 Windows 托管环境相容。下图显示了 ModusToolbox™ 软体的可用内容的俯视图。这不是一个完整的清单, 它仅仅传达了您可以使用多种资源的使用方式.
ModusToolbox™ 软体不包含专有工具或自订建置环境。这意味着您可以选择编译器、IDE、RTOS 和生态系统,而不会影响可用性或对我们业界领先的 CAPSENSE™ 和各种其他功能的存取。 ModusToolbox™ 软体的另一个重要方面是每个产品都有版本。这确保了每个产品都可以持续更新,但它还允许您针对特定环境锁定特定版本的工具。有关更多详细信息,请参阅产品版本控制。
层面 1. 运行时软体 (GitHub)
ModusToolbox™ 工具还包括大量 GitHub 托管的储存库,其中包括程式码范例、BSP 以及中间件和应用程式支援。我们按季度“训练模型”计画发布运行时软体,存取新的或更新的料库, 不需要您手动更新 ModusToolbox™ 的安装。新专案从我们众多程式码范例范本之一开始,这些范本展示了从简单的外围设备演示到完整的应用程式解决方案的所有内容。每个英飞凌套件均由全面的BSP 实施支持,可简化电路板的软体接口,使应用程式能够立即重新定位到新硬件,并且可以轻松扩展以支持您的定制硬件,而无需常见的移植和集成麻烦。广泛的中间件集合包括不断增长的感测器界面、显示支援和以连接为中心的库。 ModusToolbox™ 安装程式也方便地捆绑了您利用英飞凌关键技术重点领域所需的所有必要执行时间元件的软体包。
层面 2. 程式码范例
所有目前的 ModusToolbox™ 范例都可以透过 GitHub 程式码范例页面找到。在那里您可以找到 PSOC™ 6 MCU、PSOC™ 4 装置等范例的连结。对于大多数程式码范例,您可以使用从范本建立应用程式来建立应用程式并直接与 ModusToolbox™ 工具一起使用。对于某些范例,您需要按照程式码范例储存资料库中的说明来实例化该范例。说明根据应用程式的性质和目标生态系统而有所不同。在 ModusToolbox™ 建置基础架构中,任何需要函式库的范例应用程式都会自动下载该程式库。您可以控制正在下载的资料库版本及其在磁盘机上的位置,以及它们是共享的还是本地的应用程式。您可以参阅库管理器使用者指南以了解更多详细资讯。
层面 3. 资料库 (middleware)
除了程式码范例之外,ModusToolbox™ 还有许多其他部分作为资料库提供。这些资料库对于充分利用各种设备的各种功能至关重要。当您建立 ModusToolbox™ 应用程式时,系统会下载您的应用程式所需的所有程式库。请参阅 ModusToolbox™ 建置系统章节以了解这一切是如何运作的。所有目前的 ModusToolbox™ 资料库都可以透过 GitHub ModusToolbox™ 软体页面找到。 ModusToolbox™ 应用程式可以使用基于活动 BSP 的不同程式库。一般来说,图书馆有几类。每个资料库都在自己的储存的资料库中提供,并附有完整的文件。
- 常见资料库类型:
大多数 BSP 都有以下某种形式的函式库:
- 抽象层-这通常是RTOS 抽象层。
- 基础库-这些是核心库,例如core-lib 和core-make。
- 主机板实用程式 – 这些是特定于主机板的实用程序,例如显示支援或 BTSpy。
- MCU 中间件-包括MCU 特定的函式库,例如freeRTOS 或Clib 支援。
- BSP特定的基础函式库:
BSP 特定的函式库包括 mtb-hal、mtb-pdl 和 Recipe-make。其中一些特定设备归类为以下类别:
- cat1/cat1a = PSOC™ 6 MCUs (mtb-hal-cat1, recipe-make-cat1a, etc.)
- cat2 = PSOC™ 4 devices and XMC™ Industrial MCUs (mtb-hal-cat2, mtb-pdl-cat2)
- 设备资料库 (device-db)
device-db 由一组装置组成,称为行销部件号 (MPN),分布在一组分层目录中。每个 MPN 包含一个描述装置基本特征的基本视图以及由使用 device-db 的应用程式定义的附加视图。最新版本的 device-db 包含在新应用程式中,并且被锁定的device-db 版本仅包含当时可用的MPN。如果您以后想要将 MPN 更新到设备资料库中不可用的较新设备,则必须使用库管理器进行更新。 device-db 取决于应用程式的 PDL。在某些情况下,当您需要更新 device-db 时,可能还需要更新 PDL。我们建议尽可能少更新设备资料库所需的 PDL 版本,因为 PDL 可能包含比您的应用程式所需的更多变更。有关详细信息,请参阅 device-db README.md 和 RELEASE.md 档案。
层面 4. 主板特定封装 (BSPs)
BSP 是 ModusToolbox™ 软体的核心功能。 BSP 指定了应用程式的几个关键项目,包括:
- 设备的硬体设定档(例如design.modus)
- 装置的启动程式码和连结器文件
- 支援套件所需的其他函式库
BSP 与我们的开发/评估套件保持一致;它们提供基本设备功能的档案。 BSP 通常有一个 design.modus 文件,用于配置时钟和其他主板特定功能。此档案由 ModusToolbox™ 配置器使用。 BSP 还包括板上装置所需的装置支援代码。您可以修改配置以适合您的应用程式。
每个 BSP 都有自己的文件。提供的资讯各不相同,但通常包括以下一项或多项:
- BSP 的 API 参考
- BSP 概述
- 指向相关套件页面的链接,其中包含套件特定文档
BSP 特定于主板跟设备。对于自订开发,您可以为您的装置建立或修改 BSP。
产品支援平台
- PSOC™ 4 MCU (See AN79953: Getting Started with PSOC™ 4 for the supported PSOC™ 4 devices.)
- PSOC™ 6 MCU • PSOC™ Control MCU
缩写及定义
- Board Support Package (BSP)
您可以自订的资料库,它添加了对建置和启动目标板及相关设备的支援。这包括原始程式码、标头、资源、连结器脚本、启动程式码,并且它们为 GPIO 等资源定义通用别名以帮助实现可移植性。所有 ModusToolbox™ 应用程式都需要至少一个 BSP。
- BSP 配置器
一种特定类型的配置器,用于配置特定于 BSP 的系统方面。由于 BSP 包含基础微控制器,因此设备配置器是使用 BSP 配置器。
- 程式码范例
这是应用程式的起点/模型。它通常是 Git 储存库,但也可以是另一个目录。
- 配置器
GUI 和/或 CLI 工具可简化运行时资产(芯片、板或中介软体)的配置。配置器有多种类型,它们通常会建立成为目标应用程式一部分的程式码或资料结构。
- 设备配置器
BSP 配置器,用于配置主目标设备上的硬体。它允许配置设备 GPIO、周边、时脉、DMA 等。
- 设备资料库 (device-db)
包含一组可供各种工具用于建立应用程式和 BSP 的设备
- 驱动器
启用特定硬体周边的低阶韧体
- 硬体抽象层 (HAL)
一组韧体驱动程序,提供与大多数英飞凌设备一致的低阶硬体界面。
- 资料库配置器
一种特定类型的配置器,用于配置特定于专案的系统的各个方面
- Manifests
这是一组描述可用的可下载内容的 XML 档案。这包括程式码范例、BSP 和中层资料库
- 中层资料库
一组相关的固件,作为原始码、标题、预编译程式码和资源的函式库分发,旨在供各种应用程式使用。
- ModusToolbox™ packs
一组额外的工具、清单和韧体资产,透过英飞凌开发人员中心作为一个群组安装,以扩展基本 ModusToolbox™ 工具包的功能。
- ModusToolbox 工具包
适用于 Windows、macOS 和 Linux 的软体包中安装的基本工具集、建置系统和 IDE 支援。
- mtb-shared 目录
提供用于给定工作区中的应用程式的预设和新增的库程式码。
- 周边驱动程式库(PDL)
一组低阶、设备特定的韧体驱动程序,提供对硬体周边的存取。
- 工作区
一组档案和目录,其中包含一个或多个应用程式以及共用程式库的公共“mtb_shared”目录。不同的 IDE 对这些有不同的定义
**资料来源 英飞凌原厂资料
相关文章:

Infineon PSoC 4 CapSense ModusToolbox IDE - 系统生态篇
本文档说明了 ModusToolbox 软体环境的 4 个层面,该环境为 CapSense 设备和生态系统提供支援。本文是 Infineon PSoC 4 CapSense ModusToolbox IDE-系统介绍的延伸篇 (Infineon PSoC 4 CapSense ModusToolbox IDE -系统介绍篇 - 大大通(简体站))。 什么是ModusToolb…...
[算法]布隆过滤器
布隆过滤器(Bloom Filter)是一种空间效率很高的概率型数据结构,它可以用来检测一个元素是否在一个集合中。它的特点是高效地插入和查询,但是有一定的误判率(False Positive)。误判率指的是错误地认为某个元…...

基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发
作者:陆冬澄、周静 在现代软件研发体系中,.NET 平台由于其强大的功能、灵活性和丰富的开发工具,成为了构建 Windows 应用程序的热门选择。无论是桌面应用、Web 应用还是服务应用,.NET 提供了一系列强大的框架和工具,帮…...

Backend - C# asp .net core
目录 一、各大框架理解 (一)ASP.NET Core (二)ASP.NET Core Web Application (三)ASP.NET Core MVC (四)ASP.NET Core Web API (五)ASP.NET Core 和 EF …...

【合作原创】使用Termux搭建可以使用的生产力环境(九)
前言 在上一篇【合作原创】使用Termux搭建可以使用的生产力环境(八)-CSDN博客中我们讲到了如何安装IDEA社区版,并在Termux中安装VNC服务器,在proot-distro的Debian中启动xfce桌面,并通过这个方式解决了IDEA社区版中无…...
使用Supervisor在Ubuntu中实现后台自启动服务
在Ubuntu系统中,Supervisor是一个非常实用的进程管理工具,它可以让你的应用程序在后台运行,并且在系统启动时自动启动这些应用程序。下面,我将详细介绍如何在Ubuntu中使用Supervisor来实现后台自启动服务,并以一个具体…...

AIDD-人工智能药物设计-人工智能驱动的罕见病药物发现
JCIM | 人工智能驱动的罕见病药物发现 **罕见病(Rare Diseases,RDs)**是全球公共卫生领域的重大挑战,其特点是疾病种类繁多、症状复杂且诊断困难。尽管过去几十年出台了如《孤儿药法案》等法规推动研发,但超过90%的罕…...

安卓硬件加速hwui
安卓硬件加速 本文基于安卓11。 从 Android 3.0 (API 级别 11) 开始,Android 2D 渲染管道支持硬件加速,这意味着在 View 的画布上执行的所有绘图操作都使用 GPU。由于启用硬件加速所需的资源增加,你的应用程序将消耗更多内存。 软件绘制&am…...

TDv2:一种用于离线数学表达式识别的新型树形结构解码器
TDv2:一种用于离线数学表达式识别的新型树形结构解码器 本文提出了一种针对手写数学表达式识别(HMER)任务的新型树形解码器(TDv2) ,旨在充分利用数学表达式的树结构标签进行更有效的建模和预测。相较于传统的LaTeX字符串解码器,该模型通过采用一个节点分类模块和一个分…...
Golang学习笔记_23——error补充
Golang学习笔记_20——error Golang学习笔记_21——Reader Golang学习笔记_22——Reader示例 文章目录 error补充1. 基本错误处理2. 自定义错误3. 错误类型判断3.1 类型断言3.2 类型选择 4. panic && recover 源码 error补充 1. 基本错误处理 在Go中,函数…...
邯郸地标美食导游平台的设计与实现
标题:邯郸地标美食导游平台的设计与实现 内容:1.摘要 摘要:本文介绍了邯郸地标美食导游平台的设计与实现。该平台旨在为游客提供邯郸地标美食的详细信息和导航服务,帮助游客更好地了解和品尝邯郸的特色美食。文章首先介绍了项目的背景和目的,…...
滑动窗口限流算法:基于Redis有序集合的实现与优化
滑动窗口限流算法是一种基于时间窗口的流量控制策略,它将时间划分为固定大小的窗口,并在每个窗口内记录请求次数。通过动态滑动窗口,算法能够灵活调整限流速率,以应对流量的波动。 算法核心步骤 统计窗口内的请求数量࿱…...
Angular 最新版本和 Vue 对比完整指南
1. Angular 最新版本 当前 Angular 最新稳定版本是 Angular 17(2024年初) 2. 主要区别对比表 特性 | Angular | Vue 框架类型 | 完整框架 | 渐进式框架 默认语言 | TypeScript | JavaScript/TypeScript 数据处理 | RxJS | Promise/async/await 架构特点 | 依赖注入,…...

DAY39|动态规划Part07|LeetCode:198.打家劫舍、213.打家劫舍II、337.打家劫舍III
目录 LeetCode:198.打家劫舍 基本思路 C代码 LeetCode:213.打家劫舍II 基本思路 C代码 LeetCode:337.打家劫舍III 基本思路 C代码 LeetCode:198.打家劫舍 力扣题目链接 文字讲解:LeetCode:198.打家劫舍 视频讲解:动态规划,偷不偷这个…...

MYSQL----------------sql 优化
优化 SQL 语句的一般步骤 1. 了解 SQL 的执行频率 SHOW STATUS LIKE Com_%;代码解释: SHOW STATUS LIKE Com_%;:此命令可以查看各种 SQL 语句的执行频率,例如 Com_select 表示 SELECT 语句的执行次数,Com_insert 表示 INSERT 语…...
深度学习中的正则化方法
最近看到了正则化的内容,发现自己对正则化的理解已经忘得差不多了,这里在整理一下,方便以后查阅。 深度学习中的正则化方法 1. L2 正则化(L2 Regularization)2. L1 正则化(L1 Regularization)3.…...

前端报告 2024:全新数据,深度解析未来趋势
温馨提示: 此报告为国际版全球报告,其中所涉及的技术应用、工具偏好、开发者习惯等情况反映的是全球前端开发领域的综合态势。由于国内外技术发展环境、行业生态以及企业需求等存在差异,可能有些内容并不完全契合国内的实际情况,请大家理性阅读,批判性地吸收其中的观点与信…...
计算机网络之---子网划分与IP地址
子网划分与IP地址的关系 在计算机网络中,子网划分(Subnetworking)是将一个网络划分为多个子网络的过程。通过子网划分,可以有效地管理和利用IP地址空间,提高网络的性能、安全性和管理效率。 子网划分的基本目的是通过…...

计算机网络 (31)运输层协议概念
一、概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。运输层的一个核心功能是提供从源端主机到目的端主机的可靠的、与实际使用的网络无关的信息传输。它向高层用…...

代码随想录算法训练营day28
代码随想录算法训练营 —day28 文章目录 代码随想录算法训练营前言一、122.买卖股票的最佳时机II二、55. 跳跃游戏三、跳跃游戏 II方法一方法二 1005. K 次取反后最大化的数组和总结 前言 今天是算法营的第28天,希望自己能够坚持下来! 今日任务&#x…...

Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...

逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...