在niosII上使用操作系统课件

上传人:我*** 文档编号:141543357 上传时间:2020-08-09 格式:PPT 页数:55 大小:1.09MB
返回 下载 相关 举报
在niosII上使用操作系统课件_第1页
第1页 / 共55页
在niosII上使用操作系统课件_第2页
第2页 / 共55页
在niosII上使用操作系统课件_第3页
第3页 / 共55页
在niosII上使用操作系统课件_第4页
第4页 / 共55页
在niosII上使用操作系统课件_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《在niosII上使用操作系统课件》由会员分享,可在线阅读,更多相关《在niosII上使用操作系统课件(55页珍藏版)》请在金锄头文库上搜索。

1、7.1. Cos简介 7.2. Cos on Nios 7.3. Cos的结构 7.4. Cos的配置 7.5. LwIP 7.6. LwIP on Nios 7.7. LwIP的配置 7.8. LwIP的使用,第七章(上)、在nios上运行Cos,基于软核技术的嵌入式系统设计与实践 ,7.1. Cos简介,Cos是由Micrium公司开发的一款可移植、可固化、可裁剪、占先式多任务实时操作系统内核。 自Cos发布以来,已经得到了40多种结构处理器的支持和移植。 Altera公司已经在NiosII软核处理器上移植Cos ,并将Cos整合到Altera的Nios Develop Kits 中。,第

2、七章、在nios上运行uCos,Cos内核提供的服务包括: 任务管理 (Tasks) 内存块管理(Memory Management) 时间管理 (Time Management) 消息邮箱和队列 (Message Passing) 信号量 (Semaphores) 事件标识 (Event flags),7.1. uCos简介,7.2. Cos on Nios,Altera公司已经在NiosII软核处理器上移植Cos ,并将Cos整合到Altera的Nios Develop Kits 中。 在Altera的Nios Development Kits中,提供了一组已经编译测试通过的Cos例程,供

3、用户参考,并可作为基本的Cos程序框架使用。 Altera的Cos on Nios移植以Easy to use为目标,将Cos的开发整合到Nios IDE中,提供了图形界面来完成Cos的配置和开发,无需再手工修改OS_CFG.h文件。,第七章、在nios上运行uCos,NiosII软核相关的代码 /components/altera_nios/UCOSII NiosII软核无关的代码 /components/micrium_uc_osii 在Nios IDE中, Cos的使用方法类似Nios处理器的外设驱动。在IDE中,Project被指定支持Cos组件,相应的Cos头文件和元代码就会被包含到

4、Project的路径中,使Cos能够被编译并链接到Project中。,7.2. uCos on Nios,7.3. Cos的结构,Altera的Cos本质上是Nios HAL的一个超集。是Cos任务调度器和相关API函数在HAL环境上的扩展。 在Cos Project中,所有的Nios HAL API都可以同样使用。,HAL API,User Program,C Standard Library,MicroC/OS-II API,Nios II Processor System Hardware,Device Driver,Device Driver,Device Driver,第七章、在ni

5、os上运行uCos,7.4. Cos的配置,a. 在Nios IDE 中新建工程,并选择Hello MicroC/OS-II为模板,新建的工程和对应的系统库对MicroC/OS-II的相应配置都已经选择上。接着以此Hello MicroC/OS-II工程为基础开发应用程序。 b. 新建好工程和对应的系统库,在系统库上点击右键选择Properties进入属性设置界面,在属性设置页面RTOS选项选择MicroC/OS-II并通过RTOS Options对MicroC/OS-II的具体属性做进一步的选择。,第七章、在nios上运行uCos,Altera的uCos本质上是Nios HAL的一个超集。是

6、uCos任务调度器和相关API函数在HAL环境上的扩展。 在uCos Project中,所有的Nios HAL API都可以同样使用。,7.4. uCos的配置,通过RTOS Options选项对MicroC/OS-II的属性做进一步选择。,7.4. uCos的配置,7. 5. LwIP,LwIP是一个轻量级的TCP/IP协议栈实现,其实现目的在于用最小的资源提供完整的TCP/IP协议功能,LwIP适合内存资源紧凑的嵌入式系统,同样也适合于NiosII系统。 LwIP提供了完成的TCP/IP协议功能,支持IP,ICMP,UDP,TCP,DHCP,ARP。 实现了标准的sockets API接口

7、。,第七章、在nios上运行uCos,7.6. LwIP on Nios,Altera提供了LwIP在Nios上的移植,并将LwIP整合到了Nios Development Kits中,在Altera的移植中,同样向上层开发者提供了标准的Sockets API接口。 实现了标准的sockets API接口。 在Altera的Nios Development Kits中,提供了一组已经编译测试通过的LwIP例程,供用户参考,并可作为基本的LwIP程序框架使用。,第七章、在nios上运行uCos,Altera在Nios上的LwIP移植基于uCos的多任务环境,在Nios IDE中开发LwIP应用程

8、序需要工程首先配置为支持MicroC/OS-II。 目前Nios上的LwIP支持的网络芯片为SMSC的LAN91C111。 在Altera的Nios Development Kits中,提供了一组已经编译测试通过的LwIP例程,供用户参考,并可作为基本的LwIP程序框架使用。,7.6. LwIP on Nios,7.7. LwIP的配置,a. 在Nios IDE 中新建工程,并选择Simple Socket Server为模板,新建的工程和对应的系统库对MicroC/OS-II和LwIP的相应配置都已经选择上。接着以此工程为基础开发基于LwIP的应用程序。 b. 新建好工程和对应的系统库,在系

9、统库上点击右键选择Properties进入属性设置界面,在属性设置页面RTOS选项选择MicroC/OS-II。,第七章、在nios上运行uCos,Altera的uCos本质上是Nios HAL的一个超集。是uCos任务调度器和相关API函数在HAL环境上的扩展。 在uCos Project中,所有的Nios HAL API都可以同样使用。,7.7. LwIP的配置,通过Software Components页面对LwIP的属性做进一步选择。,7.7. LwIP的配置,7.8. LwIP的使用,LwIP向上层提供了Standard Sockets接口,在Nios+MicroC/OSII+LwI

10、P这个环境下编写Socket程序和在Unix,Windows环境下调用Socket接口编程是一样的,只是需要注意如下两点区别。,第三章、在nios上运行uClinux,1. 在MicroC/OS-II启动OSStart()函数进入多任务状态之前,调用如下两个函数完成网络接口的初始化。 lwip_stack_init( ) lwip_devices_init( ) 2. 实现下列三个函数,以便LwIP获得正确的信息启动协议栈。 init_done_func( ) get_mac_addr( ) get_ip_addr( ),7.8. LwIP的使用,void lwip_stack_init(in

11、t thread_prio, void (* init_done_func)(void *), void *arg) thread_prio主TCP/IP线程的优先级。 init_done_funclwip_stack_init函数执行完成后就转向执行这个指针指向的函数。 arg传递给init_done_func( )的参数指针,视init_done_fnuc( )而定,通常置为0。 执行TCP/IP协议栈的初始化并转向init_done_fnuc( ),7.8. LwIP的使用,void init_done_func(void* arg) 调用lwip_devices_init( ); 初始

12、化网络设备; 调用get_mac_addr( ); 调用get_ip_address( ); 创建一个任务执行用户Socket程序。 用户实现get_mac_addr()和get_ip_address();,7.8. LwIP的使用,谢 谢!,计算机与信息技术学院,7.9. Clinux发行包简介和安装 7.10.内核的实现 7.11.文件系统的实现 7.12.运行Clinux 7.13.用户应用程序实现 7.14.定制Clibc 7.15.定制busybox,第七章(下)、在nios上运行Clinux,基于软核技术的嵌入式系统设计与实践 ,7.9. uClinux发行包简介,本课程中使用的是

13、Microtronix公司负责维护和发行的Nios Clinux版本Microtronix Nios II Linux Distribution V1.4,这个版本中,Clinux是2.6.11的内核,这也是目前在Nios上运行的最稳定的Clinux内核版本。 Microtronix Nios II Linux Distribution V1.4发行包可以在和上下载,如果要在产品中使用Microtronix公司的Linux,请详细阅读上的授权细则。,第七章、在nios上运行uClinux,安装完成后启动Nios IDE开发环境,选择菜单FileNewProject进入新建项目窗口。如果安装顺利

14、,这个时候应该在窗口中看到出现了新的选项Microtronix Nios,7.9. uClinux 发行包简介,如果没有出现Microtronix Nios II选项,请关闭Nios IDE,进入Window 命令行窗。 从命令行进入Nios IDE的安装目录 (altera安装目录)kitsnios2bineclipse,并在命令行下以参数-clean模式启动Nios IDE,即键入命令 nios2-ide -clean 这时候,进入新建工程窗口,就能看到刚安装的Microtronix选项。退出以后再次进入Nios IDE也不会再有找不到Microtronix选项的问题。,7.9. uCli

15、nux 发行包简介,在Microtronix的发行包把Nios上的uClinux实现分成了三个部分,Kernel,Filesystem,Application。利用Microtronix的发行包提供的三种选项,单独实现并完成这三个部分的配置和开发,并通过Altera的Flash Programmer将三个部分写入到flash芯片中,从而实现Clinux操作系统在Nios软核上的自动启动运行。 和在一个传统的嵌入式系统上开发Clinux/Linux系统不同的是,在nios上实现Clinux,不再需要单独的引导装载程序。,7.9. uClinux 发行包简介,7.10.内核的实现,在Microtr

16、onix公司的Clinux发行包中,已经将Clinux整合到了NiosII IDE中,因此,在Nios II上实现Clinx,无需再单独安装Cygwin或者Red Hat Linux这样的开发环境,也无需再配置开发工具链。 内核,文件系统,应用程序的编译下载都在Nios IDE和Nios SDK Shell下完成。,第七章、在nios上运行uClinux,1.新建一个Microtronix kernel Project。 2.为内核工程命名并指定保存路径。,7.10. 内核的实现,3.指定目标硬件的PTF文件。 4.指定写入和运行内核的存储器设备。,7.10. 内核的实现,5.进入内核配置页面配置内核。,7.10. 内核的实现,b. nios安装目录下的example文件夹中的nios系统都没有CF卡接口,如果使用这些nios系统运行Clinux,需要将ATA/ATAPI/MFM/RLL支持去掉。如果使用的是Microtronix公司网站上提供的带有CF卡接口的ni

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号