在redboot中中加入以太网支持的通用方法

串口转以太网使用方法 串口转以太网 阅读详情

在redboot中中加入以太网支持的通用方法

早年写的笔记,压箱底了,翻出来晒晒


目          录

在redboot中加入以太网支持的通用方法... 1

1. 在redboot中加入以太网支持的步骤... 1

1.1. 加入phy芯片ID支持... 1

1.2.配置网口和phy端口... 2

2.phy芯片ID的确定... 2

3. 网口和phy端口的确定... 3

3.1. 网口的确定... 3

3.2. phy端口的确定... 3

3.3. 正确驱动phy芯片... 3

摸索和实践... 4

新P720的网口问题... 4

P780的phy. 7

 

1. 在redboot中加入以太网支持的步骤

移植redboot,除了主要的系统能够运行起来意外,通常需要驱动网卡。而IXP425的网卡通常就是NPE-B和NPE-C。这部分的驱动集成方法在前面已经讲述过了。下面主要是讲述phy的驱动和IXP网口的配合问题。

(07版的redboot两个文件的位置在/packages/devs/eth/intel/npe/ethMii/current/src/)

1.1. 加入phy芯片ID支持

在IxEthMii.c的ixEthMiiPhyPresent()函数中加入新的phyID支持

 

找到如下代码,加入红色部分:

        if((ixEthMiiPhyId[phyId] == IX_ETH_MII_KS8995_PHY_ID)

         || (ixEthMiiPhyId[phyId] ==IX_ETH_MII_KS8721B_PHY_ID)

        || (ixEthMiiPhyId[phyId] ==IX_ETH_MII_LXT971_PHY_ID)

        || (ixEthMiiPhyId[phyId] ==IX_ETH_MII_LXT972_PHY_ID)

        || (ixEthMiiPhyId[phyId] ==IX_ETH_MII_LXT973_PHY_ID)

        || (ixEthMiiPhyId[phyId] ==IX_ETH_MII_LXT973A3_PHY_ID)

         ||(ixEthMiiPhyId[phyId] == IX_ETH_MII_LXT9785_PHY_ID))

 

在IxEthMii_p.h中

       找到如下代码加入红色部分

#defineIX_ETH_MII_LXT973_PHY_ID   0x00137A10

#defineIX_ETH_MII_KS8995_PHY_ID   0x00221450

#defineIX_ETH_MII_KS8721B_PHY_ID   0x00221619

 

其中KS8721B是芯片的名字,这个可以在板子上找到,不同的板子芯片不太一样,但是方法是一样的。0x00221619这phy芯片的ID,可以查找data sheet。如果找不到data sheet,也可以用code读取出来,后面有讲述。

       在070302版redboot实验中,如果没有正确加入phy id,会有报错,但是只要网口和phy端口配置正确,一样可以ping通,没有什么大的影响。

1.2.配置网口和phy端口

网口和phy端口的定义在packages/devs/eth/arm/ixdp425/npe/current/include/ixdp425_npe.inl。

下面两个宏定义是确定phy端口:

#defineCYGNUM_ETH0_PHY_NO    0

#defineCYGNUM_ETH1_PHY_NO    1

       含义是ETH0,也就是NPE-B用的phy端口是0号,而ETH1,也就是NPE-C用的phy端口是1号。实际上每个板子不相同。以P720板为例,使用的是NPE-B,PHY_NO为1,所以必须修改如下才能正常启动。

 

//#defineCYGNUM_ETH0_PHY_NO    0

#defineCYGNUM_ETH0_PHY_NO    1

 

       又以P780为例,使用的是NPE-C,phy端口是0号,那么必须修改如下:

//#defineCYGNUM_ETH1_PHY_NO    1

#defineCYGNUM_ETH1_PHY_NO    0

加入#defineCYGPKG_DEVS_ETH_ARM_IXDP425_NPE_ETH1也可以,不加入也没关系,redboot当中的fconfig有配置。

 

另外如果板子上没有eeprom存储mac,需要在/ixdp425_npe.inl 里加入下面定义:

#define CYGPKG_DEVS_ETH_INTEL_NPE_REDBOOT_HOLDS_ESA

不然redboot就会试图从eeprom读取信息,就会失败。

2.phy芯片ID的确定

       找data sheet肯定没错,但是这个其实很简单,可以先什么都不改,然后用redboot启动盒子。如果代码里面没有改动IxEthMii_p.h和IxEthMii.c,那么redboot运行的时候会报错:

[error]ixEthMiiPhyScan : unexpected Mii PHY1 ID 00221619

从打印的语句就知道这个PHY的id是0x00221619了,然后加到代码里就可以了。这个打印语句在IxEthMii.c的ixEthMiiPhyPresent()函数里。读出0x00221619之类的数字,通常就是正确的,而且不放心的话可以google 0x00221619这个数字,肯定就能查找到和KS8721B相关的内容了。如果读出来的是0xffff或者0x0之类的数字,那就是读取失败了。可能硬件上有什么问题了。

 

3. 网口和phy端口的确定

3.1. 网口的确定

网口和phy端口的确定最好是能找到硬件电路图,或者找到电路板的设计师。但是通常不太可能。好在IXP425一共也就3个网口NPE-B, NPE-C, NPE-A。NPE-A一般不使用,所以不用试。在redboot启动时使用的几只能是NPE-B和NPE-C。如果使用NPE-B那么在fconfig里面设置的启动网口就是npe_eth0, 而NPE-C对应的是npe_eth1。可以两个都尝试一下,能通的就行了。另外如果板子以前上面有bootloader或者linux,可以看看配置的是eth0还是eth1也可以帮助确定。

 

3.2. phy端口的确定

       这个比较麻烦,没有电路图或者找到电路板设计师,基本上靠猜。而且phy的data sheet不一定能找到,像bcm5221A,只能找到product brief。这里又分两种情况:单端口phy和多端口phy。这里又分两种情况:单端口phy和多端口phy。不管怎么样,首先去查阅data sheet,找不到data sheet至少能找到product brief,看看到底是单端口phy还是多端口phy。

单端口phy很简单,phy no不是0就是1,最多两下就试出来了,这个因为有的芯片的phy no从0算,有的从1算。比如Kendin芯片,通常是从1开始,而BCM是0。多端口的phy只能看data sheet,到底有多少个phy port,从0还是1开始,然后一个个的试。

 

3.3. 正确驱动phy芯片

       不管phy的端口(phy no)是不是被正确设置,phy都能正确读取和设置寄存器,发送数据显示也是正常的,只不过不能真正的将数据包发送出去而已,也不能接收数据。

       正确驱动有几个标志:

1.     正确读取phy id。

IxEthMii.c的ixEthMiiPhyPresent()能读出正常的数值就可以了,不管是不是unexpectedMii PHY1。

2.     正确读取状态

在/packages/devs/eth/intel/npe/common/current/src/if_npe.c中加入#define DEBUG,redboot启动的时候会加入以太网状态的信息,显示如下;

 

Wait for PHY 0to be ready ...

PHY 0configuration:

PHY Status:

    Link is Up

    Auto Negotiation Completed

PHYConfiguration:

    Speed 100Mb/s

    Full Duplex

    Auto Negotiation Enabled

 

       如果有如上的信息显示,说明phy芯片已经正确的驱动了。在070320的redboot里,打开debug之后,发送数据包会有显示:

npe_tx_callback:m[156240] data[1555c0] len[6a]

npe_rx_callback:m[155440] data[153b40] len[6a]

npe_send: m[1562a0] data[155c00] len[106]

npe_tx_callback:m[1562a0] data[155c00] len[6a]

npe_rx_callback:m[1554a0]data[154180] len[6a]

npe_rx_callback:m[155500] data[1547c0] len[3c]

npe_send:m[156240] data[1555c0]len[106]

npe_tx_callback:m[156240] data[1555c0] len[6a]

npe_rx_callback:m[155560] data[154e00] len[6a]

npe_send: m[1562a0] data[155c00] len[106]

 

但是即使有发送数据包的正确显示,也不能表明数据包能正确发送出去。因为phy no可能没有正确的设置。

 

摸索和实践

新P720的网口问题

如果按照“在IX425DP上安装redboot”上的方法去做,在新P720上会出现如下错误:

RedBoot> DB:(FeatureScan) NpeDl did not provide the image ID for NPE port 0

DB:(FeatureScan) NpeDl did not provide the image ID for NPE port 1

[warning]ixEthAccQMgrQueuesConfig: no queues configured, bailing out

[warning]ixEthAccInit: queue config failed

Errorinitialising Ethernet access driver!

No networkinterfaces found

 

NpeDl did notprovide the image ID for NPE在IxEthDBFeatures.c里面。

(packages/devs/eth/intel/npe/ethDB/current/src/IxEthDBFeatures.c)

 

ixNpeDlLoadedImageGet里面加入判断语句,使用ram redboot的方法调试,打印结果如下:

RedBoot> go-w 1 0x00100040

About to startexecution at 0x00100040 - abort with ^C within 1 seconds

ixNpeDlLoadedImageGet:ln10, Entering

ixNpeDlLoadedImageGet:ln60, not validImage

ixNpeDlLoadedImageGet:ln80:Exiting ixNpeDlLoadedImageGet : status = 80

DB:(FeatureScan) NpeDl did not provide the image ID for NPE port 0

ixNpeDlLoadedImageGet:ln10, Entering

ixNpeDlLoadedImageGet:ln60, not validImage

ixNpeDlLoadedImageGet:ln80:Exiting ixNpeDlLoadedImageGet : status = 80

DB:(FeatureScan) NpeDl did not provide the image ID for NPE port 1

[warning]ixEthAccQMgrQueuesConfig: no queues configured, bailing out

[warning]ixEthAccInit: queue config failed

Errorinitialising Ethernet access driver!

No networkinterfaces found

 

RedBoot(tm)bootstrap and debug environment [RAM]

Red Hatcertified release, version 2.02 - built 22:52:13, Sep  1 2009

从ln60, not validImage看来是ixNpeDlNpeState[npeId].validImage的问题了。试试旧的P720, 显示如下:

 

RedBoot> load-v redboot_ram.srec

Using defaultprotocol (TFTP)

Entry point:0x00100040, address range: 0x00100000-0x0014c284

RedBoot> go-w 1 0x00100040

About to startexecution at 0x00100040 - abort with ^C within 1 seconds

ixNpeDlLoadedImageGet:ln10, Entering

ixNpeDlLoadedImageGet:ln50, validImage

ixNpeDlLoadedImageGet:ln80:Exiting ixNpeDlLoadedImageGet : status = 80

ixNpeDlLoadedImageGet:ln10, Entering

ixNpeDlLoadedImageGet:ln50, validImage

ixNpeDlLoadedImageGet:ln80:Exiting ixNpeDlLoadedImageGet : status = 80

 

TryingNPE-B...success. Using NPE-B with PHY 1.

 

很明显,老的板子认为image是好的。validImage的原始值是0,检查全部代码,在两个赋值的地方检查一下,看看到底是哪个地方将validImage改为true了。

 

RedBoot> go-w 1 0x00100040

About to startexecution at 0x00100040 - abort with ^C within 1 seconds

ixNpeDlNpeInitAndStartInternal:ln10, ixNpeDlNpeMgrImageLoad ok

ixNpeDlNpeInitAndStartInternal:ln10, ixNpeDlNpeMgrImageLoad ok

ixNpeDlLoadedImageGet:ln10, Entering

ixNpeDlLoadedImageGet:ln50, validImage

ixNpeDlLoadedImageGet:ln80:Exiting ixNpeDlLoadedImageGet : status = 80

ixNpeDlLoadedImageGet:ln10, Entering

ixNpeDlLoadedImageGet:ln50, validImage

ixNpeDlLoadedImageGet:ln80:Exiting ixNpeDlLoadedImageGet : status = 80

 

原来使用的是ixNpeDlNpeInitAndStartInternal函数。

 

使用新板子测试:

RedBoot> go-w 1 0x00100040

About to startexecution at 0x00100040 - abort with ^C within 1 seconds

 

ixNpeDlLoadedImageGet:ln10, Entering

ixNpeDlLoadedImageGet:ln60, not validImage

ixNpeDlLoadedImageGet:ln80:Exiting ixNpeDlLoadedImageGet : status = 80

DB: (FeatureScan)NpeDl did not provide the image ID for NPE port 0

ixNpeDlLoadedImageGet:ln10, Entering

ixNpeDlLoadedImageGet:ln60, not validImage

ixNpeDlLoadedImageGet:ln80:Exiting ixNpeDlLoadedImageGet : status = 80

DB:(FeatureScan) NpeDl did not provide the image ID for NPE port 1

[warning]ixEthAccQMgrQueuesConfig: no queues configured, bailing out

[warning]ixEthAccInit: queue config failed

Errorinitialising Ethernet access driver!

No networkinterfaces found

 

新板子根本就没有进入loadimage的函数。再查看,连上级函数都没有进入。

源代码如下:

    if (npe_used[IX_ETH_PORT_1] &&npe_exists[IX_ETH_PORT_1] &&

ixNpeDlNpeInitAndStart(IX_NPEDL_NPEIMAGE_NPEB_ETH_LEARN_FILTER_SPAN_FIREWALL_VLAN_QOS)!= IX_SUCCESS) {

       diag_printf("Errordownloading firmware to NPE-B!\n");

       return0;

    }

 

在npe_csr_load里面进行打印。

 

npe_csr_load:ln10, initialising queue manager ok

npe_csr_load:ln20, initialising NPE Message handler ok

npe_csr_load:ln30, downloading firmware to NPE-B ok

npe_csr_load:ln40, downloading firmware to NPE-c ok

ixNpeDlLoadedImageGet:ln10, Entering

ixNpeDlLoadedImageGet:ln60, not validImage

 

这个比较奇怪了,实际上在if语句里面前面两个值打印出来如下:

npe_used[IX_ETH_PORT_1] = 1

npe_exists[IX_ETH_PORT_1] = 0

 

应该是系统优化了,因为发现npe_exists[IX_ETH_PORT_1] = 0,就根本没有执行后面的函数。强行改了算了,因为NPE-B肯定存在的。再次测试,没有问题。

 

P780的phy

       在定义了CYGPKG_DEVS_ETH_INTEL_NPE_REDBOOT_HOLDS_ESA之后,因为没有意识到phy no的问题,显示如下:

npe_csr_load

 

TryingNPE-C...npe_init: ln15, p_npe->phy_no = 1

phy_present:ln20, phy_scanned[phyno] = 0

ixEthMiiPhyPresent:ln10, enter

ixEthMiiPhyPresent:ln20, go

ixEthMiiPhyPresent:ln80, IX_SUCCESS

npe_init: ln20,NPE_PHY_GROUP,  no PHY present

no PHY found

TryingNPE-B...npe_init: ln15, p_npe->phy_no = 0

phy_present:ln20, phy_scanned[phyno] = 0

ixEthMiiPhyPresent:ln10, enter

ixEthMiiPhyPresent:ln20, go

ixEthMiiPhyPresent:ln30, go

ixEthMiiPhyPresent:ln10, ixEthMiiPhyId[phyId] = 4061e4

ixEthMiiPhyPresent:ln80, IX_SUCCESS

Wait for PHY 0to be ready ...success.

 

PHY 0configuration:

PHY ID[phyAddr]: 004061e4

 Status reg: 782d

 control reg: 1000

PHY Status:

    Link is Up

    Auto Negotiation Completed

PHYConfiguration:

    Speed 100Mb/s

    Full Duplex

    Auto Negotiation Enabled

phy for NPE-Bfound!

success. UsingNPE-B with PHY 0.

npe_start: ln11,enter

npe_send:m[156240] data[1555c0]len[42]

npe_tx_callback:m[156240] data[1555c0]len[2a]

 

 

 

       这个看起来是已经成功启动了网卡,但是发送的时候打印如下,却没有真正发送出数据包。

npe_start: ln11,enter

npe_send:m[156240] data[1555c0]len[42]

npe_tx_callback:m[156240] data[1555c0]len[2a]

npe_send: m[1562a0] data[155c00] len[42]

npe_tx_callback:m[1562a0] data[155c00] len[2a]

 

       经过试验,发现是因为port no没有设置正确的原因。修改

//#defineCYGNUM_ETH1_PHY_NO    1

#defineCYGNUM_ETH1_PHY_NO    0

       再次试验,正确设置好fconfig的启动网卡为npe_eth1,网口完全通了。

 

 

Linux ARM平台开发系列讲解(网络篇)1.5 MDIO总线设备phy driver中phy ID的定义 中的定义又与有所不同,需要开发者自行定义,然后设备会自动去匹配设备,具体匹配流程可以看前几章节,这里就不扩展了。由于中需要手动去定义,所以需要用户去仔细查看数据手册并填写进去,这样和才会匹配成功,具体设置就是在初始化时,对进行赋值,具体方法如下:以设备 为例 源码路径: 返回总目录... 阅读详情

相关推荐

离线安装WSL2系统

由于办公环境在内网环境中,需将开发环境部署到内网中。环境:内网:win10。

qq_40224400的博客 3511

Linux 网络驱动 phy 读写寄存器调试方法

Linux 网络 phy 调试方法 目前嵌入式芯片支持双网卡的有很多。在调试网络驱动时,需要通过mdc 和mdio信号对phy的寄存器进行操作调试。如果每次调试都修改网络驱动的话会很麻烦。下面提供我常用的网络驱动调试方法 在驱动层,设备树绑定mac与mdio总线的关系。 在Linux应用层,编写测试程序mdio 。代码如下: 如果是写寄存器操作,就传入四个参数./mdio ethX phyId addr value.。 ethX 表示是哪个网卡,如eth0 eth1 。 phyId是 ...

Eric.Xi 6249

LabView实现modbus通讯

labview实现modbus通讯

Lrj的博客 7663

linux redhat联网

关于虚拟机连接外网的桥接几个简单步骤 打开虚拟机>>编辑>>虚拟网络编辑器 打开后看到几个虚拟网卡,默认是VMnet0,这里大家可以选择固定的网卡进行配置,我用默认,我使用的是无线网卡Intel(R) Wireless-AC 9560..完成点击确定 查看自己连接外网的网卡,我连接的是wifi,所以选择无线网卡,大家可以根据自己的实际情况而定 然后到虚拟机的配置,网络适配器>>桥接模式,确定 到虚拟机的图形界面配置,点击左下角...

lincs111的博客 7000

逆向工程实战:如何一步步破解京东APP的sign签名算法(附Frida脚本)

本文详细解析了京东APP的sign签名算法逆向工程实战,通过Frida脚本动态分析Java层和Native层的多层签名机制,揭示商业应用的加密协议设计。文章提供了完整的逆向工程方法论与工具链,帮助开发者深入理解移动应用安全防护体系,提升安全防御能力。

weixin_28622215的博客 919

Leaflet 加载天地图完整配置指南:从插件修改到无限缩放(附源码)

本文详细介绍了Leaflet与天地图深度集成的完整配置指南,包括插件修改、无限缩放实现及源码示例。通过解析天地图服务的WMTS协议、双投影支持和密钥机制,帮助开发者突破缩放级别限制,优化地图应用性能,适用于Web地图开发和高精度GIS系统。

weixin_27180827的博客 441

RedBoot部分操作命令

RedBoot部分操作命令1) fis init -f //初始化NOR FLASH文件系统,这个仅需要做一次,除非你想删除你的FLASH上的所有内容.2)fconfig -i //配置RedBoot,一般这个命令也只需要做一次,除非你想改变配置或者增加启动脚本.第一次启动时,RedBoot的一些提示交互操作为:>> Run script at boot: {false} >> Use B

newger的专栏 1867

历年安徽省省赛AHOI初中组考点分类汇总考点分类汇总

持续更新中.....

weixin_42358969的博客 818

Redboot 学习笔记

简介 RedBoot 是 “Red Hat Embedded Debug and Bootstrap” 的缩写,包含很多工具例如下载,还有一个简单的Flash 文件系统用以存放启动代码。 以下是RedBoot 的一些突出优点: 􀁺 支持启动脚本 􀁺 可用简单的命令行界面配置与管理,可通过以太网(Telnet)或串口(超级终端) 访问。 􀁺 集成GDB stubs 用来通过串口或以太网与宿主机上的排错软件通信。(限局域网) 􀁺 属性配置 - 很多数据是可配置的,例如系统时间、日期(如果可用),默认启动 F

老熊的博客 3028

34、婴儿监视器应用开发指南

本文详细介绍了基于 ESP32 和 Edge Impulse 开发婴儿监视器应用的全过程,涵盖音频处理、机器学习推理、ESP RainMaker 平台集成以及内存监控等功能。通过实现 AppAudio、AppRmaker 和 AppMem 三个核心类,完成了婴儿哭声的实时检测与远程通知,并通过合理的内存管理优化,有效节省了 ESP32 的内部 RAM 资源。文章还提供了完整的代码示例和配置说明,适用于物联网和嵌入式 AI 应用开发爱好者参考学习。

python9snake的博客 94

破解现代反爬虫:JS加密、OB混淆与CSS反爬的实战攻防分析

摘要: 随着反爬技术的升级,JS加密、OB混淆和CSS反爬成为主流防护手段,阻碍传统爬虫获取数据。本文解析了这些技术的工作原理,并提出破解策略:通过模拟浏览器(如Selenium、Puppeteer)执行动态JS,逆向混淆代码,以及利用开发者工具突破CSS隐藏。针对复杂防护,开发者需结合技术分析与工具应用,如API接口抓取、动态渲染破解等,以应对不断演进的反爬机制。未来,爬虫攻防将持续升级,需保持技术敏锐性。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1648

基于x86的Redboot启动流程分析

Redboot是Redhat公司随eCos发布的一个BOOT方案,是一个开源项目。当前Redboot的最新版本是Redboot-2.0.1,Redhat公司将会继续支持该项目Redboot支持的处理器构架有ARM,MIPS,MN10300,PowerPC, Renesas SHx,v850,x86等,是一个完善的嵌入式系统Boot Loader。Redboot是在ECOS的基础上剥离出

shenbin1430的专栏 2130

通过Python实现物联网金橙子自动打标

对于自家公司使用金橙子打标卡时,为了与生产线或者PLC联动等,往往需要对金橙子打标卡进行二次开发,而在二次开发中不得不涉及到MarkEzd.dll这个文件,而这个dll文件网上版本多不说,一般都没法直接使用,最后还不得不花大价钱购买专用库。而本文针对这个问题,涉法通过python来绕过MarkEzd.dll文件,直接进行自动化控制EzCad来实现联动,可应用于实际生产。文章最后拓展一下以物联网的形式,实现手机平台等登录网页,输入想要的印字内容后,远程打印的案例。

lylelo的博客 3365

Redboot

Redboot (Red Hat Embedded Debug and Bootstrap)是Red Hat公司开发的一个独立运行在嵌入式系统上的BootLoader程序,是目前比较流行的一个功能、可移植性好的BootLoader。Redboot是一个采用eCos开发环境开发的应用程序,并采用了eCos的硬件抽象层作为基础,但它完全可以摆脱eCos环境运行,可以用来引导任何其他的嵌入式操作系统,如

小饼仙子的专栏 1311

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

redboot的使用

Sam很早之前使用过redboot。后来很快忘记如何使用了。 之后在Intel CE2110以及 CE3100上使用了redboot.结果现在有段时间不用,又忘记了。只好再看一遍。这次能记得住吗?光头葛说:我看(不)行!Redboot简介:Redboot是Redhat公司随eCos发布的一个BOOT方案,是一个开源项目。Redboot支持的处理器构架有ARM,MIPS,MN10300,PowerP

3253

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

在IXDP425上安装ecos3 redboot

在IXDP425上安装ecos3 redboot 早年写的笔记,压箱底了,翻出来晒晒 目          录 在IXDP425上安装ecos3redboot1 实验环境... 1 1. 编译ecosconfig. 2 2. 修改ecos3配置和源码... 2 2.1内存配置ixdp425.h. 2 2.2. mlt_arm_xscale_ixdp425

lurayvis的专栏 2143

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

redboot

 Intel CE2110上Redboot的使用 www.diybl.com 时间:2009-08-27 作者:匿名 编辑:小张 点击: 24 [评论] cpro_client=diybl_cpr;cpro_at=text_image; cpro_161=2; cpro_flush=4;

Thanks 1167

ROM监控器RedBoot

 开放源代码ROM监控器RedBoot的功能特点以及配置方法,它可以提供一种下载调试环境,且体积非常小巧。RedBoot也称作红帽(Red Hat)嵌入式调试引导程序,是一种用于嵌入式系统的独立开放源代码引导/装载器,任何人都可以从互联网上下载具有红帽eCos公共许可证的RedBoot源代码。虽然RedBoot使用的是源于eCos实时操作系统(RTOS)的软件模块,并且常用于嵌入式Linux系统,

aaaaatiger--寻路 1455

使用Redboot进行程序下载


 Redboot内含一个GDB Stub,可以用于程序的下载和调试。另外,在控制台下Redboot支持使用load命令通过串口或网络进行程序下载,接下来就看看在控制台下怎么完成程序的下载。首先使用IDE下的“Download Redboot”工具将Redboot下载到开发板,如果开发板内已经有Redboot,则不需要再次下载。注意一下硬件连接:将以太网接口处的...

大白菜的博客 232

Redboot修改实例

作者:李智敏,华清远见嵌入式学院讲师。在通常情况下,嵌入式开发中都需要对bootload部分的代码进行修改,以适应实际的需求。本文以redboot为例,说明了如何修改redboot源码以使其具备1. 启动时提供LOGO图片显示        2. 为实现量产,在命令行下提供自动配置网络的命令autoconfig        3. 为实现量产,在命令行下提供自动更新文件的命令updat

华清远见 | 程序员的学习天堂 864

在IX425DP上安装redbootv4

在IX425DP上安装redboot 目          录 在IX425DP上安装redboot1 实验环境... 2 安装redboot编译器... 2 编译040330版本的redboot3 1. 准备编译组件... 3 2. 加入以太网支持... 3 2.1 RH9的加入方法... 3 2.2. FC4的加入方法... 4 3. 修改redboot5 3

lurayvis的专栏 1801

几种Bootloader简介

l         RedbootRedboot是Redhat公司随eCos发布的一个BOOT方案,是一个开源项目。当前Redboot的最新版本是Redboot-2.0.1,Redhat公司将会继续支持该项目,其官方发布网址为:http://sources.redhat.com/redboot/。Redboot支持的处理器构架有ARM,MIPS,MN10300,PowerPC, Ren

menuconfig的专栏 2092

分析对比主流Bootloader的性能

 引言:Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的Bootloader,不同的处理器架构都有不同的Bootloader。Bootload

yaoweibin的专栏 3083

BootLoader

在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。在一个基于ARM7TDMI core的

Zju_Jemery的专栏 864
上一篇: 使用openjtag和openocd操作IXP425的flash
下一篇: 将openwrt移植到P720
lurayvis
博客等级 码龄19年 29粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值