电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

基于SF-NIOS2开发板的uC/OS-II应用实例——下

<p>基于SF-NIOS2开发板的uC/OS-II应用实例</p>
<p>    </p>
<p><strong>uC/OS-II运行调试</strong></p>
<p>         首先将Quartus II工程产生的sof硬件配置文件烧录到FPGA中。</p>
<p>         接着如图10所示,在线运行uC/OS-II实例工程。</p>
<p>图10</p>
<p> </p>
<p> </p>
<p> </p>
<p>         在NIOS II Console中,我们可以看到最终运行的效果,如图11所示,两个任务所打印的字符串”Hello from task1”和”Hello from task2”循环出现。</p>
<p>图11</p>
<p> </p>
<p>         主要实例源码如下:</p>
<p> </p>
<p>见附件,贴上源码就发表不了了,郁闷,EDN编辑器的傻瓜字数限值。很无语!</p>
<p><img src="//blog-assets.oss-cn-shanghai.aliyuncs.com/9139/7d53007a1a04be9c5d8f7b7d5673ef1380c479ef.gif" /><a href="//blog-assets.oss-cn-shanghai.aliyuncs.com/9139/220453aa01aa2d711c085a21fbfea172f6ea1eaa.zip">hello_ucosii.zip</a></p>
<p> </p>
<p>         源码中,一个标准的uC/OS-II工程,实际上应该是初始化时调用OSInit();函数,最后调用OSStart();函数。这里的main函数里虽然没有调用OSInit();函数,实际上在HAL后台外设初始化时候肯定调用了。中间是任务的创建,这里创建两个任务task1和task2,优先级分别为1和2,并且分配了相应的堆栈空间。在两个任务中,分别打印字符串”Hello from task1”和”Hello from task2”,字符串打印后调用OSTimeDlyHMSM(0, 0, 3, 0);函数做了3s的延时。如果修改这个延时时间,打印效果会发生改变,根据延时的情况,Console窗口出现的打印字样频率和速度会不一样。</p>
<p>         NIOS II上的uC/OS-II移植,就这么简单。</p>
<p> </p>
<p> </p>

博主
ilove314@163.com
特权's Blog——永远忠于年轻时的梦想!
在实践中学习,在实践中思考,在实践中总结,在实践中提高;也许,在特权同学的原创博文中会有一些不成熟的思考和文字,也非常期待各路好手分享自己的看法和见解,特权在此先谢过了!~_~ 你们必认识真理,真理必叫你们得以自由。And you shall know the truth, and the truth shall set you free. ----John 8:32
点击跳转