代码编织梦想

MM32F5330 微控制器搭载了安谋科技授权的 Arm®v8-M 架构“星辰” STAR-MC1 内核(兼容 Cortex-M33) 处理器,最高工作频率可达 180MHz。内置了 128KB Flash, 32KBSRAM, 所有 Flash 和 SRAM 配置 ECC, 并集成了丰富的 I/O 端口和外设模块,包括 2 个3MSPS 12 位的 ADC, 1 个 12 位的 DAC, 2 个模拟比较器, 2 个 16 位高级定时器, 2 个16 位和 2 个 32 位通用定时器, 2 个 16 位基础定时器和 1 个低功耗定时器,还包含通信接口如 2 个 I2C, 1 个 I3C 从机, 3 个 SPI 或 I2S, 4 个 UART, 1 个 USART, 1 个低功耗UART, 1 个集成了内部 PHY 的 USB 2.0 全速 Device/Host 控制器,以及 1 个 FlexCANFD 接口。
工作电压为 1.8V ~ 5.5V,工作温度范围为扩展工业型 -40℃ ~ +105℃。 内置多种省电工作模式保证低功耗应用的要求。

STAR-MC1内核的优点:

  • 高性能
    • STAR-MC1采用了从V6-M到V7-M,再到V8-M的架构升级,显著提高了单片机的处理能力。
    • 继承了V7和V8结构的DSP指令和浮点指令计算单元,与上一代的Arm处理器相比,同一主频下有20%的性能提升。
    • 引入了Cache的结构到M级别的处理器中,提高了系统级上的性能和效率,而以往M系列处理器通常不使用缓存技术。
  • 低功耗:
    • STAR-MC1在引入缓存技术的同时,还继续降低了产品的面积和功耗,实现了性能、功耗、面积的同时进步。
    • 例如,上海航芯ACM32G103系列在STOP2模式下功耗低于10uA,这得益于其低功耗设计和各种高集成度模拟外设。
  • 安全性:
    • V8-M架构开始支持TrustZone安全协议以及自定义扩展,包括协处理器接口和定制化指令集拓展。
    • TrustZone安全方案可以将运行环境隔离成安全区和非安全区,通过硬件隔离确保服务程序或数据得到保护。
  • 创新性:
    • 全球同步首发支持自定义指令扩展集,展示了STAR-MC1的创新性。
    • 在内核、总线和外设配置等多个方面进行了创新,包括浮点运算单元(FPU)、数字信号处理单元(DSP)等算法加速单元,以及丰富的外设模块和充足的I/O端口。
  • 适配性:
    • 可以适配各种无感FOC算法,如上海航芯ACM32F403系列可以适配各种无感FOC算法,降低了开发门槛。可以作为多种MCU产品的内核,如MM32F5270 MM32F5330和上海航芯ACM32G103系列都采用了STAR-MC1内核。


• MM32F5330 微控制器通信接口丰富
– 4 个 UART 接口
– 1 个 USART 接口(支持 SPI 模式)
– 1 个 LPUART 接口
– 2 个 I2C 接口
– 1 个 I3C 从机接口
– 3 个 SPI 接口(支持 I2S 模式)
– 1 个 USB 2.0 全速 Device/Host 控制器,内置 PHY
– 1 个 FlexCAN-FD 接口,兼容 CAN 2.0B 和 CAN-FD 协议




本次测评的为MM32F5333D7P型号。
 


 


下面进入开发,开发环境搭建:



安装Keil PACK 还是不识别芯片,可能是我Keil3.6版本低导致,只好选择ARMV8架构的
 



DAP识别芯片,那就成功90%。
 


添加FLM 手动识别芯片。

 


编写点灯程序:跟标准库风格类似。

复制
void GPIO_Configure(void)

{

    GPIO_InitTypeDef GPIO_InitStruct;



    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);

    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);



    GPIO_StructInit(&GPIO_InitStruct);

    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_10 | GPIO_Pin_11 ;

    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;

    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_Out_PP;

    GPIO_Init(GPIOB, &GPIO_InitStruct);



    GPIO_StructInit(&GPIO_InitStruct);

    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_6 | GPIO_Pin_7;

    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;

    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_Out_PP;

    GPIO_Init(GPIOC, &GPIO_InitStruct);



    GPIO_WriteBit(GPIOB, GPIO_Pin_10 | GPIO_Pin_11, Bit_SET);

    GPIO_WriteBit(GPIOC, GPIO_Pin_6 | GPIO_Pin_7, Bit_SET);

}



/***********************************************************************************************************************

  * @brief

  * [url=home.php?mod=space&uid=536309]@NOTE[/url]   none

  * @param  none

  * @retval none

  *********************************************************************************************************************/

void GPIO_IO_Toggle(GPIO_TypeDef *GPIOn, uint16_t PINn)

{

    if (Bit_RESET == GPIO_ReadOutputDataBit(GPIOn, PINn))

    {

        GPIO_SetBits(GPIOn, PINn);

    }

    else

    {

        GPIO_ResetBits(GPIOn, PINn);

    }

}



/***********************************************************************************************************************

  * @brief

  * @note   none

  * @param  none

  * @retval none

  *********************************************************************************************************************/

void GPIO_LED_Toggle_Sample(void)

{

    printf("\r\nTest %s", __FUNCTION__);



    GPIO_Configure();



    while (1)

    {

        GPIO_IO_Toggle(GPIOB, GPIO_Pin_10);

        GPIO_IO_Toggle(GPIOB, GPIO_Pin_11);

        GPIO_IO_Toggle(GPIOC, GPIO_Pin_6);

        GPIO_IO_Toggle(GPIOC, GPIO_Pin_7);



        PLATFORM_DelayMS(500);

    }

}


下载OK

 



现象:

---------------------
作者:abner_ma
链接:https://bbs.21ic.com/icview-3384850-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。 

__FUNCTION__、__FILE__等调试宏-爱代码爱编程

C语言提供了很多宏,今天学习的过程中见到了__FUNCTION__这个宏,顺便百度了一下其它常见的宏,这些都是编译器内置的宏。下面找了几个简单的例子。 __FUNCTION__:当前函数的名称 __FILE__:当前文件的名称 __DATE__:代码运行时的日期 __TIME__:代码运行时的时间 __LINE__:所在行数 参考代码: #in

stm32-爱代码爱编程

一、系统架构 四个主动单元:DCode(数据总线)、DMA1、DMA2、系统总线 四个被动单元:SRAM、Flash、FSMC(存储控制器)、AHB到APB的桥 二、存储器映像*** 三、电源 STM32工作电压VDD为2.0-3.6V,通过电压调节器提供1.8V电压。当VDD断电后,VBAT为实时时钟(RTC)和备份寄存器提

单片机裸机之实现任务调度+软timer(含源码)-爱代码爱编程

一、实现目的         在某些应用场景下,我们不需要使用操作系统,但是也希望能使用操作系统的api一样去调用自己的逻辑任务。如创建一个10ms的任务或定时器,只需要调用类似task_create或timer_create的接口就可以了。这样的好处一是我们只关心业务逻辑实现,不用关心什么时候要去执行这个任务,二是这样能促进各个模块独立解耦,代码结构也

tim“pwm”输出比较原理解析-爱代码爱编程

PWM最重要的就是占空比,所有都是在为占空比服务,通过设置不同的占空比,产生不同的电压,产生不同的效果 定时器的输出通道 基本定时器: 基本定时器没有通道 通用定时器: 4个通道(CH1, CH2, CH3, CH4) 高级定时器: 6个通道(CH1, CH2, CH3, CH4, CH5, CH6) 一、定时器和输出通道的初始化

fp7209: 用于紫外线消毒灯的 升压led恒流驱动芯片-爱代码爱编程

现在社会对于居家消毒也越发重视起来。而居家消毒除了75%浓度酒精及各类消毒液外,利用紫外线灯给衣物表面、房间消毒也是一种很好的选择。FP7209 定位于低压线性恒流驱动,精度高、外围电路简单、使用方便且可靠性高,更可广泛应用于商业照明系统,例如地铁照明,公交站台灯箱,广告标识牌等。  LED智能紫外消毒灯方案特点: (1) 本消毒灯控制方式为红外遥控;

stm32 oled-爱代码爱编程

文章目录 前言一、OLED是什么?二、使用步骤1.复制 OLED.C .H文件1.1 遇到问题 2.统一风格3.主函数引用头文件3.1 oled.h 提供了什么函数 4.介绍显示一个字符的函数5

[mm32软件]【灵动微电子mm32f5330测评】02 搭建开发环境 + pwm点灯_灵动mcu-爱代码爱编程

一、搭建开发环境 1、KEIL安装教程网络上很多,就不赘述了。 2、安装PACK(PACK是MCU 软件支持包) 1)在官网上海灵动微电子股份有限公司 (mindmotion.com.cn)的工具和软件一项中找到如下PACK页,点击,然后去下载PACK安装包    2)下载好,并解压。找到MindMotion.MM32F5330_DFP.0.5.1.

[mm32软件]【灵动微电子mm32f5330测评】烧录点灯例程_jlink烧录mm32-爱代码爱编程

   虽然此次未在二姨家申请到该开发板,但有幸通过其他渠道获得了此板,今天周末,特此来分享一下。据坛友反馈这款开发板的下载默认采用mm32-Link,好多网友采用J-link下载不是很顺利,笔者正是采用J-Link方式下载,倒感觉挺顺的呀,操作体验详情见如下。      MM32F5333是一款搭载了基于Arm v8-M 架构32位Star-MC1内核(兼

[mm32硬件]【灵动微电子mm32f5330测评】1、开箱贴_mm32f5333d7p开发板-爱代码爱编程

       非常感谢21ic论坛组织的本次灵动微电子MM32F5330测评活动,有幸获得了试用资格,本次的开发板搭载的主控芯片属于MM32F5330系列,MM32F5330是基于安谋科技的 Armv-8架构的 “星辰 ”STAR-MC1处理器开发的 32位微控制器产品内置 L1 ICache、 DCache,同时具备高性能和低功耗的特点。       

【灵动微电子mm32f5330测评】1.开箱+搭建环境+点灯_*** device: 'mm32f5333d7pv', vendor: 'mindmotion',-爱代码爱编程

开发板收到了,还附赠了一个小螺丝刀,应该是用来拧板子上的电阻用的 正面,板上有一个无源蜂鸣器、4个可编程按键和4个可编程LED、3个可调电位器、1个FLASH和1个EEPROM,另外集成了CAN通讯控制器,UART转USB,可惜这块板子没有板载调试工具 背面 板载主控是MM32F5333D7PV,基于安谋科技CPU设计团队设计的Ar