发 帖  
[资料] 转:移植FreeRTOS到KEA128
2016-6-4 12:23:34  2583
收藏 1 收藏 推荐 0 推荐
分享
通过对小恩GG的教程学习以及初步分析,直接动手移植FreeRTOS到TRK-KEA128上,并实现LED闪烁以及串口打印信息!

一、准备工作
1,  官网下载FreeRTOS源码包V9.0.0,解压到本地电脑上
2,  KEIL平台
3,  TRK-KEA128


二、建立工程模板及系统移植
1、模板就使用之前发布的程序作为模板,需要的自取
KEA系列开发笔记汇总
2、移植rtos
    需要移植的文件:
     1)内核5个文件: FreeRTOSV9.0.0rc1\FreeRTOS\Source目录下
      
   2)内存分配文件在\FreeRTOSV9.0.0rc1\FreeRTOS\Source\portable\MemMang中
   主要有5个,我们这里只需要heap_2.c就行了(至于为啥用第二个还没搞明白~~~)
  3) 移植M0的文件,这个分平台,这里用的Keil,所以选择
    FreeRTOSV9.0.0rc1\FreeRTOS\Source\portable\RVDS\ARM_CM0中的两个文件port.c和portmacro.h(IAR中多了portasm.s

  4)移植Include所有文件

  5)移植配置文件,我这里选择的是Demo中M0相关MCU的FreeRTOSConfig.h修改

3、添加文件到Keil中
  添加刚刚移植所需的文件到工程,并设置工程包含.h路径


4、主函数中添加以下几个函数(至于用来干哈的现在还不明白,参考列程中的.....)
void vApplicationMallocFailedHook( void )
void vApplicationIdleHook( void )
void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
void vApplicationTickHook( void )   
到此基本移植完成了,移植过程还是挺简单~

5、创建Task
    1)新建两个任务方法,分别是LED和UART的

  • static void vLEDTask( void *pvParameters )
  • {
  •   for( ;; )
  •   {
  •     GPIO_ToggleBit(PTC,GPIO_Pin_0);
  •     vTaskDelay( 200/portTICK_RATE_MS );
  •   }
  • }
  • /*UART Task*/
  • static void vUARTTask(void *pvParameters)
  • {
  •         for( ; ;)
  •         {
  •                 printf("FreeRTOS For KEA128\n");
  •                 printf("www.nxpic.org by »¨Ïª´å³¤£¡\n");
  •                 vTaskDelay( 500/portTICK_RATE_MS );
  •         }
  • }

[color=rgb(51, 102, 153) !important]复制代码


    2)创建任务(源代码贴上来就乱了!)

  • /*Creat Task*/
  •         xTaskCreate(         vLEDTask,                                                                                /* Function that implements the task. */
  •                                               "LED",                                                                                         /* Text name of the task. */
  •                                               configMINIMAL_STACK_SIZE,                /* Stack allocated to the task. */
  •                                               NULL,                                                     /* The task parameter is not used. */
  •                                               tskIDLE_PRIORITY+3,                     /* The priority to assign to the task. */
  •                                               NULL );                                                    /* Don't receive a handle back, it is not needed. */
  •         xTaskCreate(         vUARTTask,                                                                                /* Function that implements the task. */
  •                                               "UART",                                                                                         /* Text name of the task. */
  •                                               configMINIMAL_STACK_SIZE,                /* Stack allocated to the task. */
  •                                               NULL,                                                     /* The task parameter is not used. */
  •                                               tskIDLE_PRIORITY+2,                     /* The priority to assign to the task. */
  •                                               NULL );                                                    /* Don't receive a handle back, it is not needed. */
  •         /*Start Task*/
  •   vTaskStartScheduler();

[color=rgb(51, 102, 153) !important]复制代码


最后启动任务



最后Build->Download


至此移植结束,关于OS相关知识还得恶补~(感谢小恩GG的教程~)


http://www.nxpic.org/module/forum/thread-604919-1-1.html
· 2017-11-16 21:24:21
马克顶帖
· 2017-11-20 08:24:59
太客气了,谢谢支持,
· 2018-7-12 17:22:00
谢谢,有没有KEA128控制三相电机的资料
· 2018-7-12 21:12:24
客气了
· 2018-7-12 21:12:30
谢谢支持

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发资料
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表
-

推荐专区

技术干货集中营

专家问答

用户帮助┃咨询与建议┃版主议事

工程师杂谈

项目|工程师创意

招聘|求职}工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

ARM技术论坛

Linux论坛

单片机/MCU论坛

MSP430技术论坛

FPGA|CPLD|ASIC论坛

STM32/STM8技术论坛

NXP MCU 技术论坛

DSP论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

无线充电技术

-

硬件设计论坛

电路设计论坛

电子元器件论坛

传感技术

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

-

EDA设计论坛

multisim论坛

PCB设计论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

Orcad论坛

-

综合技术与应用

电机控制

工程资源中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

-

无线通信论坛

物联网技术

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Analog/RF IC设计

设计与制造封装测试

-

厂商专区

TI论坛

TI Deyisupport社区

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

高校联盟

西藏民族学院电子设计协会

西安电子科技大学西电实验室

桂林电子科技大学机电工程协会

鉴鹰电子科技协会

广东海洋大学科技创新协会

福建农林大学电子科技创新协会

湖北理工学院电子技术协会

深圳职业技术学院电子精英训练营

浙江科技学院Zuster

湘潭大学电子科技协会

青岛理工大学琴岛学院天宏开发团队

河南理工大学大学生电器开发部

广西科技大学电气信息创新协会

浙江机电职业技术学院电子制作协会

郑州大学西亚斯国际学院爱电工作室

新乡学院电子创新工作室

洛阳理工学院SmartTeam

苏州工业职业技术学院创新工作室

浙江工业大学GC315团队

杭电-微芯大学生科技创新孵化器

西安工业大学电信科协

商洛学院科技创新协会

大连民族学院创新工作室

南京信息工程大学帆木工作室

-

供求信息发布

方案交易

供需广告

芯片求购|供应发布区