加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

学RTOS,手动移植还是工具配置?

05/29 12:10
1724
阅读需 6 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

微信公众号 | strongerHuang

我们今天教大家快速搭建FreeRTOS工程的方法。

早期,软件工具不那么成熟,搭建FreeRTOS工程都是需要一步一步手动移植。很多小伙伴吐槽,移植过程太繁琐。

而现在,软件工具越来越“先进”了,我们搭建工程只需要动动鼠标就能搭建一个完整的工程,很多人说通过配置工具能更快入门RTOS。

市面上这类(快速生成工程的)软件工具有很多,今天结合 e2 studio 开发环境、RA8D1单片机给大家讲述快速搭建FreeRTOS工程,并创建GPIO(LED)+UART两个线程。

准备工作

开发RA8D1单片机需要提前安装好软件工具,还有准备好RA8板卡以及下载调试器

1、下载安装集成开发环境

开发瑞萨RA8系列单片机的工具有很多,常见的主要是:

    e2 studio一站式服务工具RASC + Keil,或RASC + IAR

如果觉得麻烦,还是推荐大家使用瑞萨官网的 e2 studio 一站式服务工具。

这里大家可以参看我之前分享的文章:瑞萨RA8系列教程 | 瑞萨 RA8 开发环境e2s搭建Keil系列教程_Keil介绍、下载、安装与注册      2、准备硬件板卡本教程就使用瑞萨CPKCOR_RA8D1B评估板,这块板卡集成了J-link,我们只需要用一根线连接电脑即可下载调试。

e2s快速搭建FreeRTOS工程

e2s和其他一些MCU厂商的“可视化配置工具”类似,只需要动动鼠标,就能快速创建FreeRTOS软件工程。

1、基于e2s快速创建FreeRTOS工程模板

打开e2s,文件 -> 新建 -> 瑞萨C/C++项目 -> Renesas RA:

输入工程名称,比如我们输入RA8D1_RTOS:

选择单片机型号,比如R7FA8D1BHEC:

选择TrustZone项目工程:

选择FreeRTOS:

选择【FreeRTOS - Minimal - Static Allocation】,然后点击完成,一个FreeRTOS 项目模板就创建好了。

2、配置FreeRTOS

点击【Stacks】,然后再点击【New Thread】创建新线程:

然后,选中【New Thread】 -> 属性,重命名为【GPIO_Thread】

同样的方法,我们再新建一个【UART_Thread】线程:

点击【Generate Project Content】,就可以看到生成了两个源代码文件,此时,FreeRTOS两个线程就生成好了。

3、线程增加应用代码

我们这里创建了GPIO+UART两个简单的线程,关于GPIO和UART底层的配置,大家可以参看我前面分享的教程:瑞萨RA8系列教程 | 基于e2s实现RA8串口输出配置

我们这里GPIO(LED)线程应用代码,LED闪烁:

void GPIO_Thread_entry(void *pvParameters){    FSP_PARAMETER_NOT_USED (pvParameters);
    /* TODO: add your own code here */    while (1)    {        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_10_PIN_01, BSP_IO_LEVEL_LOW);        vTaskDelay (500);// 延时500ms
        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_10_PIN_01, BSP_IO_LEVEL_HIGH);        vTaskDelay (500);// 延时500ms    }}

UART线程应用代码,间隔1秒打印Cnt计数值:

void UART_Thread_entry(void *pvParameters){    uint8_t Cnt = 0;
    FSP_PARAMETER_NOT_USED (pvParameters);    Debug_UART4_Init(); // SCI4 UART 调试串口初始化    printf("Start...rn");
    while (1)    {        vTaskDelay (500);        Cnt++;        printf("Cnt = %drn", Cnt);    }}

 

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
NC7SZ86P5X 1 Fairchild Semiconductor Corporation XOR Gate, LVC/LCX/Z Series, 1-Func, 2-Input, CMOS, PDSO5, 1.25 MM, ROHS COMPLIANT, EIAJ, SC-88A, SC-70, 5 PIN
$0.23 查看
AFCT-5971ALZ 1 Agilent Technologies Inc Transceiver, Through Hole Mount,
暂无数据 查看
AT24C16C-XHM-B 1 Microchip Technology Inc IC EEPROM 16KBIT 1MHZ 8TSSOP
$0.49 查看

相关推荐

电子产业图谱

作者黄工,从事嵌入式软件开发工作8年有余,高级嵌入式软件工程师,业余维护公众号『strongerHuang』,分享嵌入式软硬件、单片机、物联网等内容。