关于LwIP任务优先级
我现在移植的LwIP协议栈,最多有5个任务,它要求独占任务优先级,也就是说,必须保证有一段优先级,比如6~10,只能供LwIP相关的任务使用,系统中其他任务不得使用,否则会出错.
请问有什么办法能去掉这个限制吗?因为我的系统只有16个优先级,任务很多,要拿出几个连续的优先级只给LwIP使用,无法做到. 我只看过ucos的移植,似乎独占一个优先级级是ucos的要求而不是lwip的,问题是你在mbox发送接收消息的时候能区分是哪个任务的消息!我想适当改写mbox_frech, mbox_post后是应该可以做到的! 楼上大侠,我还有个不明白的地方,lwip里面发送空消息和接收空消息是怎么回事?
(也就是sys_mbox_fetch()和sys_mbox_post()函数的msg参数为NULL)。
是把消息作为信号使用了吗? 那敢称大侠,我不过是把别人做好的东西移植到自己的板上而已!好象前面也有人问过同样的问题,不知道是不是你!fetch null的我在netconn_delete里见到过,似乎是用于清空mailbox并取得控制权以便删除它的,但post null的msg我调试时没有见到过!
post null msg有的
你在SourceInsight里面搜索一下sys_mbox_post就能看到.我现在已经移植完了,好用.
sys_mbox_fetch带空参数是收完不处理,立即释放;
sys_mbox_post带空参数实际好象是作为信号使用,我移植的时候没用发送NULL指针,而是发送一个预先定义的指针,把这个指针的地址传过去.
有问题随时联系!
页:
[1]