完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大多数操作系统似乎能同时执行多个程序。这称为多任务处理。随着应用程序变得越来越复杂,[单片机]裸机开发已经无法满足对于复杂程序的需求。于是具有多任务调度和实时响应特性的FreeRTOS便越来越受工程师们青睐。 以下介绍如何用瑞萨rasc创建RA-Eco-RA4E2-64PIN-V1.0开发板的FreeRTOS工程。 FreeRTOS 是作者 Richard Barry 于 2003 年推出的系统。作者加入了[亚马逊],之后推出的产品为Amazon FreeRTOS 本次实验要使用FreeRTOS10.6.1嵌入式实时操作系统,之前几个实验都是在裸机上跑的,但当我们要多线程操作时,就需要用到RTOS(Real-Time Operating System)。 通常我们裸机开发要做软件延时用的是FSP库 续前【RA-Eco-RA4E2-64PIN-V1.0开发板试用】1、开发板开箱与环境搭建 | setup_fsp_v5_4_0_rasc_v2024-04.exe 安装完成后在RenesasRAsc_v eclipse目录中运行rasc.exe 配置keil项目 可以进入片配置也可以关闭在keil项目项目中. 产生目录: 打开lu.uvprojx 打开该文件配置的RA Smart Configurator 根据板图: ![] 加入2个113,207: 时钟图:![未标题-2 拷贝.png] 新增线程(Threads)点击Stacks选项卡--在左侧的New Thread -- 点击新创建的Thread 属性 -- 修改Name和Symbol,下图所示的是LED1线程,LED2的同理。 选择堆算法接着为堆选择算法,这里一共有1~5共5个算法可选,每种算法介绍如下: Heap_1:这是最简单的内存分配实现,它不允许释放已分配的内存。这意味着一旦内存被分配出去,就不能被回收,这可能导致内存的快速耗尽。 Heap_2:与Heap_1相比,Heap_2允许内存的释放。但是,它不会合并相邻的空闲内存块,因此可能会导致内存碎片化。 Heap_3:Heap_3使用标准的malloc()和free()函数来管理内存,因此堆的大小由链接器配置决定,而不是由FreeRTOS的配置文件设置。 Heap_4:Heap_4在Heap_2的基础上进行了改进,它会合并相邻的空闲内存块,从而减少内存碎片化的可能性。Heap_4使用“第一次适应算法”来分配内存,通常建议作为内存管理的首选方案。 Heap_5:Heap_5与Heap_4类似,但它支持从多个非连续的内存块中分配内存,这对于系统内存不是连续块的情况非常有用。` 这里我选择Heap 4算法。其实只点灯的话不选择算法也可以的。 点击LED1 -- New Stack -- RTOS -- FreeRTOS Heap4 接下来可能会报错,要开启动态内存分配。点击LED1这个线程 -- 在属性里Support Dynamic Allocation 改为 Enabled 编写代码保存配置文件,生成项目代码。 在FSP_Project\src会多出 在
在
上面代码是让P113对应的LED灯亮灭各500ms,P207对应的LED灯亮灭各800ms
这次编译没有出错: Program Size: Code=9276 RO-data=1948 RW-data=0 ZI-data=5660 FromELF: creating hex file... After Build - User command #1: cmd /c "start "Renesas" /w cmd /c ""E:\lst\ra0e1-20240827154516\123\ra4e2-rt\FSP_Project\rasc_launcher.bat" "E:\lst\ra0e1-20240827154516\123\ra4e2-rt\FSP_Project\rasc_version.txt" -nosplash --launcher.suppressErrors --gensmartbundle --compiler ARMv6 --devicefamily ra "E:\lst\ra0e1-20240827154516\123\ra4e2-rt\FSP_Project\configuration.xml" "E:\lst\ra0e1-20240827154516\123\ra4e2-rt\FSP_Project\Objects\FSP_Project.axf" 2> "%TEMP%\rasc_stderr.out""" ".\Objects\FSP_Project.axf" - 0 Error(s), 68 Warning(s). Build Time Elapsed: 00:00:32 设置出HEX文件 在C:RenesaslustObjects目录下生成lst.hex文件。 开发板是支持用串口工具来下载程序的,当然在MDK的环境下用串口是无法完成这个任务的,它必需借助工具软件Renesas Flash Programmer的支持,其软件版本为 V3.14。 在安装了Renesas Flash Programmer之后,该如何进行下载呢? 其步骤如下: 1)将开发板由运行模式切换为下载模式,即改变J1上引脚的连接方式,按图所示用短接子将引脚1和引脚3连接起来。 切换工作模式 2)串口连接 串口编程所用的引脚是P109和P110,其中P110是输入端要接串口的发送端TXD,而P109 是输出端接串口的接收端RXD 。 图3引脚功能 3)运行工具软件,先创建一个工程,见图4所示。然后选取待下载的*.hex文件,并按下开发板的复位键以进入下载状态。 用上次安装Renesas Flash Programmer _Package_V31400软件, 这次烧成功。 Target device : RA Connecting the tool Tool : COM port (COM3), Interface : 2 wire UART Connecting to the target device Setting the target device Communication speed : 115200bps Setting the target device Erasing the selected blocks [Code Flash 1] 0x00000000 - 0x0003FFFF size : 256 K [Data Flash 1] 0x40100000 - 0x40101FFF size : 8 K Writing data to the target device [Code Flash 1] 0x00000000 - 0x00000DD7 size : 3.5 K [Config Area] 0x01010018 - 0x01010033 size : 28 Verifying data [Code Flash 1] 0x00000000 - 0x00000DD7 size : 3.5 K [Config Area] 0x01010018 - 0x01010033 size : 28 Disconnecting the tool Operation completed. 重新设boot引脚 reset达到预期状态。 petal_20241219_155947 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】+小白折腾瑞萨RA系列全过程02
163 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】按键点灯:使用轮询方式和中断方式实现
296 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】07、ADC采集PWM输出的电压值
342 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】4、Amazon FreeRTOS初探,第一个程序
2135 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】06、PWM输出实验+给LCD屏幕PWM调光
756 浏览 0 评论
1873浏览 4评论
【RA-Eco-RA0E1-32PIN-V1.0开发板试用】RA0E1-32PIN-V1.0开发板测试一下点灯
2480浏览 3评论
【RA4M2设计挑战赛】智慧农业监测RA4M2采集数据上传阿里云
1625浏览 2评论
3021浏览 2评论
1245浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 08:22 , Processed in 0.412420 second(s), Total 39, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号