1390|2

504

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

【复旦微车规MCU FM33FT0A 系列】开发环境搭建与printf日志串口 [复制链接]

本帖最后由 dirty 于 2024-1-20 00:25 编辑

        本篇讲述复旦微FM33FT0A 系列开发环境搭建及调试用到的日志串口printf重定向。

一.开发环境准备

        这阶段需要做些资料准备,复旦微资料官网上会找到点,需要用到较为全面的资料在其官方论坛上【1】,特此分享。

1.SDK下载

        这里下载使用V1.7.1.5版本SDK。用 闪灯示例 工程 作为初始工程基础。

2.芯片pack包安装

        FM33FT0A是基于ARM Cortex-M0核,这里用大家熟知的Keil开发环境。首先需要安装芯片pack包,在Keil官网是找不到芯片型号匹配的,但在官方论坛资料里是有的,进过了一段寻觅可算找到,这里安装FMSH.FM33FT0XXA_DFP.1.0.5.pack,安装好后,打开工程,在Options->Device选项卡下可看到适配了开发板MCU型号。如下图

图1:芯片型号配置

3.调试烧录配置

        连上开发板USB-TYPEC并插入电脑USB,在设备管理器可看到 CMSIS-DAP 设备,其已板载,我们在Keil里做相应配置。在Options->Debug选项卡选择CMSIS-DAP Debugger,如下图所示

图2:调试器选择

        点击进入Settings进行配置 ,在Debug选项卡下Port选SW,在FLASHdownload选项卡下初次加载编程烧录算法FLM文件,其可在Keil安装路径下(参考路径Keil_v5\Packs\FMSH\FM33FT0XXA_DFP\1.0.5\Flash)下找到,加载上后点击OK确认。

图3:编程烧录文件加载

        至此,开发环境搭建与工具配置准备完毕。

 

二.printf重定向串口日志

        查阅了整个SDK,没有发现关于串口打印方面,特此在 闪灯示例 工程上予以添加此功能。在开发调试阶段串口日志是经常用到的。

1.选择使用Keil带有的MicroLIB,设置Options->Target选项卡下 如下图勾选上

图4:勾选MicroLIB

2.串口初始化

         这里根据开发板接口使用串口UART4,引脚TX--PB3,RX--PB2. 在mf_config.c里添加如下代码,进行UART4串口初始化

/**
  * @brief  UART4 Initialization function
  * @param  void
  * @retval None
  */
void MF_UART4_Init(void)
{
    FL_UART_InitTypeDef uart = {0};
    FL_GPIO_InitTypeDef gpio = {0};
  
    FL_GPIO_StructInit(&gpio);
    gpio.pin = FL_GPIO_PIN_2 | FL_GPIO_PIN_3;
    gpio.mode = FL_GPIO_MODE_DIGITAL;
    gpio.pull = FL_GPIO_BOTH_DISABLE;
    gpio.outputType = FL_GPIO_OUTPUT_PUSHPULL;
    gpio.remapPin = FL_GPIO_PINREMAP_FUNCTON1;
    FL_GPIO_Init(GPIOB, &gpio);
    
    uart.baudRate = 115200;
    uart.dataWidth = FL_UART_DATA_WIDTH_8B;
    uart.parity = FL_UART_PARITY_NONE;
    uart.stopBits = FL_UART_STOP_BIT_WIDTH_1B;
    uart.transferDirection = FL_UART_DIRECTION_TX_RX;
    FL_UART_Init(UART4, &uart);
    
    FL_UART_ClearFlag_TXShiftBuffEmpty(UART4);
    FL_UART_EnableIT_TXShiftBuffEmpty(UART4);
}
/**
  * @brief  The application entry point.
  * @retval int
  */

void MF_Config_Init(void)
{
    /*FUNCTION CALL*/
    MF_UART4_Init();
}

3.在main.c添加重定向fputc函数如下

/* retarget the C library printf function to the USART */
int fputc(int ch, FILE *f)
{
    FL_UART_WriteTXBuff(UART4,(uint8_t)ch);                      /* 将发送数据写入发送寄存器 */
    while(FL_UART_IsActiveFlag_TXBuffEmpty(UART4) != 0x01UL){};  /* 等待发送完成 */
    
    return ch;      
}

4.在main()函数里初始化串口并打印日志

int main(void)
{   
   //......
    
    MF_Config_Init();
    printf("Config debug uart finish\r\n");
    
    printf("RGB LED flick\r\n");
	
	//......
}

 5.编译烧录运行

        开发板接上USB TYPE-C线,连接好串口线并打开串口助手,接上12V DC电源并上电。编译工程并烧录。开发板连接准备如下图

图5:开发板硬件连接

        可以看到开发板RGB灯颜色切换闪烁(效果见附件视频),串口有日志输出,如下图所示

图6:串口日志输出

        

        至此,开发环境搭建完毕与printf重定向串口日志实现。现将工程附件分享,方便有需要的使用.

 

RGB_FLICK

 

 

【1】FM33FT0A 系列资料

        http://www.fmdevelopers.com.cn/forum.php?mod=viewthread&tid=14737

 

 

RGB_LED_Flick_printf.rar

9.66 MB, 下载次数: 6

售价: 1 分芯积分  [记录]

此帖出自汽车电子论坛

最新回复

RGB灯颜色切换闪烁的比较完美,,,   详情 回复 发表于 2024-1-21 07:49
点赞 关注
个人签名

保持热爱


回复
举报

6809

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

RGB灯颜色切换闪烁的比较完美,,,

此帖出自汽车电子论坛

点评

是的,可以做炫彩灯,三路PWM互补,调亮度、颜色  详情 回复 发表于 2024-1-21 13:29
 
 

回复

504

帖子

0

TA的资源

纯净的硅(初级)

板凳
 
Jacktang 发表于 2024-1-21 07:49 RGB灯颜色切换闪烁的比较完美,,,

是的,可以做炫彩灯,三路PWM互补,调亮度、颜色

此帖出自汽车电子论坛
个人签名

保持热爱

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表