打印

在Dspic33fj64上 移植小型实时操作系统

[复制链接]
3057|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
海蜇皮|  楼主 | 2007-12-5 15:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Microchip 今年master 上有Freertos的课程,例子是用PIC24FJ128做的,
前几天在Dspic33fj64gp206上面跑了一下freertos.分享一下经验,避免大家走同样的弯路

1.  Dspic33FJ64GP206+ Freertos V4.2.1 ,调试硬件是用microchip提供的
    33FJ64GP206的demo board,应该不少工程师手头有这个小板子
    几个简单的任务: 
    空任务:
    2个LED闪烁任务: (其实是把同一个任务建立两次,通过任务参数传递闪
                     烁频率)
    1个按键任务 :   (由按键控制LED灯,并将按键状态送往串口显示)
    1个温度显示 :   (测出温度值后由串口送往PC显示)
    1个显示任务 :   (串口,9600波特率, 队列取显示数据)

2.  Freertos在做堆栈保存时,没有用到W14(堆栈帧指针),所有数据手动保存,
    所以要在项目MPLAB C30 / Optimization 中选中 Omit frame pointer ,
    否则的话,建立的任务堆栈是不正确的,程序也会跑飞

3.  freertosconfig.h中会对configMINIMAL_STACK_SIZE,  
    configTOTAL_HEAP_SIZE 进行初始化,
    开始调试时,一定要确保所有任务的堆栈有足够的空间分配,否则的话,尽管
    编译不会出错,但程序
    运行不正常,我在demo 程序中给每个任务分配了70byte字节, 
    heap_size=1.2k

4.  www.freertos.org 有现成的PIC24/DSPIC30移植案例, 大家只需更换器件
    的头文件,重新定义堆栈大小,在主文件里建一个空任务就可以跑起来了

沙发
边城| | 2007-12-5 19:18 | 只看该作者

代码可不可以共享下先

代码可不可以共享下先

使用特权

评论回复
板凳
海蜇皮|  楼主 | 2007-12-10 09:47 | 只看该作者

To 边城


代码可不可以共享下先

代码发到你邮箱了,查收一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

1

粉丝