²é¿´: 255  |  »Ø¸´: 0
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

[½»Á÷] Redboot°²×°Àú³Ì

(ת×Ô£ºhttp://www.linuxforum.net)


Samfei (samfei@163.com)

×¢: ±¾ÎĵÚÒ»´Î·¢²¼ÔÚ http://www.embedzone.com/bbs/dispbbs.asp?boardID=7&ID=266, ÓÉÓÚ²¹¶¡ÎÊÌâ,ÔÚ´ËÌùÒ»ÏÂ,.

¼ò½é: ±¾ÎÄÊDZ¾ÈËΪ¹¤×÷ÐèÒª¶øÊÔÑéredbootµÄÒ»¸ö¹ý³Ì,ÎÒÖ»ÊǼǼÁËÊÔÑéµÄ¹ý³Ì,Ï£ÍûÄܶԱðÈËʹÓÃredbootÓÐЩ°ïÖú. ±¾ÎÄûÓÐϵͳÐÔ½éÉÜredboot, Ïà¹ØÖªÊ¶Çë²Î¿¼ÆäËû×ÊÁÏ.ÎÄÕÂÖоßÌåÐ޸ĵÄÄÚÈÝÏêϸ¿ÉÒÔ¿´¸½¼þpatch.

Ò» Ä¿±ê
¹«Ë¾¹ºÂòÁËEV40¿ª·¢°å:CPU AT91M40800, ÄÚ´æ2M+2M(À©Õ¹), FLASH 2M+4M(À©Õ¹), RTl8019ASоƬ, FLASHÊÇAM29LV160TE(2M)
¹«Ë¾×Ô¼º¿ª·¢×ÔÓõİå×ÓWX10: CPU AT91M40800, ÄÚ´æ4M, FLASH 8M, RTl8019ASоƬ, FLASHÊÇAM29LV641(8M)¼°ÆäËûÓ¦Óù¦ÄÜоƬ.
ÎÒÖ÷ÒªµÄ¹¤×÷ÊÇ¿ª·¢ÏµÍ³µÄÇý¶¯Èí¼þ,Òò´ËÐèÒªËæÊ±ÐÞ¸ÄÄÚºËÇý¶¯,²¢µ÷ÊÔ,Òò´Ë×°ÈëºÍÆô¶¯µÄËٶȶԹ¤×÷ЧÂÊÊDZȽϹؼüµÄ.ÒòΪÓÃhitoolÉÕ¼·½Ê½Æô¶¯ uclinuxÄں˷½Ê½ÐèÒª6~10·ÖÖÖÒ»´Î.Ìý¡±Ç¶ÈëʽlinuxȺ¡±kingmonkey˵¿ÉÒÔʹÓÃredboot, Òò´Ë¾ö¶¨ÊÔÊÔ.

¶þ »·¾³½¨Á¢
redbootÊÇecos²Ù×÷ϵͳµÄÒ»²¿·Ö,Ò²ÊÇecos²Ù×÷ϵͳ×îСÅäÖõİ汾.Òò´ËҪʹÓÃredboot,±ØÐ뽨Á¢ecos²Ù×÷ϵͳ»·¾³. µ½ÍøÕ¾
http://sources.redhat.com/ecos/
²éÕÒÆä°²×°·½·¨,°´ÕÕ˵Ã÷²ÉÓÃÁËÆäÍøÂ緽ʽ°²×°,ʹÓÃ:
# wget --passive-ftp ftp://ecos.sourceware.org/pub/ecos/ecos-install.tcl
ÏÂÔØ°²×°ÃüÁî,²¢ÔËÐÐ:
# sh ecos-install.tcl
°²×°ÁËecos 2.0.ÎÒ°ÑÕâ¸ö°²×°ÔÚ/rh80/ecosÏÂ.ECOS_REPOSITORY¾ÍÊÇ/rh80/ecos/ecos-2.0.
ÔËÐÐ :
# cd /rh80/ecos
# . ecosenv.sh
ÉèÖû·¾³±äÁ¿.
ÓÉÓÚlinux²Ù×÷ϵͳÖÐÒѾ­°²×°ÁË
http://www.uclinux.org/pub/uClin ... f-tools-20030314.sh
Òò´ËÎÒ°²×°ecosʱ,ûÓÐÑ¡Ôñ°²×°arm-elf GNU tools¹¤¾ß.

Èý ±àÒëredboot
ÓÉÓÚecosÊǸö¿ÉÅäÖõIJÙ×÷ϵͳ,Òò´ËÏÂÔØ°²×°µÄʵ¼Ê¾ÍÊÇÒ»¸öÅäÖõIJֿâ,Òª±àÒëredboot¾Í°´ÕÕÐèÒª½øÐÐÅäÖÃ.ÅäÖõķ½Ê½Ê¹ÓÃÅäÖù¤¾ßecosconfig, Ò²ÓÐͼÐη½Ê½ÅäÖù¤¾ßµÄ,ÎÒûÓÐÓÃ,Ö»ÓÃ×Ö·û½çÃæµÄecosconfig.
ÓÉÓÚEV40ÀàËÆEB40, Òò´ËÎÒµÄÃüÁîÊÇ:
# mkdir rom
# cd rom
# ecosconfig new eb40 redboot
#ecosconfig import /rh80/ecos/ecos-2.0/packages/hal/arm/at91/eb40/current/misc/redboot_ROMRAM.ecm
#ecosconfig tree
#make
½á¹û±àÒë³öÏÖ´íÎó.
Òò´Ë»³ÒɱàÒëÆ÷²»¼æÈÝ,ÓÚÊÇÖØÐ°²×°ecos,´ËʱѡÔñarm-elf¹¤¾ß.´ËʱÔËÐÐ. Ecosenv.sh ʱ,ÐÂÏÂÔØµÄ¹¤¾ßµÄ·¾¶°üº¬ÔÚPATHÖÐ, ÖØÐ½øÐÐÁËredbootÉú³ÉºÍ±àÒë,ÕýÈ·Éú³ÉÁËinstall/bin/redboot.binµÈÎļþ.
½«redboot.binÓÃhitoolÉÕдµ½EV40µÄflashÖÐ,Æô¶¯,ûÓÐÈκη´Ó¦.ÖØÐÂÑ¡ÔñredbootµÄROM°æ:
# ecosconfig new eb40 redboot
#ecosconfig import /rh80/ecos/ecos-2.0/packages/hal/arm/at91/eb40/current/misc/redboot_ROM.ecm
#ecosconfig tree
#make
±àÒë,ÉÕ¼,ÔËÐÐ,ÈÔÈ»ÎÞ·´Ó¦.

ËÄ ÅäÖÃÓ²¼þ²ÎÊý
ÓÉÓÚEB40ºÍEV40²»ÍêÈ«Ïàͬ,Òò´ËÊ×Ïȼì²éÓ²¼þ²ÎÊýµÄÅäÖÃ,ÕÒµ½ÅäÖõÄÎļþÊÇ: ecos/packages/hal/arm/at91/eb40/current/include/hal_platform_ints.h
Ö÷ÒªÊÇAT91_EBIÅäÖòÎÊý±í, EV40ÊÇ:
_InitMemory:
.long 0x01002529 @ 0x01000000, 16MB, 2 cycles added after transfer, 16-bit, 6 wait states
.long 0x020020a1 @ 0x02000000, 16MB, 0x02002121 0 cycles added after transfer, 16-bit, 1 wait state
.long 0x03002529 @ unused
.long 0x40000000 @ unused
.long 0x02202021 @ unused ,CS 4
.long 0x02302021 @ unused ,CS 5
.long 0x60000000 @ unused
.long 0x70000000 @ unused
.long 0x00000001 @ REMAP commande
.long 0x00000006 @ 7 memory regions, standard read
.long AT91_EBI @ EBI address
.long 10f // address where to jump

WX10µÄÅäÖÃÊÇ:

_InitMemory:
.long 0x01002529 // 0x01000000, 16MB, 2 cycles after transfer, 16-bit, 6 wait states
.long 0x020020a1 // 0x02000000, 16MB, 0 cycles after transfer, 16-bit, 1 wait state
.long 0x03002529 // unused
.long 0x30000000 // unused
.long 0x40000000 // unused
.long 0x50000000 // unused
.long 0x60000000 // unused
.long 0x70000000 // unused
.long 0x00000001 // REMAP command
.long 0x00000000 // 7 memory regions, standard read
.long AT91_EBI // External Bus Interface address
.long 10f // address where to jump
ÕâÀïÎÒҪ˵Ã÷µÄÒ»µãÊÇEV40ºÍWX10µÄÇø±ð, EV40ÊÇÓõ½CS6µÄ,¶øWX10ÊDz»ÓÃCS6µÄ, EV40ÓÐÀ©Õ¹ÄÚ´æ,ÓÉCS4ºÍCS5ÅäÖÃ. EV40Íø¿¨µØÖ·ÊÇ0x40010000, ¶øWX10µÄÍø¿¨µØÖ·ÊÇ0x03210000.
ÐÞ¸ÄÁËÅäÖúó, ±àÒë,ÉÕ¼,ÔËÐÐ,ÈÔÈ»ÎÞ·´Ó¦.

ÏòkingmonkeyÌÖ½Ð,kingmonkeyÈÏΪ¿ÉÄÜÊÇecos°æ±¾²»ÊÇ×îеÄÔµ¹Ê,½¨ÒéÓÃcvsÏÂÔØ×îеİ汾. ÓÃecos-install.tclÊÇ×îеÄÎȶ¨°æ,µ«²»ÊÇ×îеÄ.

Îå °²×°cvs°æecos
°²×°·½·¨²Î¿¼ÍøÕ¾ÖÐAnonymous CVS:
# cd /rh80/ecos
# cvs -d server:anoncvs@ecos.sourceware.org:/cvs/ecos login
¿ÚÁîÈÎÒâ
# cvs -z3 -d server:anoncvs@ecos.sourceware.org:/cvs/ecos co -P ecos
ÕâÑùÄØ¾ÍÏÂÔØµÄ×îеÄecos,Ŀ¼ÊÇ/rh80/ecos/ecos, ÐÞ¸Äecosenv.shÖÐ
ECOS_REPOSITORY=/rh80/ecos/ecos/packages ; export ECOS_REPOSITORY
ÕâÑùÄØ,¾ÍʹÓÃ×îÐÂÓÃcvsÏÂÔØµÄecosÁË.Ô­À´µÄecos-2.0ÈÔÈ»±£Áô,²¢Ê¹ÓÃÆäÏÂÃæµÄecosconfigµÈ¹¤¾ß,²»ÓÃÖØÐÂÈ¥ÏÂÔØecosconfig¹¤¾ßÁË.

Áù ÖØÐ±àÒëredboot
°²×°µÚÈý½ÚµÄ·½·¨ÖØÐ±àÒëredboot,µ«ÈÔÈ»ÎÞ·¨¹¤×÷.Òò´ËÖ»ºÃÈ¥¿´×ÊÁϺʹúÂë.²¢ÇÒÏÂÔØÁËÍøÕ¾ÉÏÔ¤±àÒëºÃµÄreboot.binÀ´ÊÔ,ÈÔȻûÓÐÈκη´Ó¦.
×ÐϸÔĶÁÁËecos²Î¿¼ÊÖ²á:
http://ecos.sourceware.org/docs-latest/ref/ecos-ref.html
ÖйØÓÚInstallation and Testing²¿·ÖÖÐARM/ARM7 Atmel AT91 Evaluation Boards (EBXX)µÄ×ÊÁÏ,ËüÔËÐÐredbootµÄ·½Ê½ÊÇͨ¹ýangelºÍarm-elf-gdbµÄ·½Ê½µÄ,Òò´ËÎÒ¾ÍÏëÏȰ´ÕÕÆä·½Ê½ÊÔÒ»ÏÂ.
°ÑangelÉÕ¼µ½EV40°åÉÏ,È»ºó±àÒë³öredbootµÄRAM°å(ÉÏÃæÃüÁîÖÐredboot_ROM.ecm¸Ä³É redboot_RAM.ecm¾ÍÊÇ).È»ºó°²×°ÊÖ²á,³É¹¦Æô¶¯ÁËredboot! ½áºÏÇ°Ãæ¿´ÁËredbootµÄһЩ´úÂë,»³ÒÉȱʡµÄEV40ÅäÖÃÊÇÖ»ÄÜÔÚangel·½Ê½ÏÂÆô¶¯µÄ.

Æß ÐÞ¸ÄredbootÅäÖÃ
¾­¹ýÔĶÁÆäÎļþ, ·¢ÏÖ±àÒëÃüÁîÎļþinstall/lib/target.ldÖÐ:
__reserved_bootmon = 0x01000000; . = __reserved_bootmon + 0x10000;
½«ÔËÐпªÊ¼Î»ÖúóÒÆÁËÒ»¸ö0x10000, Õâ¸ö¿ÉÄÜÊÇÔì³É²»ÄÜÖ±½ÓflashÆô¶¯µÄÔ­Òò.¾­¹ý¼ì²é,ÐÞ¸ÄÁ˶ദ¸úÕâ¸öÓйصĵط½:
1. ecos/packages/hal/arm/at91/eb40/current/include/hal_platform_ints.hÖÐ0x1010000 ¨¤ 0x100000
2. ecos/packages/hal/arm/at91/eb40/current/include/pkgconf/mlt_arm_at91_eb40_rom.hÖÐ
#define CYGMEM_SECTION_reserved_bootmon_SIZE (0x10000) ¸Ä³É
#define CYGMEM_SECTION_reserved_bootmon_SIZE (0x00000)
3. ecos/packages/hal/arm/at91/eb40/current/include/pkgconf/mlt_arm_at91_eb40_rom.ldiÖÐ

CYG_LABEL_DEFN(__reserved_bootmon) = 0x01000000; . = CYG_LABEL_DEFN(__reserved_bootmon) + 0x10000;
¸Ä³É:
CYG_LABEL_DEFN(__reserved_bootmon) = 0x01000000; . = CYG_LABEL_DEFN(__reserved_bootmon) + 0x00000;
[mlt_arm_at91_eb40_rom.ldi¾ÍÊÇÉú³Érom°æredbootÖÐtarget.ldµÄÒÀ¾Ý.]
È»ºóÖØÐÂÅäÖÃredbootºÍ±àÒë,ÔËÐÐ,ÉÕ¼µ½EV40,Õý³£Æô¶¯ÁËredboot. ^_^
[´Ëʱ³öÏÖÒ»¸ö·Ç³£ÌÖÑáµÄÎÊÌâ,¾ÍÊÇEV40°å×ÓÒ»ÔËÐÐredboot,·äÃùÆ÷²»Í£µÄ½Ð.ÎÒûÓÐÈ¥¼ì²éΪʲôÕâÑù!ºóÀ´Ö»ºÃÔÚ×Ô¼º¹«Ë¾µÄ°å×ÓÉÏÊÔÁË.]

°Ë ÅäÖÃflash
ÓÉÓÚEB40²ÉÓõÄflashоƬºÍEV40²ÉÓõÄоƬÊDz»Ò»ÑùµÄ,Òò´ËºÜÕý³£µÄ½á¹ûÊÇÎÒÃÇµÚÆß½Ú±àÒë´¦ÀíµÄredbootÊDz»ÄÜÕýȷʶ±ðEV40µÄflashоƬ.Òò´Ë¾Í±ØÐ뿼ÂÇÐÞ¸ÄflashÇý¶¯.
´Ëʱ±¾È˶ÔÈçºÎÐ޸Ϲ²»ÊÇÌ«Çå³þ,Òò´ËÖ»Òª¹Ô¹ÔµØÈ¥¿´ecosµÄ×ÊÁÏ.ÕýºÃͬÊÂÂòÁËÒ»±¾ecosµÄÊé,ÕâÑù¾ÍÊ¡ÁË¿´Ó¢ÎÄ×ÊÁϵÄÂé·³.
´Ó×ÊÁÏÉÏ,¿ÉÒÔÖªµÀÐÞ¸ÄÅäÖÃ,Ö÷ÒªÊÇÐÞ¸ÄcdlÎļþ. ¸úEB40ÓйصÄflash°üÊÇ:
Package CYGPKG_DEVS_FLASH_EB40 (FLASH memory support for Atmel AT91/EB40):
Package CYGPKG_DEVS_FLASH_ATMEL_AT29CXXXX (Support for Atmel AT29Cxxxx flash memory):
ÎҾͰÑCYGPKG_DEVS_FLASH_EB40°üÖвÉÓõÄATMELоƬµÄ°ü¸Ä³É:
CYGPKG_DEVS_FLASH_AMD_AM29XXXXX
¾ßÌåÐ޸ĵÄÎļþÊÇecos/packages/devs/flash/arm/eb40/current/cdl/flash_eb40.cdl:
ÐÞ¸Ä requires CYGPKG_DEVS_FLASH_ATMEL_AT29CXXXX Ϊ

requires CYGPKG_DEVS_FLASH_AMD_AM29XXXXX
ÐÞ¸Ä cdl_interface CYGINT_DEVS_FLASH_ATMEL_AT29CXXXX_REQUIRED {
display "Generic Atmel AT29CXXXX driver required"
Ϊ cdl_interface CYGINT_DEVS_FLASH_AMD_AM29XXXXX_REQUIRED {
display "Generic Amd AM29XXXXX driver required"
ÐÞ¸Ä implements CYGINT_DEVS_FLASH_ATMEL_AT29CXXXX_REQUIRED
Ϊ implements CYGINT_DEVS_FLASH_AMD_AM29XXXXX_REQUIRED

Ôö¼Ó requires CYGHWR_DEVS_FLASH_AMD_AM29LV160.
ÕâÀïÌØ±ðÊÇҪ˵Ã÷µÄÊÇ×îºóÕâÒ»ÐÐ, ÒòΪCYGPKG_DEVS_FLASH_AMD_AM29XXXXXÖ§³Ö¶àÖÖоƬ,ÔÚÅäÖõÄʱºò,ÐèÒªÖ¸¶¨ÄÄЩоƬ¿ÉÒÔʶ±ð,¸Õ¿ªÊ¼µÄʱºòecoscofing treeºÍ±àÒëºó,¾ÍÊÇûÓп´µ½Çý¶¯³ÌÐò°üº¬½øÈ¥,ŪÁ˰ëÌì²Å¸ãÃ÷°×,Èç¹ûÒ»ÖÖоƬҲûÓÐÑ¡,ÔòÇý¶¯³ÌÐò¾Í²»°üº¬½øÈ¥.Òò´ËÐèÒª¼ÓÈëÖÁÉÙÒ»ÖÖоƬµÄÑ¡Ôñ,×îºóÒ»ÐоÍÊÇÑ¡ÔñAM29LV160µÄоƬ.
ͬʱÐÞ¸Ä ecos/packages/ecos.db µÄtarget eb40ÖÐ:
ÐÞ¸Ä CYGPKG_DEVS_FLASH_ATMEL_AT29CXXXX
Ϊ CYGPKG_DEVS_FLASH_AMD_AM29XXXXX

ÔÙÐÞ¸Äecos/packages/devs/flash/arm/eb40/current/src/eb40_flash.c:
Ôö¼Ó #define CYGNUM_FLASH_WIDTH 16
ÐÞ¸Ä ££i nclude "cyg/io/flash_at29cxxxx.inl"
Ϊ ££i nclude "cyg/io/flash_am29xxxxx.inl"

´Ëʱ,ÓÉÓÚEV40°å×ÓÂҽеÄÔ­Òò,ÎÒÊÇÓÃÎÒÃÇ×Ô¼ºµÄ°å×ÓWX10À´µ÷ÊÔÁË,¶øWX10²ÉÓõÄflashÊÇAM29LV641,ÓëAM29LV160ÊÇÓÐÇø±ðµÄ,Òò´ËÎÒ´ò¿ªÁËflashµ÷ÊÔ,×Ô¼ºÔö¼ÓÁËһЩµ÷ÊÔÓï¾ä,ÔËÐкó,È»ºóÔö¼ÓÁËAM29LV641µÄÇý¶¯,¾ßÌåÎļþÊÇ ecos/packages/devs/flash/amd/am29xxxxx/current/include/flash_am29xxxxx_parts.inl, Ôö¼ÓÁËAM29LV641ÅäÖÃ:
+ { // MBM29LV641
+ device_id : FLASHWORD(0x22d7),
+ block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
+ block_count: 32,
+ device_size: 0x200000 * CYGNUM_FLASH_INTERLEAVE,
+ base_mask : ~(0x200000 * CYGNUM_FLASH_INTERLEAVE - 1),
+ bootblock : true,
+ bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x004000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x002000 * CYGNUM_FLASH_INTERLEAVE,
+ 0x008000 * CYGNUM_FLASH_INTERLEAVE,
+ _LAST_BOOTBLOCK
+ },
+ banked : false,
+ bufsiz : 1
+ },
¾ßÌ廹ÊÇ·ÅÔÚCYGHWR_DEVS_FLASH_AMD_AM29LV160ÏÂ,ÕâÑùÉÏÃæµÄcdl²»ÓÃÐÞ¸Ä.[ÉÏÃæµÄÐÞ¸ÄÖÐÎÒûÓÐÐÞ¸ÄflashµÄÈÝÁ¿,ÒòΪAM29LV641ÊÇ8MµÄ,ÎÒ»¹ÅªÇå³þÈçºÎ¸Ä!ÎÒ¾ÍÏȰÑËüµ±³É2MʹÓÃ.]
¾­¹ýÉÏÃæµÄÐÞ¸Ä,ÖØÐ±àÒëÔËÐкó,redbootÄܹ»Õýȷʶ±ðÁËflashµÄ. ^_^

¾Å Íø¿¨Çý¶¯
googleÁË¡±ecos 8019as driver¡±,²éµ½Á˶þ¸ö½á¹û,ÎҰѶþ¸öÇý¶¯°ü¶¼ÏÂÔØÏÂÀ´ÁË.È»ºó·Ö±ð²âÊÔÁËÒ»ÏÂ,µ«¶¼Ã»Óгɹ¦. ÎÒ×îºóÑ¡Ôñdp83902aÕâÖÖ·½Ê½ÖصãÑо¿.
Ê×ÏÈÏÂÔØÆäÈí¼þ°ü,½âѹµ½ÏàÓ¦µÄĿ¼. È»ºóÔö¼ÓÁËCYGPKG_DEVS_ETH_RLTK_ISA8019AS ¶¨Òå.
ÓÉÓÚEB40ûÓÐÍø¿¨Çý¶¯,Òò´ËÖ»ºÃ×Ô¼ºÔö¼ÓÅäÖÃ.¾ßÌåÊÇredboot_ROM.ecmÖÐÔö¼Ó:
package -hardware CYGPKG_DEVS_ETH_RLTK_ISA8019AS current ;
package -hardware CYGPKG_DEVS_ETH_NS_DP83902A current
package CYGPKG_IO_ETH_DRIVERS current ;
È»ºóÔÚÎļþecos/packages/devs/eth/rltk/isa8019as/current/include/devs_eth_rltk_isa8019as.inlÖÐÐÞ¸ÄÍø¿¨µÄÆðʼµØÖ·ºÍÖжÏ:
static dp83902a_priv_data_t dp83902a_eth0_priv_data = {
base: (cyg_uint8*) 0x03210000,
interrupt: 17,
tx_buf1: 0x40,
tx_buf2: 0x48,
rx_buf_start: 0x50,
rx_buf_end: 0x80,
hardwired_esa: false,
};
È»ºó±àÒë,ÉÕ¼,ÔËÐÐ.µ«ÔËÐе½Íø¿¨Ê±¾ÍûÓз´Ó¦ÁË.Íø¿¨Äܼì²âµ½. ´ËʱֻºÃµ÷ÊÔÔ­´úÂë,´ò¿ªÁËdp83902aÇý¶¯µÄ¿ª¹Ø.·¢ÏÖ·¢ËÍÊý¾Ý°üʱ,¾Í²»¶¯ÁË.¾­¹ý¼ì²éÆä´úÂë,·¢ÏÖmacµØÖ·ÓжþÖÖ·½Ê½,Ò»ÖÖÊÇ´ÓÍø¿¨epromÖÐÈ¡,ÁíÒ»ÖÖ¾ÍÊÇÖ¸¶¨,ÓÚÊÇÎҾͰÑÅäÖøijÉÁËÖ¸¶¨:
static dp83902a_priv_data_t dp83902a_eth0_priv_data = {
base: (cyg_uint8*) 0x03210000,
interrupt: 17,
tx_buf1: 0x40,
tx_buf2: 0x48,
rx_buf_start: 0x50,
rx_buf_end: 0x80,
hardwired_esa: true,
esa: {0x00, 0x05, 0x0c, 0x04, 0x05, 0x06},
};
µ«Ð§¹ûÈÔȻһÑù. ͨ¹ý¶à´Îµ÷ÊԺͷÖÎö, ÏëÆðÁ˼ĴæÆ÷Æ«ÒÆÁ¿µÄÎÊÌâ. ÎÒÔÚEV40°å×ÓÉÏÓÃuclinuxÇý¶¯Íø¿¨Ê±Ò²ÊÇͬÑùµÄÎÊÌâ,ºóÀ´°Ñ ËùÓмĴæÆ÷µÄÆ«ÒÆÁ¿*2¾Í¿ÉÒÔÁË.ÓÚÊǶ¯ÊÖ½«È«²¿¼Ä´æÆ÷Æ«ÒÆÁ¿*2.ÕâÑùÄØ, Íø¿¨Çý¶¯¾Í¿ÉÒÔÁË, ²¢ÄÜ·¢ËͺͽÓÊÕÊý¾Ý°üÁË.¡¾Õâ¸öÄØ,ÎÒ×Ô¼ºÒ²²»Ì«Ã÷°×,ÊDz»ÊǸúÓ²¼þµÄÉèÖÃÓйØ?¡¿
µ«redbootÆô¶¯Ê±, ¾­¹ýºÜ³¤Ê±¼ä²Åµ½redbootÌáʾ·û³öÀ´.Ô­À´ÊÇredbootÆô¶¯Ê±,×Ô¶¯Í¨¹ýbootpȥȡµÄIPµØÖ·,ÓÉÓÚûÓÐbootp·þÎñÆ÷,Òò´ËÒªµÈ´ýÒ»¶Îʱ¼ä²Å³öÏÖ³¬Ê±, ÈÃÎÒÎóÒÔΪËÀ»úÁË.
½¨Á¢ºÃbootp·þÎñÆ÷, redboot¾ÍÕý³£Æô¶¯,²¢ÇÒÅäÖÃÁËipµØÖ·. È»ºópingҲͨÁË.
´Ëʱ´ó¹¦¸æ³É.!!!

Ê® Æô¶¯uclinux
uclinux±àÒëʱ±ØÐë×¢ÒâµÄÊÇ: ÓÉÓÚ redbootÔËÐÐʱ,±ØÐëÒªÊÇʹÓò¿·ÖÄÚ´æ,Äã¿ÉÒÔÓÃversionÃüÁî¿´³öʹÓÃÁËʲôÄÚ´æ, Òò´ËuclinuxµÄÈë¿ÚµØÖ·¾Í²»ÄÜÊÇ0x2000000, ÎÒÑ¡ÔñÁË0x2010000, Ç°ÃæÁôÁË64K.
½«linux.elf¿½±´µ½bootpºÍtftp·þÎñÆ÷µÄ/tftpbootÏÂ. ÔËÐÐ:
> load ¨Cm tftp linux.elf
> go 0x2010000
×¢Òâ: ÓÉÓÚredboot´®¿ÚʹÓÃ38400²¨ÌØÂÊ,¶øuclinux²ÉÓÃ9600²¨ÌØÂÊ,Òò´ËuclinuxÆô¶¯ºó³öÏÖÂÒÂë,ûÓйØÏµ,°Ñ²¨ÌØÂʸijÉ9600, È»ºóÖØÐÂÁ¬½ÓÖն˾ͿÉÒÔÁË.

¸½: Ð޸ĵÄpatch. PatchÊÇÕë¶ÔWX10°å×ÓµÄ. ÓÉÓÚÎÒÐ޸ĵÄecosÊÇcvs°æ±¾,ÿ´ÎcheckoutµÄ²»Ò»¶¨Ò»Ñù.Òò´Ëpatch¾Í²»Ò»¶¨Äܹ»Ö±½ÓʹÓÃ, ÁíÍâÄØ,ÎÒµÄpatchÖÐÒ²ÓÐһЩÎÒÔö¼ÓµÄµ÷ÊÔÓï¾ä,Èç¹ûÄãÒª²úÆ·ÖÐʹÓÃ,½¨Òéɾ³ýºÃÁË.

[ Last edited by sdlj8051 on 2006-11-1 at 10:25 ]
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ sdlj8051 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +5 Æ¥¿Ëi 2026-03-23 5/250 2026-03-24 08:50 by dick_runner
[¿¼ÑÐ] Çóµ÷¼Á +7 Ê®Èý¼ÓÓÍ 2026-03-21 7/350 2026-03-23 23:48 by ÈÈÇéɳĮ
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖÐÄÏ´óѧ»¯Ñ§Ñ§Ë¶0703×Ü·Ö337Çóµ÷¼Á +5 niko- 2026-03-22 5/250 2026-03-23 22:01 by fuyu_
[¿¼ÑÐ] Ò»Ö¾Ô¸ÉÂʦ´óÉúÎïѧ071000£¬298·Ö£¬Çóµ÷¼Á +3 SYA£¡ 2026-03-23 3/150 2026-03-23 19:09 by macy2011
[¿¼ÑÐ] 336»¯¹¤µ÷¼Á +4 Íõ´ó̹1 2026-03-23 5/250 2026-03-23 18:32 by allen-yin
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤¿¼Ñе÷¼Á +4 ‹üÈA 2026-03-22 4/200 2026-03-23 16:13 by Ò»ÐݸçFU
[¿¼ÑÐ] 350Çóµ÷¼Á +6 weudhdk 2026-03-19 6/300 2026-03-23 15:47 by tangyuan0840221
[¿¼ÑÐ] 317Çóµ÷¼Á +12 Éê×ÓÉêÉê 2026-03-19 18/900 2026-03-22 22:23 by luoyongfeng
[¿¼ÑÐ] ʯºÓ×Ó´óѧ£¨211¡¢Ë«Ò»Á÷£©Ë¶²©Ñо¿Éú³¤ÆÚÕÐÉú¹«¸æ +3 Àî×ÓÄ¿ 2026-03-22 3/150 2026-03-22 21:01 by ÔõôÊÍ»³
[¿¼ÑÐ] ÉúÎïѧ071000 329·ÖÇóµ÷¼Á +5 ÎÒ°®ÉúÎïÉúÎﰮΠ2026-03-17 5/250 2026-03-22 16:42 by tcx007
[¿¼ÑÐ] 275Çóµ÷¼Á +6 shansx 2026-03-22 8/400 2026-03-22 15:27 by barlinike
[¿¼ÑÐ] Çóµ÷¼Á +5 Zhangbod 2026-03-21 7/350 2026-03-22 13:13 by Zhangbod
[¿¼ÑÐ] Ò»Ö¾Ô¸¶«»ª´óѧ¿ØÖÆÑ§Ë¶320Çóµ÷¼Á +3 Grand777 2026-03-21 3/150 2026-03-21 19:23 by ¼òÖ®-
[¿¼ÑÐ] Ò»Ö¾Ô¸Éî´ó£¬0703»¯Ñ§£¬×Ü·Ö302£¬Çóµ÷¼Á +4 ÆßÔÂ-ÆßÆß 2026-03-21 4/200 2026-03-21 18:20 by ѧԱ8dgXkO
[¿¼ÑÐ] ²ÄÁÏ 271Çóµ÷¼Á +5 Õ¹ÐÅÔÃ_ 2026-03-21 5/250 2026-03-21 17:29 by ѧԱ8dgXkO
[¿¼ÑÐ] Çóµ÷¼Á +3 Ma_xt 2026-03-17 3/150 2026-03-21 02:05 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖØÇì´óѧ085700×ÊÔ´Óë»·¾³×¨Ë¶£¬×Ü·Ö308Çóµ÷¼Á +3 īīĮ 2026-03-18 3/150 2026-03-21 00:39 by JourneyLucky
[¿¼ÑÐ] AÇøÏß²ÄÁÏѧµ÷¼Á +5 ÖÜÖÜÎÞ¼« 2026-03-20 5/250 2026-03-20 21:33 by laoshidan
[¿¼ÑÐ] Ò»Ö¾Ô¸ÄÏÀí¹¤085701»·¾³302Çóµ÷¼ÁԺУ +3 ¿ûè÷ÎÀ¶Ó 2026-03-20 3/150 2026-03-20 19:28 by zhukairuo
[¿¼ÑÐ] 320Çóµ÷¼Á0856 +3 ²»ÏëÆðÃû×Ö112 2026-03-19 3/150 2026-03-19 22:53 by ѧԱ8dgXkO
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û