[LKS32 软件] 【凌鸥创芯电机开发板LKS32MC071CBT8评测报告】移植FreeRTOS

[复制链接]
1714|14
 楼主| jiangyimfs 发表于 2023-6-21 20:10 | 显示全部楼层 |阅读模式
本帖最后由 jiangyimfs 于 2023-6-21 20:08 编辑

#申请原创#
    上周末就已经收到了凌鸥寄来的开发板,看了一下LKS07的RAM有12k,跑个freertos看看,前几天做了移植,下面做个记录。
移植freertos的教程网上应该有很多,我主要说明一下,移植的过程中需要注意的一些点。
1.复制FreeRTOS文件夹到对应的工程文件下面,添加对应的.c,.h文件到工程下,这部分可以参考网上的很多例子,这里就不再详细描述了。
1移植界面.png
需要注意LKS07是M0内核的,需要添加ARM_CM0下的port.c
2ARM_CM0.png

2.修改 FreeRTOSConfig.h  里面的设置,如下图所示。 3-config.png

LKS07的主频是96M,修改configCPU_CLOCK_HZ   (96000000) , 修改configTOTAL_HEAP_SIZE     ((size_t)(8 * 1024))

3.配置 FreeRTOS的时钟基准,如下图所示。
4.png
初始化systick中断,时基设置成1ms。
void delay_init(void)
{
        if (SysTick_Config(SystemCoreClock / 1000))        // S  1ms中断一次
        {
                /* Capture error */
                while (1);
        }
                // 关闭滴答定时器  
        //SysTick->CTRL &= ~ SysTick_CTRL_ENABLE_Msk;
}
]


在SysTick_Handler中断中添加如下代码。
void SysTick_Handler(void)
{
           gMS_Counter++;
     if(xTaskGetSchedulerState()!=taskSCHEDULER_NOT_STARTED)//系统已经运行
    {
      xPortSysTickHandler();        
    }
}
5.png
]

4.在main.c里面添加起始任务,app,cnt任务,设置堆栈的大小和任务的优先级别
6.png

5.使用串口0,打印信息,添加如下代码。
7.png



6.添加了两个人,app任务,led每隔500ms闪烁一次,打印一次APP_task is run!
cnt任务     每隔2000ms闪烁一次,打印一次cnt_task is run!!                                        。
7-2.png

7.  下载程序,使用串口打印,查看时间基准是否准确
8.png
9.jpg



我们可以查看查看串口的打印的时间戳,2000ms误差在10几个ms,基本还是比较准确的,LED灯也是每隔500ms闪烁一次,完美
最后上传完整的工程。

LKS32MC07x_freertos_demo_v1.3.zip

2.7 MB, 下载次数: 58

评论

赞~!  发表于 2023-6-26 10:10
jst124 发表于 2023-7-6 14:33 | 显示全部楼层
这是最近看到的嘴硬核的文章了,必须好评
mnynt121 发表于 2023-7-10 14:46 | 显示全部楼层
需要详细了解目标硬件平台的架构、处理器类型、内存布局等。这将有助于 理解如何将FreeRTOS适配到该硬件上。
biechedan 发表于 2023-7-10 15:12 | 显示全部楼层
FreeRTOS的任务调度依赖于定时器中断。
macpherson 发表于 2023-7-10 15:46 | 显示全部楼层
确保为FreeRTOS分配足够的内存
ingramward 发表于 2023-7-10 16:21 | 显示全部楼层
执行的函数都在source/portable目录下的文件port.c或portasm.s中
sheflynn 发表于 2023-7-10 16:56 | 显示全部楼层
FreeRTOS的官方文档和相关参考资料在哪里下载的
hilahope 发表于 2023-7-10 17:32 | 显示全部楼层
需要考虑处理器架构、时钟频率、存储器类型和大小、外设接口等因素,并根据这些信息进行相应的配置和适配。
elsaflower 发表于 2023-7-10 18:06 | 显示全部楼层
FreeRTOS提供了许多配置选项 ,怎么选择呢?
macpherson 发表于 2023-7-10 18:42 | 显示全部楼层
从FreeRTOS的官方网站下载最新版本的源代码。
mattlincoln 发表于 2023-7-10 19:19 | 显示全部楼层
根据实际需求,对移植的FreeRTOS进行性能优化和调整。
lajfda002 发表于 2023-7-18 16:26 | 显示全部楼层
这个必须好评,好评,很棒的文章。
ynndmalh21 发表于 2023-7-18 17:37 | 显示全部楼层
这个文章确实不错,很棒的
单片小菜 发表于 2023-7-20 10:15 | 显示全部楼层
很棒的文章,学习了很多知识,不错的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

148

主题

199

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部