²é¿´: 256  |  »Ø¸´: 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 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 085404µç×ÓÐÅÏ¢284·ÖÇóµ÷¼Á +3 13659058978 2026-03-24 3/150 2026-03-24 10:26 by wangkm
[¿¼ÑÐ] ¡¾Ë«Ò»Á÷ԺУÐÂÄÜÔ´¡¢»·¾³²ÄÁÏ£¬²ÄÁϼӹ¤ÓëÄ£ÄâÕÐÊÕ´óÁ¿µ÷¼Á¡¿ +3 Higraduate 2026-03-22 6/300 2026-03-24 09:55 by AZMK
[¿¼ÑÐ] Ò»Ö¾Ô¸ÄϺ½²ÄÁÏר317·ÖÇóµ÷¼Á +4 ըѽըѽըÊíÌõ 2026-03-23 4/200 2026-03-24 07:32 by wangy0907
[¿¼ÑÐ] 336»¯¹¤µ÷¼Á +4 Íõ´ó̹1 2026-03-23 5/250 2026-03-23 18:32 by allen-yin
[¿¼ÑÐ] 08¹¤Ñ§µ÷¼Á +7 Óû§573181 2026-03-20 11/550 2026-03-23 15:47 by ÎÒ°®Ñ§Ï°Ñ§Ï°Ê¹Î
[¿¼ÑÐ] 0854µç×ÓÐÅÏ¢Çóµ÷¼Á 324 +3 Promise-jyl 2026-03-23 3/150 2026-03-23 13:43 by wangkm
[¿¼ÑÐ] 287Çóµ÷¼Á +8 ³¿»èÏßÓëÐǺ£ 2026-03-19 9/450 2026-03-22 17:01 by i_cooler
[¿¼²©] ÕÐÊÕ²©Ê¿1-2ÈË +3 QGZDSYS 2026-03-18 4/200 2026-03-22 10:25 by QGZDSYS
[¿¼ÑÐ] ²ÄÁÏÇóµ÷¼Á +5 @taotao 2026-03-21 5/250 2026-03-21 20:55 by lbsjt
[¿¼ÑÐ] ¿¼Ñе÷¼Á +3 ºôºô£¿~+123456 2026-03-21 3/150 2026-03-21 20:04 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 268Çóµ÷¼Á +9 ¼òµ¥µã0 2026-03-17 9/450 2026-03-21 15:37 by lature00
[¿¼ÑÐ] 279Çóµ÷¼Á +5 ºìÒÂÒþ¹Ù 2026-03-21 5/250 2026-03-21 14:59 by lature00
[¿¼ÑÐ] Äϲý´óѧ²ÄÁÏר˶311·ÖÇóµ÷¼Á +6 77chaselx 2026-03-20 6/300 2026-03-21 07:24 by JourneyLucky
[¿¼ÑÐ] 303Çóµ÷¼Á +5 î£08 2026-03-17 7/350 2026-03-21 03:11 by JourneyLucky
[¿¼ÑÐ] 324·Ö 085600²ÄÁÏ»¯¹¤Çóµ÷¼Á +4 llllkkkhh 2026-03-18 4/200 2026-03-21 01:24 by JourneyLucky
[¿¼ÑÐ] ÄϾ©´óѧ»¯Ñ§376Çóµ÷¼Á +3 hisfailed 2026-03-19 6/300 2026-03-20 23:43 by hisfailed
[¿¼ÑÐ] Ò»Ö¾Ô¸Î÷ÄϽ»Í¨ ר˶ ²ÄÁÏ355 ±¾¿ÆË«·Ç Çóµ÷¼Á +5 Î÷ÄϽ»Í¨×¨²Ä355 2026-03-19 5/250 2026-03-20 21:10 by JourneyLucky
[¿¼ÑÐ] Çóµ÷¼Á +3 @taotao 2026-03-20 3/150 2026-03-20 19:35 by JourneyLucky
[¿¼ÑÐ] ÕÐÊÕµ÷¼Á˶ʿ +4 lidianxing 2026-03-19 12/600 2026-03-20 12:25 by lidianxing
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á +5 pupcoco 2026-03-17 8/400 2026-03-19 13:58 by houyaoxu
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û