[MM32软件]【灵动微电子MM32F5330测评】开发环境搭建点灯测试

   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所有,任何人未经允许禁止转载。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值