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

2012-8-16 08:52 2922 13 13 分类: FPGA/CPLD

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

         uC/OS-II(又名Micro C/OS)是基于嵌入式系统的完整的,可移植、可固化、可裁剪的可剥夺型实时内核,其已经广泛应用在航空飞行器、医疗设备、工业控制等可靠性和稳定性要求较高的场合。该内核的代码也是完全开源的,如果不做商业用途,完全免费。因此对于广大的嵌入式爱好者与工程师们而言,了解OSuC/OS-II开始不失为一个很好的选择。

         特权同学最近在一边狂啃邵贝贝翻译的《嵌入式实时操作系统uC/OS-II》,一边动手在NIOS II上做一些实践,加深理解和认识。

         拿来自己设计的SF-NIOS2开发套件,使用第3个工程实例(《爱上FPGA开发》第6章的SOPC工程)进行了EDS上的uC/OS-II样板工程测试,对uC/OS-II有一个更感性的认识和体验。废话少说,简单的描述下整个实例过程,也算给手头拥有SF-NIOS2套件的朋友一个参考吧。

 

SOPC硬件修改

         3SOPC工程硬件框图如图1所示。在此基础上,咱们需要添加一个10ms定时器,用于作为uC/OS-II的时钟节拍(Clock tick)。

20120816084625148001.png

1

         首先复制第3个工程实例,修改工程文件夹名为nios2ucosii,接着打开工程的SOPC Builder编辑界面,添加一个Interval Timer外设,设置该Timer的定时Period10ms,如图2所示。

20120816084629988002.jpg

2

         修改该Timer外设名称为ucosii_timer

20120816084633798003.jpg

3

         重新分配地址,如图4所示,点击SystemàAssign Base Addresses。接着点击右下角的Generate生成新的系统。

20120816084637325004.png

4

         完成SOPC新系统的Generate,接着重新编译Quartus IIproject。自此,硬件的修改已经就绪。

 

软件工程创建

         如图5所示,打开EDS后,点击FileàNewàNios II Application and BSP from Template新建模板工程。

20120816084641260005.jpg

5

         如图6所示,在新建工程向导中,选择SOPC Information File name为当前工程目录下的sopcinfo文件。Project name命名为myucosii_prj,选择Project templateHello MicroC/OS II。最后点击Finish创建工程。

20120816084644172006.jpg

6

         新建工程出现在工程管理窗口后,右键单击myucosii_prj文件夹,选择NIOS IIàBSP Editor,如图7所示。

20120816084648916007.png

7

         确定Main页面中Common里面的stderr/stdin/stdout均为jtag_uartsys_clk_timerucosii_timer即可。点击Generate更新设置。

20120816084653111008.jpg

8

         右键点击应用工程,选择Build Project进行软件工程编译。完成后Console窗口打印如图9所示的信息,可见这个uC/OS-II内核以及软件的HAL占用了大约101KB的存储空间,uC/OS-II其实还是很小的,只不过NIOS II各种外设的HAL比较大,不过也都是可以裁剪的。

20120816084657841009.jpg

9

 

 

 

 

SF-NIOS2开发套件介绍:http://item.taobao.com/item.htm?id=15262961938 

 

文章评论0条评论)

登录后参与讨论
我要评论
0
13
关闭 站长推荐上一条 /2 下一条