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.rhkb.cn/news/455918.html

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

相关文章

Java 开发——(下篇)从零开始搭建后端基础项目 Spring Boot 3 + MybatisPlus

上篇速递 - Spring Boot 3 MybatisPlus 五、静态资源访问 1. 基础配置 在 Spring Boot 中访问静态资源非常方便。Spring Boot 默认支持从以下位置加载静态资源: /META-INF/resources//resources//static//public/ 这些目录下的文件可以直接通过 URL 访问。 例…

【python实操】python小程序之参数化以及Assert(断言)

引言 python小程序之参数化以及Assert(断言) 文章目录 引言一、参数化2.1 题目2.2 代码2.3 代码解释 二、Assert(断言)2.1 概念2.1.1 Assert语句的基本语法:2.1.2 基本断言2.1.3 断言函数参数2.1.4 断言前后状态一致 2…

【计网】从零开始认识IP协议 --- 理解网段划分,NAT策略,私有IP和公网IP,认识公网

任何收获都不是偶然, 一点一滴的进步终会让未来的你焕然一新! 从零开始认识IP协议 1 为什么要进行网段划分2 特殊IP地址与数量限制3 私有IP和公网IP4 彻底理解网段划分5 认识公网 1 为什么要进行网段划分 我们以一个例子来讲解为什么要进行网段划分&a…

Java【多线程】单例模式

目录 单例模式 饿汉模式 懒汉模式 懒汉模式-多线程版 单例模式 单例模式是一种设计模式 设计模式相当于棋谱 棋谱,大佬把一些对局整个推演过程,写出来 设计模式,是属于程序员的棋谱 单例模式(单个实例/对象)&…

sqli-labs靶场安装以及刷题记录-docker

sqli-labs靶场安装以及刷题记录-docker sqli-labs靶场安装-dockersqli-labs靶场刷题less-1 单引号less-2 数字型less-3 单引号括号less-4 双引号括号less-5 单引号布尔盲注less-6 双引号布尔盲注less-7 单引号加括号、输出到文件less-8 单引号布尔盲注less-9 单引号时间盲注les…

背景动态变化的html页面

首先看下效果图&#xff1a; 把下面的代码保存到 .html 结尾的文件里&#xff0c;用浏览器打开即可。 <!DOCTYPE html> <html> <head><title>动态背景</title><style>/* 样式表 */body {height: 100vh;display: flex;align-items: cente…

基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…

NLP--一起学习Word Vector【实践】

纸上得来终觉浅&#xff0c;绝知此事要躬行。 《冬夜读书示子聿》 值此1024的程序员节&#xff0c;我们一起学习 Word Vector。 本章一起学习文本向量化&#xff0c;掌握文本向量的相关概念&#xff0c;了解各个文本向量&#xff0c;实现文本向量的算法 我开启了一个NLP共学坊…

echarts散点图

一、类似散点图折线图不展示折线 option {grid: {left: 10,right: 20,top: 35,bottom: 15,containLabel: true},tooltip: {show: true,trigger: item,backgroundColor: "rgba(0,0,0,0)", // 提示框浮层的背景颜色。formatter: function (params) {var html <d…

洞见数据未来,StarRocks Summit Asia 2024 即将启幕!

在 AI 时代&#xff0c;我们需要怎样的数据基础软件&#xff1f; 数据量和数据类型的需求飞速上涨&#xff0c;我们不仅需要将历史上各种基础设施中的数据进行分析使用&#xff0c;还要关注性能、灵活性、性价比&#xff0c;以及确保单一可信数据源。这一切构成了当前大数据领…

【实战案例】Django框架表单处理及数据库交互

本文基于之前内容列表如下&#xff1a; 【图文指引】5分钟搭建Django轻量级框架服务 【实战案例】Django框架基础之上编写第一个Django应用之基本请求和响应 【实战案例】Django框架连接并操作数据库MySQL相关API 【实战案例】Django框架使用模板渲染视图页面及异常处理 更新编…

【python实战】利用代理ip爬取Alibaba海外版数据

引言 在跨境电商的业务场景中&#xff0c;数据采集是分析市场、了解竞争对手以及优化经营策略的重要环节。然而&#xff0c;随着越来越多企业依赖数据驱动决策&#xff0c;许多跨境电商平台为了保护自身数据&#xff0c;采取了更严格的防护措施。这些平台通过屏蔽大陆IP地址或部…

qt项目使用其他项目的ui之单继承之成员变量

第一步添加.ui文件 第二步&#xff0c;点击编译(原理&#xff1a;qt的uic会将.ui界面编译成c文件) 第三步&#xff1a;在编译后的目录下找到#include “ui_pagewidget.h” 第四步&#xff1a; #ifndef USA_H #define USA_H#include <QWidget>#include "ui_pagew…

sql高级

数据库的范式 为了建立冗余较小、结构合理的数据库&#xff0c;设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。 范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库&#xff0c;必须满足一定的范式。实际上&#xff0c;数据库范式…

Nest.js 实战 (十五):前后端分离项目部署的最佳实践

☘️ 前言 本项目是一个采用现代前端框架 Vue3 与后端 Node.js 框架 Nest.js 实现的前后端分离架构的应用。Vue3 提供了高性能的前端组件化解决方案&#xff0c;而 Nest.js 则利用 TypeScript 带来的类型安全和模块化优势构建了一个健壮的服务端应用。通过这种技术栈组合&…

微信小程序绘制轨迹

1、map | uni-app官网 根据官网描述&#xff1a;通过从数据库获取POI数据&#xff0c;并通过 uni-id-common 内的路线规划API&#xff0c;计算路线、距离、时间。 2、 <map style"width:100%;height:96%;" id"myMap" :scale"scale" :longi…

javaWeb项目-ssm+jsp大学生校园兼职系统功能介绍

本项目源码&#xff08;点击下方链接下载&#xff09;&#xff1a;java-ssmjsp大学生校园兼职系统实现源码(项目源码-说明文档)资源-CSDN文库 项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#x…

C++【string类的使用】(上)

文章目录 1. 为什么要学习string类2. 标准库的string类2.1 string的构造函数&#xff08;1&#xff09;无参构造&#xff08;重点&#xff09;&#xff08;2&#xff09;用字符串初始化&#xff08;重点&#xff09;&#xff08;3&#xff09;用字符串的前n个字符初始化(4)拷贝…

前端处理返回的number类型超出16位的问题 ,在axios中统一处理

前端处理返回的number类型超出16位的问题 &#xff0c;在axios中统一处理 造成原因&#xff1a;js的number类型有个最大安全值&#xff0c;即2的53次方&#xff08;9007199254740992&#xff09;&#xff0c;超过这个值就会出现精度丢失的问题。 后端处理&#xff1a;将数字类…

MATLAB Simulink (二)高速跳频通信系统

MATLAB & Simulink &#xff08;二&#xff09;高速跳频通信系统 写在前面1 系统原理1.1 扩频通信系统理论基础1.1.1 基本原理1.1.2 扩频通信系统处理增益和干扰容限1.1.3 各种干扰模式下抗干扰性能 1.2 高速跳频通信系统理论基础1.2.1 基本原理1.2.2 物理模型 2 方案设计2…