dsPIC33C系列MCU是Microchip主打电源与电机控制的16bit MCU产品,CPU时钟速度高达100MHz,下分单核dsPIC33CK和双核dsPIC33CH 2个子系列。虽然dsPIC33C系列芯片为实时控制而生,但是网上还没有相关的FreeRTOS移植教程,因此想做这样一个系列文章,把FreeRTOS移植过程中的一些关键点分享给大家,在这一过程中大家也能进一步的了解熟识dsPIC33C系列芯片。
本文连载,欢迎读者关注(所有分享不丢失)、点赞、收藏、转发和评论!
在这一系列文章之前,首先要选择一个硬件平台,这里我选取dsPIC33C Digital Power Starter Kit (Part Number: DM330017-3),大家可以通过链接下载相关的文档,如用户手册。该DEMO板上有一颗dsPIC33CK256MP505芯片,我们的移植便基于该芯片来实现,这里我先放一个我移植好最简单工程在这里,大家可以点击https://github.com/ChaoA51933/FreeRTOS-Realized-on-dsPIC33CK256MP505下载,后续基于该工程重点讲解与dsPIC33C相关的portmacro.h 、port.c和portasm_dsPIC.S,也就是说该系列文章主要聚焦移植过程针对dsPIC33CK256MP505所必需做的工作,并不介绍FreeRTOS其他通识知识,初步规划如下几个部分:
- 滴答定时器的选取
- 内核裁剪(FreeRTOSConfig.h配置)
- 中断配置
- 临界段处理
- 任务堆栈初始化
- 任务切换
把复杂的事情搞简单了,贡献;把简单的事情搞复杂了,太累。第一次发帖,也不知道能不能将这个移植真的说清楚,是否能正确传达我想表达的意思,说的对的,有价值的部分大家就看一看;说的不对的,也欢迎大家拍砖指正。