找回密码
 请使用中文注册

手机号码,快捷登录

手机号码,快捷登录

查看: 555|回复: 0

国产首创RISC-V安全微控制器,CF3310开发板开发应用实例

[复制链接]
阅读字号:

1374

主题

50

回帖

2万

积分

超级版主

积分
27551
发表于 2023-7-6 08:16:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?请使用中文注册

×
CF3310 是基于RISC-V 32位高性能低功耗内核E20的安全微控制器,可用于信息安全、物联网智能家居、小家电等应用,其工作频率为 30MHz。采用 40nm 先进工艺,具有极高的集成度及成本竞争力。CF3310 可以工作在 1.62~5.5V,具有多种功耗模式,电流最小低至 nA 级别;硬件固化多种国际密码算法及国密算法,并可以抵御多种侧信道攻击,支持防御物理破解。支持多种通信接口如 SPI、I2C、UART、ISO7816、SWI等,所有管脚均可作为GPIO。


2d86a3ac3370688bc8f119b9a1167edf.jpg

快速上手及手把手指导点灯

CF3310开发板这块小版做工不错,板子上的用于扩展的接口有好几个,不过没有都焊上针,好在已经焊针的,足够一般的测试使用了。开发板上,有一些预留的芯片位置。

官方提供的资料包,非常丰富,包含了开发板、芯片、开发工具、例程等的详细材料。

详细阅读 CF3310客户开发包/1 快速入门/CCore RISC-V IDE快速入门.pdf ,按照说明步骤安装好开发工具 C*Core IDE Suite RISC-V,以及使用 zadig安装好JTAG驱动,就能开始开发了。


f9462b7a94afaa313789be1e4ce1bb9c.png
>>>点此查看全文


仿真调试体验

作为MCU开发,仿真调试是必不可少的过程。具备方便高效的仿真调试工具的MCU平台,更有利于产品的开发,也更容易被客户接收。所以本文章对CF3310的仿真进行测试。

CF3310官方提供的是基于eclipse的ide,基于gcc+gdb工具链,硬件的仿真器基于FT232的cJtag。搭建好开发环境后,我们可以进行仿真。

总之仿真环境还是基本是基本能用,离好用,高效,健壮还有较大差距,希望国产risc-v芯片开花的前提下,能提高下相应的生态和开发环境。


428ee52f556bcdd5e0a01fbf870a85ed.png
>>>点此查看全文


32 位可编程中断计时器模块PIT32
基础使用

在微五科技CF3310开发板上,提供了两个32 位可编程中断计时器模块:


3a256d7076f9d6de31a538dd36e40af5.png
其具体的处理逻辑如下:


8bc37262aa78e28d564480a6a763e12a.png
通过对官方提供的pit32_demo的学习,了解到该定时器的基础使用方式。

要使用开发板上的定时器,有两个概念,我们需要先了解:
  • 分频:为了得到准确的计时时间,通常使用开发板运行频率,取其2的整数次方 之一,得到一个合适的频率值,然后根据该频率值进行计数;否则,频率值过大,导致计数值增长太快,计数器溢出。
  • 计数:在上述分频的基础上,进行计数,累积到预先设定的数值,就触发定时器进行具体的操作。



2034b94fdb4a3a6bb599f8b3934b1f6d.png
>>>点此查看全文


CF3310开发板的串口使用

CF3310开发板提供了UART功能,详细信息可以查看官方文档:


36c9db494df8697b6c8130ff747347c6.png
系统处理的实际逻辑为:


d38c9dbb71e1dd696ec90fa524056979.png
在官方提供的演示代码,关闭其他demo定义,开启#define UART_DEMO_EN,就能启用UART测试,其具体对应的代码为:src/demo/uart_demo.c

在CF3310开发板上,有两种方式,可以连接到开发板的UART接口,与其他设备通信。

方式1:Type-C串口调试
将开发板用Type-C线连接到电脑,并在电脑上安装好对应的驱动,就能看到对应的串口设备。

方式2:直连芯片的GINT1和GINT0引脚
使用USB2TTL,GITN1-TX连USB2TTL的RX引脚,GINT0-RX连USB2TTL的TX引脚,然后将USB2TTL的GND与开发板的GND相连即可。


a3820b7db9c93a903a80a957f2f28be4.png


利用硬件加密功能,搞定串口加密
通讯

CF3310开发板是国产首创RISC-V安全微控制器,从官方资料可以了解到其所支持的安全功能:


1155e66d3644e92aedf5c1522788eac9.png
其在硬件上,对加密功能进行了针对性的加强:


831fcb6f551a5b8eb9599b773adc3489.png
并在硬件级别提供了多种加密算法:


802f9eb07372683cdb34980fe5a19efa.png
在经过学习官方资料包中提供的demo,以及经过官方技术人员手把手的指导,结合自己所了解的Python加密知识,实现了串口加密通信。

这篇分享中,演示的是从开发板发送经过加密处理的数据;

然后在上位机上,接收并解密对应的数据。

在开始之前,请先阅读我的上一篇分享 【CF3310开发板的串口使用】 ,了解串口的使用。

可以直接使用跳线帽,按照如图所示短接对应的引脚,这样Type-C口连接到电脑后,就能直接使用串口工具连接其对应的串口进行调试了:


ade850c57d2d089ebd69fbfa02166143.png



安全算法小盘点

微五科技CF3310开发板有一个很大特点就是安全算法的无缝嵌入,这也是吸引我很大兴趣的一个地方,今天就一起来盘点,共同增益知识及使用方式。

目前官方DEMO里整合了6种算法:SM4,DES,AES,HASH,RSA,SM2,如果有不清楚请度娘一下


29f0a0b57fc212c3af1106c9e18395c4.png

您需要登录后才可以回帖 登录 | 请使用中文注册

本版积分规则

QQ|Archiver|手机版|家电维修论坛 ( 蜀ICP备19011473号-4 川公网安备51102502000164号 )

GMT+8, 2025-6-18 13:38 , Processed in 0.185752 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表