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

在这里插入图片描述

笔者来聊一下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即可下载文件。
在这里插入图片描述

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

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

相关文章

新手向-pkg-config的原理和使用

工作中遇到,发现自己不太了解,所以写篇博客学习&记录一下,不同意见欢迎评论区分享。 1. 简介 pkg-config是一个用于链接库的工具,可以简化编译的语句。 以编译需要opencv的代码为例: # 不使用pkg-config g -o op…

代码随想录算法训练营第三十九天|背包问题,416. 分割等和子集

背包问题,416. 分割等和子集 背包问题416. 分割等和子集 背包问题 有N件物品和一个最多能背重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 卡玛网的…

非接触式竖向位移、水平位移视频实时在线监测的设备分类及选型

前言 视觉是人工智能正在快速发展的一个分支,简单说来,机器视觉就是用机器代替人眼来做测量和判断。在结构健康自动化监测方面,机器视觉采用光学图像结合智能算法和物联网技术,利用先进的智能靶标识别及亚像素处理等技术&#xff…

力扣——用队列实现栈(C语言)

目录 题目: 原理: 结构体MyStack 出栈void myStackPop(MyStack* obj) 入栈void myStackPush(MyStack* obj, int x) 读取栈顶元素int myStackTop(MyStack* obj) 判断栈空bool myStackEmpty(MyStack* obj) 销毁栈void myStackFree(MyStack* obj) 整…

【模型学习】

https://zhuanlan.zhihu.com/p/522344841 from transformers import AutoTokenizer tokenizer AutoTokenizer.from_pretrained(model_checkpoint) tokenizer("男女主角亦有专属声优这一模式是由谁改编的?", "任天堂游戏谜之村雨城") { input_…

速卖通2024年海外双11及黑五大促节奏与玩法

速卖通在2024年的双11和黑五大促销活动中,推出了一系列新的节奏和玩法,以适应全球化的市场需求和提升消费者体验。以下是详细的活动安排和商家激励措施: 双11大促节奏 预热阶段:11月8日至11月10日,为期3天。 正式售卖…

OpenCV视觉分析之运动分析(4)背景减除类:BackgroundSubtractorKNN的一系列set函数的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 BackgroundSubtractorKNN类有一系列的set函数,下面我们一一列举他们的名字和用法。 一系列set函数 函数setDetectShadows() setDe…

WPF+MVVM案例实战(三)- 动态数字卡片效果实现

1、创建项目 打开 VS2022 ,新建项目 Wpf_Examples,创建各层级文件夹,安装 CommunityToolkit.Mvvm 和 Microsoft.Extensions.DependencyInjectio NuGet包,完成MVVM框架搭建。搭建完成后项目层次如下图所示: 这里如何实现 MVVM 框…

孤岛架构在安全性方面

孤岛架构在安全性方面的考虑主要涉及如何确保每个孤岛的安全性,同时维护整个系统的安全。 关键的安全性考虑: 1. 数据隔离和访问控制 数据隔离:每个孤岛应该有独立的数据存储,以确保数据隔离。这有助于防止数据泄露和未经授权的…

【AI学习】Mamba学习(十二):深入理解S4模型

#1024程序员节|征文# HiPPO的学习暂告一段落,按照“HiPPO->S4->Mamba 演化历程”,接着学习S4。 S4对应的论文:《Efficiently Modeling Long Sequences with Structured State Spaces》 文章链接:https://ar5iv…

.bib文件去重

安装:pip install bibtexparser(pyhton3.6可用)运行下述代码即可(实现.bib参考文献去重) import bibtexparser # pip install bibtexparser from bibtexparser.bwriter import BibTexWriter from bibtexparser.b…

在 Flask 中创建一个接收 Base64 格式图片的接口

要在 Flask 中创建一个接收 Base64 格式图片的接口,你需要以下步骤: 创建一个 Flask 应用。定义一个接收 POST 请求的路由。在请求中解析 Base64 编码的图片数据。将 Base64 数据解码为二进制数据,并保存到文件(可选)…

【论文笔记】X-Former: Unifying Contrastive and Reconstruction Learning for MLLMs

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: X-Former: Unifying Contr…

《在1688的数字海洋中,如何用API网罗一家店铺的所有商品?》

想象一下,你是一位船长,航行在1688这个电商的数字海洋上。你的任务是探索一家神秘的店铺岛屿,并且用你的API魔法网,网罗岛上所有的商品宝藏。不用担心,即使你不是海贼王,有了代码的力量,你也能成…

uniapp:sqlite最详细教程,小白可直接粘贴复制

新建uniapp项目,需要4个页面, loading 启动页:打开数据库,判断数据表是否存在,表内是否有数据,创建数据表的逻辑。 register 注册页:数据表已存在,但是没有数据,需要进入该页面注册第一条数据 index 首页:展示数据列表内的数据,可修改默认,添加新数据 edit 编辑:编…

pytorch安装GPU版本,指定设备

安装了GPU版本的pytorch的时候,想要使用CPU,怎么操作呢? 设置环境变量: set TF_FORCE_GPU_ALLOW_GROWTHfalse set CUDA_VISIBLE_DEVICES如果想要使用固定序号的GUP设备,则指定ID set CUDA_VISIBLE_DEVICES0 # 使用第…

vuetify学习笔记(v-app和v-responsive)

我最近在学习vuetify3,我以前是用element plus和taiwind css。vuetify的一个好处是,它不仅是一个向element plus一样提供好用的组件库,而且还提供了向taiwind css一样的原子类,可以通过类名方便的定义组建的样式。以前element plu…

ReactOS系统中搜索给定长度的空间地址区间中的二叉树

搜索给定长度的空间地址区间 //搜索给定长度的空间地址区间 MmFindGap MmFindGapTopDown PVOID NTAPI MmFindGap(PMADDRESS_SPACE AddressSpace,ULONG_PTR Length,ULONG_PTR Granularity,BOOLEAN TopDown );PMADDRESS_SPACE AddressSpace,//该进程用户空间 ULONG_PTR Length,…

数据结构:堆的应用

堆排序 假定有一组数据极多的数,让我们进行排序,那我们很容易想到一种经典的排序方法,冒泡排序,我们对冒泡排序的时间复杂度进行分析: 显然,冒泡排序的时间复杂度是O(n^2),当数据量…

Trimble三维激光扫描开启工业元宇宙的安全“智造”之路-沪敖3D

以下文章来源于天宝Trimble Field Systems ,作者小甜宝 工业制造是一个固有危险性的行业,人身伤害、物理损坏和长时间的维修都可能导致项目停滞。因此,确保安全不仅仅对工作人员重要,更是保证项目顺利进行关键。 在自动化程度提…