[求教]关于Tornado的使用问题

[复制链接]
2873|4
 楼主| yxdengos 发表于 2008-12-3 18:22 | 显示全部楼层 |阅读模式
我使用Tornado时间不长&nbsp;请教大虾<br />版本是Tornado2.2<br /><br />1.&nbsp;编译器似乎不怎么好用&nbsp;我发现使用/**/注释的时候中文似乎输入不进去<br /><br />2.&nbsp;编写代码的时候&nbsp;修改换行缩进的地方在哪呢?<br /><br />3.&nbsp;由于初用VxWorks&nbsp;请教一下&nbsp;如果在main中使用&nbsp;while(1)调用一个子程序&nbsp;和&nbsp;while(1)调用系统相关的任务(创建和挂起)&nbsp;有什么去别<br /><br />我把移植后的VxWorks作为单片机使用(呵呵仅仅试试)&nbsp;发现使用while(1)调用printf时&nbsp;整个shell都变得特别的慢(从输入命令&nbsp;到最后出结果)&nbsp;而例程有个在while中调用任务函数&nbsp;就不会有这个问题&nbsp;不知道子程序和任务在操作系统下面处理方式有什么差异<br /><br />谢谢大家!&nbsp;
 楼主| yxdengos 发表于 2008-12-7 18:02 | 显示全部楼层

虽然这些问题很简单 还是恳求大家帮帮忙

  
armecos 发表于 2008-12-8 08:11 | 显示全部楼层

《ecos增值包》里有VxWorks解决方案,

我一般用VC或者UE编辑,用Tornado编译,就没遇到你说的这些问题。<br />任务就是一个子程序,你创建任务的话,在运行时会并发执行,静态表现和子程序没区别。<br />你在printf之后加taskDelay延时即可。<br /><br />*************************************<br />*&nbsp;VxWorks&nbsp;for&nbsp;LPC2210应用编程实战节选&nbsp;*<br />*************************************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;------&nbsp;《ecos增值包》选配之VxWorks应用编程实战<br />&nbsp;&nbsp;&nbsp;&nbsp;2007/04/22&nbsp;&nbsp;asdjf@163.com&nbsp;&nbsp;www.armecos.com<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;VxWorks和ecos一样,都是多任务操作系统,都用GNU工具链开发,只是API函数名略有不同,因此,我们分别用ecos中介绍过的两个demo程序对照讲解VxWorks应用编程的开发方法。<br /><br />#define&nbsp;STACK_SIZE&nbsp;2000<br /><br />void&nbsp;taska(int&nbsp;arg);<br />void&nbsp;taskb(int&nbsp;arg);<br />void&nbsp;taskc(int&nbsp;arg);<br /><br />void&nbsp;demo1(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Demo1&nbsp;Start......
&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;taskSpawn(&quot;taska&quot;,&nbsp;90,&nbsp;0,&nbsp;STACK_SIZE,&nbsp;taska,&nbsp;1,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;taskSpawn(&quot;taskb&quot;,&nbsp;90,&nbsp;0,&nbsp;STACK_SIZE,&nbsp;taskb,&nbsp;2,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;taskSpawn(&quot;taskc&quot;,&nbsp;90,&nbsp;0,&nbsp;STACK_SIZE,&nbsp;taskc,&nbsp;3,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0,&nbsp;0);<br />}<br /><br />void&nbsp;taska(int&nbsp;arg)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;        AAAAAA111111&nbsp;is&nbsp;active.thread&nbsp;data&nbsp;is&nbsp;%d.
&quot;,&nbsp;arg);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;taskDelay(100);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void&nbsp;taskb(int&nbsp;arg)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;        BBBBBB333333&nbsp;is&nbsp;active.thread&nbsp;data&nbsp;is&nbsp;%d.
&quot;,&nbsp;arg);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;taskDelay(300);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void&nbsp;taskc(int&nbsp;arg)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;        CCCCCC666666&nbsp;is&nbsp;active.thread&nbsp;data&nbsp;is&nbsp;%d.
&quot;,&nbsp;arg);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;taskDelay(600);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;由上可见,VxWorks中创建任务使用taskSpawn,延时使用taskDelay。下表对比了创建任务和任务延时在ucos51、ecos、VxWorks中的名称。<br />&nbsp;&nbsp;&nbsp;&nbsp;------------------------------------------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;创建任务&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;任务延时&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;------------------------------------------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ucos51&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;OSTaskCreate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;------------------------------------------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;ecos&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;cyg_thread_create&nbsp;&nbsp;|&nbsp;&nbsp;cyg_thread_delay&nbsp;&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;------------------------------------------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;VxWorks&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;taskSpawn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;taskDelay&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br />&nbsp;&nbsp;&nbsp;&nbsp;------------------------------------------------------<br /><br /><b><font color=#FF0000>上述文档可能不完整或已被更新,想获得该资料的最新最全版本,请访问:</font>www.armecos.com</b><br /><br /><b>更多内容,详见:</b><br /><b>我的培训中心</b><br /><b>我的研发团队</b><br /><b>我的技术顾问</b><br />&nbsp;&nbsp;&nbsp;&nbsp;<b>文件系统整体解决方案咨询套餐</b><br />&nbsp;&nbsp;&nbsp;&nbsp;<b>IP协议栈整体解决方案咨询套餐</b><br />&nbsp;&nbsp;&nbsp;&nbsp;<b>USB整体解决方案咨询套餐</b><br />&nbsp;&nbsp;&nbsp;&nbsp;<b>BootLoader整体解决方案咨询套餐</b>
 楼主| yxdengos 发表于 2008-12-8 09:04 | 显示全部楼层

非常感谢

  
 楼主| yxdengos 发表于 2008-12-11 10:38 | 显示全部楼层

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

132

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部