首页 > 评测 > MCU中的奇美拉——Cypress PSoC6系列评测之一
MCU中的奇美拉——Cypress PSoC6系列评测之一
- [导读]
- 据称是业内最低功耗的M4内核MCU产品,同时具有双核结构和诸多可编程模拟与数字外设,结合强大的PSoC Creator,这次的PSoC6的体验可谓是非常酣畅。
因为多核心是个很广泛的话题,这里也只能少讨论一些其他平台,就PSoC 6这个多核心处理器,作者把自己学习理解过程中的一些疑问与答案列一下子,相信也是大多数嵌入式程序员关心的话题:
· 问:启动的时候,两个核心怎么情况?
· 答:M0+先启动,M4默认情况是休眠的,这也符合大多数应用,M4只是需要他才唤醒.
· 问:两者怎么下载程序?
· 答:两者共享Flash空间,所以下载程序时下载一个hex就可以了.
· 问:怎么调试?
· 答:两个内核的调试单元是通用的,在Creator中可以选择要调试哪个内核.从Cypress文档上看,某些第三方调试器可以支持多核心调试,但是Creator目前只支持每次调试一个内核.
· 问:两者怎么通信协调?
· 答:跟所有多核心环境一样,共享内存,Mutex, Semaphore, Mailbox都可以.从硬件上的支持来看,IPC较为完备.可以想象两个内核是电脑程序上的两个Process.
· 问:两者时钟怎么关系?
· 答:通过外设分别为两个内核产生时钟.
以上是本人学习此处理器的首先研究的几个问题,当然其他人也许有其他问题可以写在下面来一起探讨.嵌入式处理器多核心环境怎么编程,是个很新的话题,作者相信搞得很透彻的人不多,大家应该多互相学习.
Creator开发实验
说了那么多,这里以一个实践工程来表现一下子Creator开发的过程.为了便于演示,这个工程的内容为:
· M0+内核控制两个灯闪烁;
· M4内核控制另外三个灯闪烁;
虽然号称多核心,这个工程的特点是:两个核心各自干各自的.至于双核心如何同步通信的内容,只能说后面的实验再来详述.本实验只是为了演示Creator开发的一些基本步骤,写多了反而看起来不易理解.
开始运行Creator 4.2,注意是4.2 Beta版本.下载地址上面有.
先来建立工程:
图 新建空工程
这里建立空工程,各位有兴趣的可以试试在已有的例子上面修改.
选择各种选项:
图 选择生成其他工具的文件
因为这里不想跟任何第三方工具产生纠葛,全部Disable掉.
再选保存地址:
图 保存地址
开始创作:
图 创作电路图
这里就跟画电路图类似,还要把原理图的一部分贴在这里以便理解:
图 LED相关原理图
所以说这些IO口都设定为开漏输出即可驱动LED.
再拖几个电阻,LED,电源节点上来:
图 拖上无源器件与电源节点
再就是分配引脚了:
图 分配引脚
其余时钟,中断什么的全部留默认的即可:
图 其余留默认
生成代码,就是将编辑的原理图,配置等等转换为代码的过程:
图 生成代码
生成如果无误的话在左边项目结构中可以看到生成的代码,此处最关心生成的IO口宏:
图 生成的代码
再就是软件工夫了,分别在M0+与M4的主文件中作如下编辑:
#include "project.h"
int main(void)
{
__enable_irq(); /* Enable global interrupts. */
/* Enable CM4. CY_CORTEX_M4_APPL_ADDR must be updated if CM4 memory layout is changed. */
Cy_SysEnableCM4(CY_CORTEX_M4_APPL_ADDR);
volatile uint32_t testClk_Cm0 = SystemCoreClock;
for(;;)
{
/* Place your application code here. */
Cy_GPIO_Inv(LED1_0_PORT, LED1_0_NUM); /* toggle the pin */
Cy_GPIO_Inv(LED2_0_PORT, LED2_0_NUM); /* toggle the pin */
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前