设为首页收藏本站

网络分析论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 59515|回复: 11

原创:ISOS引导

  [复制链接]
sheepdouli 发表于 2007-10-19 11:23 | 显示全部楼层 |阅读模式
ISOS引导过程在不同的网络处理器上有所不同,这里以科胜讯公司的Argon330网络处理器作为介绍。 Argon330作为xDSL设备的主芯片,集成了两片ARM7 RISC处理核、一块xDSL DSP和10/100M Ethernet MAC。

Argon330系统芯片结合ISOS软件可以支持各种SOHO应用:
l        单用户ETHERNET DSL MODEM[22,23]
l        ETHERNET DSL Router[22,23]
l        xDSL switched Ethernet Router[22,23]
l        xDSL Wireless Router[22,23]
l        xDSL IAD (VoIP或VoDSL) [22,23]
Argon330作为系统级芯片集成了两片ARM7处理器,分别称为网络处理器NP(Network Processor)和协议处理器PP(Protocol Process)。专用的NP处理器拥有自己私有的16K字节内存SRAM,NP负责处理设备所有的网络端口及其相关的硬件。它主要任务是将接收到的信元组装成帧格式,并传送到外部的SDRAM中;或者取出SDRAM中的帧,并在各个网络端口上发送出去。NP还必须监控网络端口的状态,及时响应接收的数据以避免缓冲区溢出。
PP处理器有8K字节cache,适合运行规模较大的程序。PP无法直接访问网络端口,但是可以通过共享SDRAM和NP交换数据。PP主要任务是
Ø        创建或关闭网络连接
Ø        从共享SDRAM中接收NP交换过来的帧数据
Ø        数据由一种协议类型转换为另一种协议
Ø        将数据通过共享SDRAM传回NP,由NP传送出去
Argon330引导过程最终目标是让NP和PP处理器运行最终的run-time image。Run-time image可以来自于:
Ø        flash设备,最终的产品含有flash,ISOS编译成的image存放在该设备上。
Ø        网络,在产品的开发过程中,运行的程序可以通过网络从主机上下载获得。
Argon330芯片内部集成2K字节的On-chip Boot ROM,它含有引导代码,用于在开机或重启时初始化芯片。On-chip Boot ROM代码由NP处理器装载到其私有的SRAM中执行,整个过程对用户是完全透明的,无需用户配置。On-chip Boot ROM可以直接访问EEPROM,FLASH或UART设备,从这些设备上装载并进入更高级阶段的引导代码。后者可以通过USB或ETHERNET接口装载ISOS image。Argon330引导机制的设计允许通过上述两个接口下载所有运行在芯片上的代码。
这里大致描述一下在最终产品上从FLASH设备引导流程:
1.        On-chip Boot ROM配置GPIO12-14作为EPB(External Peripheral Bus,外围设备总线)总线用
2.        检测8位,16位或32位FLASH设备是否存在
3.        从FLASH设备上读取第一个word字并检查该word值是否在1到4096范围
4.        从FLASH设备上读取以word为单位,长度为第一个读取的word值的代码进入NP私有的SRAM中,校验checksum值是否正确
5.        NP执行SRAM中装载的代码(这些代码称为NP引导代码)
6.        如果上述任何步骤失败,UART会打印提示信息
7.        NP引导代码负责初始化UART,Trap Vector和Stack,之后初始化并检测SDRAM
8.        NP引导代码从FLASH中读取第一个word字,该word值事实上是NP引导代码的长度(以word为单位),也可以用于计算FLASH设备下一个image(称为PP引导代码)的地址
9.        NP引导代码装载PP引导代码进入SDRAM起始位置
10.        给PP处理器发出复位信号,PP开始执行PP引导代码。NP等待PP提供NP run-time image地址
11.        只有运行在PP处理器上的PP引导代码能够识别FLASH文件系统
12.        PP引导代码执行部分PP处理器初始化动作,比如设置处理器模式,关闭中断,设置陷阱,初始化cache和MMU等。
13.        从FLASH设备config.bin配置空间中读取配置信息
14.        如果config.bin中没有配置从网络引导,PP引导代码检查FLASH设备上是否存在一个有效的FLASH文件系统
15.        如果文件系统存在,PP引导代码寻找两个文件:NPimage(NP run-time image)和image(PP run-time image)
16.        如果两个image文件均有效,PP会在共享SDRAM中传递NP run-time image文件的地址和大小,并通知NP引导程序将NP run-time image装载进SRAM中
17.        在SDRAM中创建ISFS文件系统,将FLASH文件系统主分区中的所有文件拷贝到ISFS中
18.        解压缩PP run-time image,并将它拷贝到SDRAM的起始地址。程序执行跳转到该入口
19.        此时,NP和PP处理器均运行各自的run-time image,引导流程结束
superliush 发表于 2008-2-14 15:07 | 显示全部楼层
学习
superliush 发表于 2008-2-14 15:09 | 显示全部楼层
楼主您好,我想跟您学习一下isos,能留个联系方式吗?
我的qq:51089701
email:superliush@yahoo.com.cn
abcdaaaa 发表于 2008-3-17 21:04 | 显示全部楼层
不错
凤凰 发表于 2008-4-19 15:50 | 显示全部楼层
学习了,高手啊
zhongjianguo 发表于 2008-6-13 11:42 | 显示全部楼层
dddddddddddddddd
彽調華郦 发表于 2009-11-5 14:53 | 显示全部楼层
我也推、推、推,不动啊,哈哈,怎么办呢
爱的好辛 发表于 2009-11-7 20:53 | 显示全部楼层
看看再说。。。。。。。。。。。。。。
星飛夢远 发表于 2011-4-9 13:41 | 显示全部楼层
路过看看了!!!!
失眠旳情绪 发表于 2011-6-3 20:43 | 显示全部楼层
路过看看了!!
aoshengnvs 发表于 2015-6-1 14:34 | 显示全部楼层
大家什么看法?我先支持

Archiver|手机版|小黑屋|网络分析论坛 ( 京ICP备05002225  

GMT+8, 2020-8-6 06:39 , Processed in 1.109375 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2014 协议分析论坛

快速回复 返回顶部 返回列表