你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

FreeRTOS V8.1.2移植到Cortex-M0(STM32F042C6)

[复制链接]
Dylan疾风闪电 发布时间:2014-9-24 15:40
自己DIY了一块STM32F042C6的DemoBoard。
一天突发奇想,想要把FreeRTOS移植到板子上。
头一次移植,苦恼于网上找不断Keil CM0 下移植的直接例程,程序调试也老是在xTaskCreate失败。
 
今天程序终于调好了,能够开始跑FreeRTOS了。
程序功能:
1.LED指示灯
2.USART1 & USART2  中断接收,轮询发送
3.CAN 中断接收,轮询发送
 
4.RTC
 
献上代码,请多指点。
 
代码未经整理,比较乱,请各位看官见谅。(该文件可直接导入eclipse C/C++工程,方便浏览。)
FreeRTOS-STM32CM0-Demo.rar (592.1 KB, 下载次数: 855)
收藏 4 评论19 发布时间:2014-9-24 15:40

举报

19个回答
今日头条 回答时间:2016-6-29 14:08:05
以前看到有帖子好像要改汇编? 要改吗?
alexsunmiu 回答时间:2016-3-8 09:19:55
software.c 貌似有几个变量未定义?
supercxy 回答时间:2018-12-20 16:56:59
学习一下,正打算移植进去使用
Dylan疾风闪电 回答时间:2014-9-24 16:00:26

RE:FreeRTOS V8.1.2移植到Cortex-M0(STM32F042C6)

移植很简单,核心是不断调整FreeRTOSConfig.h配置到合适的参数。
--------------------------------------
#define configUSE_PREEMPTION                                                1
#define configUSE_IDLE_HOOK                                                        0 
#define configUSE_TICK_HOOK                                                        0 
#define configCPU_CLOCK_HZ                                                        ( ( uint32_t ) 48000000 )
#define configTICK_RATE_HZ                                                        ( ( TickType_t ) 1000 ) 
#define configMAX_PRIORITIES                                                ( ( unsigned portBASE_TYPE ) 10 ) 
#define configMINIMAL_STACK_SIZE                                        ( ( unsigned short ) 60 ) 
#define configTOTAL_HEAP_SIZE                                                ( ( size_t ) ( 3400 ) )                        /* 计算入Keil-ZI. */
#define configMAX_TASK_NAME_LEN                                                ( 16 )
#define configUSE_TRACE_FACILITY                                        1
#define configUSE_16_BIT_TICKS                                                0
#define configIDLE_SHOULD_YIELD                                                1
#define configUSE_MUTEXES                                       1
#define configQUEUE_REGISTRY_SIZE                                        8
#define configCHECK_FOR_STACK_OVERFLOW                                0
#define configUSE_RECURSIVE_MUTEXES                                        1
#define configUSE_MALLOC_FAILED_HOOK                                0
#define configUSE_APPLICATION_TASK_TAG                                0
#define configUSE_COUNTING_SEMAPHORES                                1
#define configGENERATE_RUN_TIME_STATS                                0
/* Co-routine definitions. */
#define configUSE_CO_ROUTINES                                                 0
#define configMAX_CO_ROUTINE_PRIORITIES                         2
/* Software timer definitions. */
#define configUSE_TIMERS                                                        1
#define configTIMER_TASK_PRIORITY                                        ( 2 )
#define configTIMER_QUEUE_LENGTH                                        5
#define configTIMER_TASK_STACK_DEPTH                                ( 80 )
/* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */
#define INCLUDE_vTaskPrioritySet                                        1
#define INCLUDE_uxTaskPriorityGet                                        1
#define INCLUDE_vTaskDelete                                                        1
#define INCLUDE_vTaskCleanUpResources                                1
#define INCLUDE_vTaskSuspend                                                1
#define INCLUDE_vTaskDelayUntil                                                1
#define INCLUDE_vTaskDelay                                                        1

/* Normal assert() semantics without relying on the provision of an assert.h
header file. */
#define configASSERT( x )                                                         if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }
沐紫 回答时间:2014-9-24 17:04:33

RE:FreeRTOS V8.1.2移植到Cortex-M0(STM32F042C6)

支持下
霹雳之火 回答时间:2014-9-25 08:25:22

RE:FreeRTOS V8.1.2移植到Cortex-M0(STM32F042C6)

谢谢分享
nawt 回答时间:2014-10-1 10:13:43

RE:FreeRTOS V8.1.2移植到Cortex-M0(STM32F042C6)

謝謝分享,學習一下freertos如何porting到其他stm板子上
亚古捷斯 回答时间:2015-1-13 16:52:59
多谢分享!
喵吉豆豆 回答时间:2015-10-21 19:15:49
正好需要,谢谢
涛哥2035 回答时间:2016-6-29 16:58:27
支持支持
lost1421 回答时间:2016-8-9 11:36:29
调试一下,试试看
shizi 回答时间:2017-7-28 13:06:02
顶一个
cloudmr 回答时间:2018-4-6 16:20:14
封小子 回答时间:2018-6-19 17:04:51
刚好需要,谢谢分享!
12下一页

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版