资源描述
说明: 该指南将会使你熟悉niosII IDE和MicroC/OS-II开发流程。niosII IDE提供设计者一个充足的niosII开发平台。niosII IDE包含MicroC/OS-II实时操作系统,为设计者提供快速地搭建基于niosII处理器的MicroC/OS-II应用程序的能力。该指南提供了搭建一个基于MicroC/OS-II实时操作系统的简单程序的步骤说明。基于niosII处理器的MicroC/OS-II操作系统的详细叙述请参阅the Nios IISoftware Developers Handbook(niosII软件开发手册)的“MicroC/OS-II Real-Time Operating System”(MicroC/OS-II实时操作系统)章节。硬件与软件: 一下是该指南所需要的硬件与软件:需求: Quartus II4.1版sp1 或更高版本 NiosII 嵌入式处理器1.01版或更高版本 niosII开发板Stratix II 版, Cyclone 版,Stratix 版, 或 Stratix 专业版 altera的USB-Blaster 或 ByteBlaster下载电缆 要完成该指南的全部功能,你必须安装Nios II IDE并且将你的nios开发板与pc主机相连接,参见the Nios II Development Kit Getting StartedUser Guide。指南文件 niosII开发包包含该设计向导。该硬件设计是标准参考设计, 软件设计是一个Nios II IDE模板。当你安装了niosII开发包 后,你能发现设计文件在niosII开发包的目录引索中。 硬件标准参考设计文件位于 examplesstandard directory. MicroC/OS-II软件设计指南文件位于examplessoftwareucosii_tutorial directory. 你不需移动或复制这些软件文件,因为Nios II IDE自动复制了它们到你的工作工程目录。Hello MicroC/OS-II 设计 你使用的该指南的设计示例是一个用于练习熟悉该操作系统一些基本特点的简单的设计。图11是一个简化的应用图表。图11 Tutorial Example Design在图11中展示的设计有五个活动的任务。send_task用增量数据(incrementing data)填入消息队列(message queue)。receive_task1和receive_task2定时把消息从消息队列中取出。getsem_task1 和 getsem_task2 竞争被一个信号机(semaphore)所保护的一个共享资源。这个设计也有两个任务没有被展现在图11中:一个初始化任务和一个显示状态信息任务。创建一个基于NIOSII处理器的MicroC/OS-II软件过程包含以下步骤:1.创建一个新的Nios II IDE工程.2.设定Nios II 软件工程库.3.建立并运行Nios II 软件工程.这些步骤在接下来的章节中被详细描述.创建一个新的Nios II IDE工程在这个章节中你将要使用一个软件模板来创建一个新的Nios II IDE工程。执行以下步骤:1.选择Programs Altera Nios II Development Kit Nios II IDE (Windows 开始菜单).2.选择 New C/C+ Application (File menu). The first page ofNew Project wizard opens. 在 Project Template(工程模板)选择中, 选择 the MicroC/OS-II Tutorial.3.工程名与工程路径已为你自动填好,请保留这些默认值。4.Click Browse under Select Target Hardware(单击浏览选择目标硬件).5.浏览你正在使用的Nios扩展板的标准例程目录,例如:examplesstandard directory(标准目录), 为以下各项中的一个 : NiosII_StratixII_2S60_ES for the Stratix EP2S60ES board NiosII_Stratix_1S10 for the Stratix EP1S10 board NiosII_Stratix_1S10_ES for the Stratix EP1S10ES board NiosII_Cyclone_1C20 for the Cyclone EP1C20 board NiosII_Stratix_1S40 for the Stratix EP1S40 board6.选择std_.ptf文件。7.单击Open。你返回到New Project.如图12所示,SOPC Builder系统框下Select Target Hardware栏中包含的指向标准设计例程.ptf文件的路径。另外CPU栏包含在SOPC Builder示例系统中的CPU的名称。图12. New Project Wizard Page 18.单击Next至New Project第二页。9. 开启Select or create a system library选项。10.单击New System Library Project打开系统库页面。见图13。图 13. New System Library Dialog Box11.在Name栏中输入std_system_lib12.在Select Type of system library栏中选择MicroC/OS-II。13.单击Finish返回New Project。见图1-4图 14. New Project Wizard Page 214.单击Finish完成你的新工程的创建。该范例创建了两个工程在C/C+ Projects视图中,如图1-5所示。图 15. C/C+ Projects Nios II device drivers (niosII设备驱动程序)MicroC/OS-II system library for the standard hardware (用于标准硬件的MicroC/OS-II system library)Application project (应用设计)系统库设定通常,在你创建了一个新的系统库以后你必须设定它,例如定义stdin, stdout, stderr,等。参见Nios II Software Development Tutorial在线支持将有详细叙述。在这个指南中你必须设定MicroC/OS-II。在设置期间Nios II IDE保存适配参数到os_cfg.h文件中。执行以下步骤设定MicroC/OS-II核。1. 在Nios II IDE的C/C+ Projects视图中,右键在系统库上单击std_system_lib。2. 在弹出的菜单中选择Properties打开Properties对话框。3. 单击System Library显示system library选项,如图16所示。图 16. System Library Options4.单击在RTOS 下面的RTOS Options。弹出MicroC/OS-II RTOS Options对话框,如图17所示。图 17. MicroC/OS-II RTOS Options5.单击“”在在左边的面板中,展开MicroC/OS-II目录。MicroC/OS-II是高度可设定的。你选定的对话框中的选项被保存在os_cfg.h文件中。选定的MicroC/OS-II选项被包含在二进制映射中。通过单击MicroC/OS-II下每一个选项检查你所能选择的选项。关于MicroC/OS-II 的各种详细特点,请参见Nios II Software Developers Handbook的“MicroC/OS-II Real Time Operating System”章节。6.选择默认设置单击OK。你将返回系统库选项对话框。7.单击OK完成设置。 你已经完成了系统库设定准备构造和运行在以下章节中所描述的示例。关于详细叙述如何构建和运行Nios II IDE,请参见在线Nios II Software Development Tutorial。构建和运行Nios II软件设计在这一部分,你将要在扩展板上运行一个设计示例。使用Nios II IDE,你将要创建一个应用程序,为扩展板设定一个合法的目标文件(.sof),并且下载执行与连接文件(.elf)1.在Nios II IDE的 C/C+ Projects视图中,选择ucosii_tutorial_0工程。2.打开Quartus II程序选择Quartus II Programmer (Tools menu中)。见图18。图18Quartus II Programmer3. 选择 Open (File menu中).选择standard.sof如图19所示。图 19. Open Dialog Box5.单击Open你会返回Quartus II程序。6.检查Program/Configure选项。7.单击Start将SOF与扩展板上的FPGA适配。8.选择Exit (File menu中)关闭Quartus II程序。你将返回Nios II IDE。9.如果你被问及是否想保存chain1.cdf文件单击No。10.选择Run As Nios II Hardware (Run menu中)创建程序,下载它到扩展板中并运行。关于Nios II IDE创建和运行设置,参见在Nios II IDE 中的在线帮助Nios II Software Development Tutorial下载完成后,Nios II IDE通过print_status_task()函数使控制台视图周期性更新,如下所示:*Hello From MicroC/OS-II Running on Nios II. Here is the status:The number of messages sent by the send_task: 39The number of messages received by the receive_task1: 10The number of messages received by the receive_task2: 3The shared resource is owned by: getsem_task2The Number of times getsem_task1 acquired the semaphore 30The Number of times getsem_task2 acquired the semaphore 24*祝贺你成功地设定,构建和运行了一个MicroC/OS-II程序为了详细了解这个指南,你能查阅ucosii_tutorial.c.文件资源。MicroC/OS-II 的完全参考参见“MicroC/OS-II Nios II Software Developers Handboo.的“Real Time Operating System” 章节。
展开阅读全文