Znn3bq.jpeg
ÉÇÍ·´óѧº£Ñó¿ÆÑ§½ÓÊܵ÷¼Á
²é¿´: 265  |  »Ø¸´: 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 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 327Çóµ÷¼Á +16 Xxjc1107. 2026-04-06 17/850 2026-04-13 14:54 by ajpv·çÀ×
[¿¼ÑÐ] ʳƷÓëÓªÑø£¨0955£©271Çóµ÷¼Á +9 Éý¸ñ°¢´ï 2026-04-12 9/450 2026-04-13 14:12 by maddjdld
[¿¼ÑÐ] ÉúÎïѧ308·ÖÇóµ÷¼Á£¨Ò»Ö¾Ô¸»ª¶«Ê¦´ó£©×ö¹ý·Ö×ÓʵÑé +9 ÏàÐűػá¹ââÍòÕ 2026-04-07 10/500 2026-04-13 10:20 by ¿Éµ­²»¿ÉÍü
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖÐÄÏ´óѧ 0855 »úе 286 Çóµ÷¼Á +10 ²»»á³ÔÈâ 2026-04-12 10/500 2026-04-12 22:51 by ÁãÁã¶þ
[˶²©¼ÒÔ°] ÐÂÒ»´úµç×ÓÐÅÏ¢294Çóµ÷¼Á ²»ÌôѧУ +7 Ytyt11 2026-04-09 8/400 2026-04-12 16:57 by ajpv·çÀ×
[¿¼ÑÐ] µç×ÓÐÅÏ¢270Çóµ÷¼Á +18 terminal469 2026-04-07 18/900 2026-04-12 16:23 by ajpv·çÀ×
[¿¼ÑÐ] 307Çóµ÷¼Á +10 tzq94092 2026-04-10 10/500 2026-04-12 08:18 by wise999
[¿¼ÑÐ] Çóµ÷¼Á +6 µçÆø300Çóµ÷¼Á²» 2026-04-08 6/300 2026-04-11 20:14 by ÄæË®³Ë·ç
[¿¼ÑÐ] 085600²ÄÁÏÓ뻯¹¤329·ÖÇóµ÷¼Á +16 Ò¶zilin 2026-04-10 16/800 2026-04-11 11:04 by may_ÐÂÓî
[¿¼ÑÐ] Çóµ÷¼Á +6 archer.. 2026-04-09 8/400 2026-04-11 10:55 by zhq0425
[¿¼ÑÐ] ÉúÎïѧ308Çóµ÷¼Á£¨Ò»Ö¾Ô¸»ª¶«Ê¦´ó£© +6 ÏàÐűػá¹ââÍòÕ 2026-04-10 6/300 2026-04-11 05:23 by zhuwenxu
[¿¼ÑÐ] ¿¼Ñе÷¼Á +26 ˶ÐǸ° 2026-04-09 27/1350 2026-04-10 22:24 by Öí»á·É
[¿¼ÑÐ] 083200 305·Ö Çó¶þÂÖµ÷¼Á ²»½ÓÊÜ¿çרҵ +9 Claireyyyy 2026-04-09 10/500 2026-04-10 21:21 by Claireyyyy
[¿¼ÑÐ] 284Çóµ÷¼Á +9 ÈÃÎÒÉϰ¶°É°¢Î÷ 2026-04-09 11/550 2026-04-10 19:18 by ¾¸jing
[¿¼ÑÐ] 282£¬µçÆø¹¤³Ìרҵ£¬Çóµ÷¼Á£¬²»Ìôרҵ +9 jggshjkkm 2026-04-10 9/450 2026-04-10 14:55 by ÄæË®³Ë·ç
[¿¼ÑÐ] Ò»Ö¾Ô¸»¦9£¬326ÉúÎïѧÇóÏà¹Ø×¨Òµµ÷¼Á +4 Áõīī 2026-04-09 4/200 2026-04-10 12:07 by pengliang8036
[¿¼ÑÐ] 367Çóµ÷¼Á +10 hffQAQ 2026-04-09 10/500 2026-04-09 18:06 by lijunpoly
[¿¼ÑÐ] 388Çóµ÷¼Á +6 ËÄ´¨ÍõÌÎ 2026-04-07 8/400 2026-04-08 00:17 by JourneyLucky
[¿¼ÑÐ] 313Çóµ÷¼Á +3 Ê®Áùʰ½ 2026-04-07 3/150 2026-04-07 23:20 by lbsjt
[¿¼ÑÐ] Çóµ÷¼Á +11 wwwwabcde 2026-04-07 11/550 2026-04-07 23:16 by JourneyLucky
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û