ARM学习(33)英飞凌(infineon)PSOC 6 板子学习

news2025/4/17 8:22:32

在这里插入图片描述

笔者来聊一下psoc62 系列板子的知识

1、PSOC62板子介绍

Psoc6-evaluationkit-062S2 与RT-Thread联合推出的一款32位的双core的板子,基于CortexM4以及CortexM0。

  • 管脚兼容Arduio。
  • 板载DAP-Link,可以支持调试以及串口,无需外接
  • 2MB的Flash以及1MB的RAM空间。
  • 板子可外接mrcro SD卡,可操作出名滑条,可外扩WIFI以及蓝牙。
    在这里插入图片描述

2、PSOC62 CPU特点

双core MCU,CortexM4以及CortexM0

  • CortexM4 频率:150MHZ,CortexM0 :100MHZ
  • 8KB的指令Cache
  • CortexM4基于ARMv7-M架构,支持Thumb-2指令集,CortexM0基于ARMv6-M指令集,支持Thumb指令集
  • 均支持中断嵌套NVIC
  • 均支持debug port,SWD以及JTAG
  • 双core IPC(硬件)通信
  • 均有自己的数据总线和内存接口
    整体架构如下图所示:
    在这里插入图片描述
  • 支持深度睡眠,休眠唤醒模式
  • 支持MPU,内存保护
  • 支持对称加密加密,DES,AES,以及非对称加密,RSA/ECC
  • 2MB 的Flash以及1MB的RAM空间
  • 64KB的ROM空间。

因为其使用的均是ARM CortexM架构,所以其寄存器包括指令集均安装ARM架构的理解即可。寄存器的了解可以看这篇文章:ARM学习(2) 寄存器的理解 ===》通用寄存器及状态寄存器,指令集可以参考这篇文章:ARM学习(6) 指令集学习。

3、PSOC62 内存布局

其整体内存布局如下图所述:双core均有固定的内存布局,包括外设,大小为4G。
在这里插入图片描述
PSOC6的内存布局如下图所述:双core看的内存布局一致。
在这里插入图片描述
这里与一张图不一样的,SRAM放到了规划的code区域,因为PSOC6就没有使用0x20000000的区域。

通过看到以内内存布局之后,笔者还查看了芯片的链接脚本,通用可以来确定其内存使用分布。

; The following defines control RAM and flash memory allocation for the CM4 core.
; You can change the memory allocation by editing RAM and Flash defines.
; Note that 2 KB of RAM (at the end of the SRAM) are reserved for system use.
; Using this memory region for other purposes will lead to unexpected behavior.
; Your changes must be aligned with the corresponding defines for CM0+ core in 'xx_cm0plus.scat',
; where 'xx' is the device group; for example, 'cy8c6xx7_cm0plus.scat'.
; RAM
#define RAM_START               0x08002000
#define RAM_SIZE                0x000FD800
; Flash
#define FLASH_START             0x10000000
#define FLASH_SIZE              0x00200000

; The size of the stack section at the end of CM4 SRAM
#define STACK_SIZE              0x00001000

; By default, the COMPONENT_CM0P_SLEEP prebuilt image is used for the CM0p core.
; More about CM0+ prebuilt images, see here:
; https://github.com/Infineon/psoc6cm0p
; The size of the Cortex-M0+ application flash image
#define FLASH_CM0P_SIZE         0x2000

观察上图,

  • SRAM的布局从0x08002000开始,其实前面的0x2000是放CPU0的Image的,与NXP的启动方式类似,一个core启动之后,把另外一个core加载到对应的SRAM空间上面去运行。具体的可以参考这篇文章:ARM学习(28)NXP 双coreMCU IMX1160学习。
  • Flash的大小没什么好说的,就如上面所示,是2MB
  • 栈的大小这边设了4KB。

4、PSOC62 上手使用

psoc32支持多种平台下载使用,RT-Thread Stduio,MDK以及infineon自身的IDEModusToolbox。

4.1 RT-Thread Stduio下载使用

新建好项目以及选择好目标板子后,可以直接编译和下载。
编译界面
在这里插入图片描述
下载界面
在这里插入图片描述
在这里插入图片描述

4.2 MDK下载使用

直接采用RTT-Thread生成的MDK工程就可以编译和下载,主要注意的是,MDK5的工程生成时,可能有格式问题,需要用scons重新生成一下。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4.3 ModusToolbox下载使用

使用ModusToolbox Programmer,可以来下载代码,类似于JFlash一样。
连接界面:注意选择正确的device,这边是CY8C624ALQI-S2D42系列。
在这里插入图片描述
下载界面:选择好下载文件,然后电机Program即可下载文件。
在这里插入图片描述

4.4 板子例程使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2225734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaEE初阶---文件IO总结

文章目录 1.文件初识2.java针对于文件的操作2.1文件系统的操作---file类2.2文件内容的操作---流对象的分类2.4字符流的操作》文本文件2.4.1异常的说明2.4.2第一种文件内容的读取方式2.4.3第二种读取方式2.4.4close的方法的介绍2.4.5close的使用优化操作2.4.6内容的写入 2.3字节…

数据结构与算法汇总整理篇——数组与字符串双指针与滑动窗口的联系学习及框架思考

数组 数组精髓:循环不变量原则 数组是存放在连续内存空间上的相同类型数据的集合,通过索引(下标)访问元素,索引从0开始 随机访问快(O(1)时间复杂度);插入删除慢(需要移动元素);长度固定(部分语言中可动态调整) 其存…

【CSS】边界三角形

有三角形 Unicode 字符。您可以在 SVG 中绘制三角形。但还有另一种在 Web 上绘制三角形的方法,只需使用 border 属性和一些 CSS 技巧即可。 想象一个具有粗边框的元素: .triangle {width: 200px;height: 200px;border: 10px solid black; }现在想象一下…

公园客流统计系统根据游客数量安排清洁人员

公园作为人们休闲娱乐的公共场所,游客流量时常处于动态变化中。而公园客流统计系统的应用,为依据游客数量合理安排清洁人员提供了有效途径,主要体现在以下几个方面。 一、精准掌握游客分布,按需调配清洁力量 公园客流统计系统能够…

Es可视化界面 ElasticHd

前言 在开发的过程中,有一个可视化界面工具,以及一个可执行的es相关语句的工具十分重要,主要有以下这些 1. Kibana‌:○ Kibana是Elastic官方提供的数据可视化工具,功能强大,支持多种图表类型&#xff0c…

REST APIs与微服务:关键差异

在构建基于微服务的应用程序时RESYful API和微服务这两个术语经常相伴出现。然而,它们指的是截然不同的东西。 了解 RESTful API 和微服务之间差异的最简单方式是这样: 微服务:它们是构成更大规模基于微服务的应用程序的单个服务和功能&…

雷池社区版OPEN API使用教程

OPEN API使用教程 新版本接口支持API Token鉴权 接口文档官方没有提供,有需要可以自行爬取,爬了几个,其实也很方便 使用条件 需要使用默认的 admin 用户登录才可见此功能版本需要 > 6.6.0 使用方法 1.在系统管理创建API TOKEN 2.发…

参会记录|2024 中国计算机大会(CNCC 2024)

前言:2024年10月24-26日,有幸在横店参加了2024年度的中国计算机大会(CNCC),本篇博客总结本人在会议期间收听的主要报告内容及收获。 2024.10.24 上午 夏苑海岳开襟 如何实现人工智能在现实场景中的落地? …

解锁V2G:电动汽车如何化身电网“充电宝”,最重要的是将成为一种赚钱的方式!

解锁V2G:电动汽车如何化身电网“充电宝” 随着新能源汽车的普及,电动汽车不仅仅是交通工具,还能成为电网的重要补充。今天,我们来聊聊V2G(Vehicle-to-Grid)技术,看看它是如何实现车辆与电网之间…

Git相关介绍

基本概念 关注(watch) 关注项目,当项目更新可以接收到通知 事物卡片(Issue) 发现代码BUG,但是目前没有成型代码,需要讨论时用 Git工作区域 工作区 添加、编辑、修改文件等动作 暂存区 …

蓝海创意云入选中国夏衍电影学会工业与科技影视专业委员会成员单位

党的二十届三中全会指出,科技自立自强是中国式现代化的有力保障。科技兴则民族兴,科技强则国家强。为深入的贯彻落实这一重要部署,推动工业与科技领域的融合发展充分发挥电影艺术在传播科技创新精神、展现工业发展成就方面的独特作用&#xf…

【AI大模型】使用谷歌 Gemini API 构建自己的 ChatGPT(二)

上一篇文章 【AI大模型】使用谷歌 Gemini API 构建自己的 ChatGPT(一)🚀我们介绍了 Gemini 是什么,以及如何使用Gemini 构建一个多模态的聊天场景示例。这一篇我们使用 langchain 与 Gemini 集成构建应用: 将 Langcha…

C/C++:WinSock_TCP通信实例

一、socket函数 第一种使用socket函数来创建套接字,函数调用成功将返回套接字句柄。 socket函数接收三个参数。af 、type 、protocol af:指定套接字使用的地址格式。 type:指定套接字的类型。 protocol:配合type参数使用&#xf…

Appium中的api(二)

目录 元素定位操作api 1--通过id定位api 2--通过class获取定位元素 3--通过xpath表达式定位元素 4.完整代码 解释 效果 元素定位操作api 1--通过id定位api 注:driver.find_element是获取单个元素 # 通过id获取 mySearchId "com.android.settings:id/search_acti…

(2024.10.28)使用YOLOv8训练自己的目标检测模型

收集数据集: 1.使用开源已标记数据集 2.自己网上搜索下载。 3.可以将图片几何变换,类似翻转、裁剪、旋转和平移,就变成多张图片了 标注数据集 : 常用的标注工具有很多,比如LabelImg(易崩溃)…

nacos的原理,为什么可以作为注册中心,和zookeeper的区别

Nacos 是阿里巴巴开源的一款用于动态服务发现、配置管理和服务治理的中间件,广泛应用于微服务架构中。它可以作为注册中心的原因在于其强大的服务注册与发现功能,原理上与 Zookeeper 有相似之处,但在设计目标和功能上有所区别。 Nacos 的原理…

猫头虎分享: 108个最新国内AI工具集,AI写作AI绘画工具大全

猫头虎分享: 108个最新国内AI工具集,AI写作AI绘画工具大全 🎨🤖 👋 大家好呀,这里是 猫头虎,专注于分享技术干货、AI工具和实用资源。今天给大家带来一份超级干货清单——108个国内最流行的AI工…

PPT制作新选择:本地部署PPTist结合内网穿透实现实时协作和远程使用

文章目录 前言1. 本地安装PPTist2. PPTist 使用介绍3. 安装Cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 💡 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击跳转到网站】 前…

【Python】数据分析必备:Pandas库的全面教程与实战

数据分析必备:Pandas库的全面教程与实战 在数据分析领域,Python已成为一门主流语言,而Pandas库则是Python中最重要的数据分析工具之一。无论是数据清洗、数据处理,还是数据可视化,Pandas都能为数据科学家和分析师提供…

解决nexus无法启动问题

🎉 问题 首先,nexus对jdk版本有要求,这点相信大家都知道,如果版本不对的话,会报以下错误: No suitable Java Virtual Machine could be found on your system. The version of the JVM must be at least 1…