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

sdlj8051

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

[½»Á÷] [תÌù]Èõ¥Æ¬»úÔËÐÐËٶȸü¿ìһЩ

Òý ÑÔ£º

1 ÎÊÌâµÄÌá³ö

1.1 Ó²¼þ¼¼Êõ±³¾°

¡¡¡¡µ¥Æ¬»úµÄƵÂÊÔ½À´Ô½¸ß£¬RAMµÄ·ÃÎÊËÙ¶ÈÒ²À´Ò²¿ì£¬µ«µ¥Æ¬»úϵͳµÄЧÂʲ¢²»Ò»¶¨³É±ÈÀýµÄÌá¸ß¡£
Ŀǰ£¬Ê¹ÓõÄÖ÷Á÷µ¥Æ¬»úÓÐ80386EX(50MHz£¬ÍⲿµØÖ·/Êý¾Ý×ÜÏß16λ)¡¢MPC860T(66MHz£¬ÍⲿµØÖ·/Êý¾Ý×ÜÏß32λ)ÒÔ¼°DS80C32(25MHz£¬ÍⲿµØÖ·/Êý¾Ý×ÜÏß8λ)£»Ê¹ÓõÄSDRAMÓÐHY57ϵÁС¢K416ϵÁÐ(·ÃÎÊËÙ¶È100MHz»ò133MHz)£»Ê¹ÓõÄSRAM ÈçIDT71024¡¢IDT7256(50MHz)£»Ê¹ÓõÄFlashÓÐAT29C512¡¢SST39VF040¡¢AT29C010(8MHz»ò15MHz)µÈ¡£¿É¼û£¬SDRAM£¬SRAMµÄËٶȺ͵¥Æ¬»úÊÇÆ¥ÅäµÄ£¬ÉõÖÁ±Èµ¥Æ¬»úµÄËٶȸü¿ìÒ»µã£¬²»ÐèÒªµ¥Æ¬»ú²åÈëµÈ´ý״̬¡£¶øFlashµÄ·ÃÎÊÆµÂÊÔò±Èµ¥Æ¬»úÂý2~6±¶£¬µ¥Æ¬»úÍùÍùҪͨ¹ý²åÈë¶à¸öµÈ´ý״̬À´ºÍËüÏàÆ¥Å䣬¿öÇÒFlash¶àΪ8룬¶øµ±Ç°µ¥Æ¬»ú¶àΪ16£¬32룬¸ü¶àµÄ½µµÍÁ˵¥Æ¬»úµÄ¹¤×÷ÐÔÄÜ¡£

¡¡¡¡¸ù¾ÝÉÏÊö·ÖÎö£¬Èç¹ûÌá¸ßFlashµÄ·ÃÎÊËÙ¶È£¬À©Õ¹FlashΪ16λ»ò32룬ÄÇô³ÌÐòÖ´ÐеÄËٶȾͿìÁË£¬µ¥Æ¬»úµÄÐÔÄÜÒ²¾ÍÌá¸ßÁË¡£Èç¹ûÄܹ»½«ÕâÒ»Ïë·¨±ä³ÉÊÂʵ£¬¶øÇҳɱ¾µÍÁ®µÄ»°£¬ÄÇÊÇ×îºÃ²»¹ýµÄÊÂÇé¡£ÊÂʵÉÏ£¬¿ÉÒÔ½«8λµÄFlashÀ©Õ¹Îª16λ¡¢ÉõÖÁ32룬µ«Òª¸¶³ö2~4±¶µÄ³É±¾¡£ÓÉÓÚFlash½á¹¹¼°¹¤ÒÕÔ­Òò£¬ÔÚĿǰ²»¿ÉÄÜÓиߴï66MHzµÄÉÌÓû¯ÇÒ¼Û¸ñµÍÁ®µÄFlash¡£ËùÒÔ£¬Ö»ÄÜͨ¹ýÆäËü·½Ê½À´ÌáÉýµ¥Æ¬»úµÄÔËÐÐËÙ¶È¡£

1.2 Èí¼þ¼¼Êõ±³¾°

¡¡¡¡Ê×ÏÈ£¬¿´¿´´«Í³µ¥Æ¬»ú³ÌÐòµÄÔËÐÐÔ­Àí£¬ÎªÁ˱ãÓÚ˵Ã÷£¬¼Ù¶¨Ó²¼þƽ̨Ϊ860T£¬Ê±ÖÓΪ50MHz£»SDRAM¿Õ¼ä4M¡Á32bit£¬µØÖ··¶Î§´Ó0x00000000~0x00FFFFFF£¬·ÃÎÊʱ¼ä10ns£»Flash¿Õ¼ä512K¡Á8bit£¬·ÃÎÊʱ¼äΪ100ns,µØÖ··¶Î§´Ó0x02800000~0x0287FFFF(ÖÁÓÚÆäËüµ¥Æ¬»ú£¬ÔËÐÐÔ­Àí´óÖÂÏàͬ£¬¿ÉÒÔÀàÍÆ)¡£860TÔÚÉϵçºó£¬PC(Program Counter)=0x2800100£¬³ÌÐò´ÓPCÖ¸¶¨µÄµØ·½Ö´ÐУ¬Ê×ÏÈÖ´Ðгõʼ»¯´úÂë(BootCode)£¬ÔÙÖ´ÐÐÖ÷³ÌÐò(AppCode)¡£³ÌÐò´ÓFlashÖжÁȡָÁî(code)£¬À´Íê³ÉÊý¾ÝµÄ´«Ê䡪¡ª¿ÉÄÜÊÇSDRAMºÍÄÚ²¿¼Ä´æÆ÷µÄ´«Ê䣬SDRAMÖ®¼äµÄ´«Ê䣬SDRAMºÍÍâÉèµÄ´«Ê䣬Öжϴ¦ÀíµÈ¸÷Ï×÷¡£¿É¼ûÔÚ³ÌÐòÔËÐÐʱ£¬ºÜ´óÒ»²¿·Öʱ¼äÊÇ´ÓFlashÖжÁȡָÁ¶øÕâ¸ö¹ý³ÌÊǺܷÑʱ¼äµÄ¡£ÒÔ¼Ù¶¨µÄ860TÓ²¼þƽ̨ΪÀý£¬ÒòΪFlash·ÃÎÊʱ¼äΪ100ns£¬ËùÒÔ¶ÁÒ»ÌõÖ¸ÁîµÄʱ¼äÖÁÉÙÊÇ100ns£¬Ò²¾ÍÊÇ˵860T¶ÁÒ»ÌõÖ¸ÁîµÄʱºòÒªµÈ´ý100ns¡£(Ö¸Áîcacheͨ¹ýԤȡָÁîµÄ·½Ê½£¬¿ÉÒÔʹʵ¼ÊȡָÁîʱ¼ä¶ÌһЩ£¬µ«ÕâÖÖ·½·¨µÄЧ¹û²¢²»Ã÷ÏÔ£¬¿öÇҺܶ൥Ƭ»ú»¹Ã»ÓÐÖ¸Áîcache¡£)


¡¡¡¡¡¡¡¡¡¡¡¡¡¡
2 ½«´úÂë´ÓFlash°áÔ˵½SDRAMÖеÄÔ­Àí

¡¡¡¡Í¨¹ýÉÏÊö·ÖÎö£¬³õʼ»¯´úÂëBootCodeÖ»ÔÚ³ÌÐòÆô¶¯µÄʱºòÖ´ÐУ¬¾ÍÊÇÂýÒ»µã£¬Ò²¿ÉÒÔ½ÓÊÜ¡£ÕæÕýÓ°ÏìÐÔÄܵÄÊÇÖ÷³ÌÐò(AppCode)£¬ÒòΪÕâÀïµÄ´úÂëÔÚ²»Í£µÄÖØ¸´Ö´ÐУ¬Èç¹û¿ÉÒÔËõ¶ÌËüµÄȡָÁîʱ¼ä£¬Ôòµ¥Æ¬»úµÄ¿ÕÏÐʱ¼ä½«´ó´ó¼õÉÙ£¬ÐÔÄÜÒ²¾ÍÌá¸ßÁ˺ܶࡣSDRAMµÄËٶȱȽϿ죬Èç¹û½«´úÂë°áÔ˵½SDRAMÖУ¬È¡Ö¸Áîʱ¼ä¾Í¼õÉÙÁ˺ܶࣻ¶øÇÒSDRAM¿Õ¼ä´ó£¬²»»áÒòΪ´úÂëÕ¼ÓÃÁËÒ»²¿·Ö¿Õ¼ä¶øÓ°ÏìÐÔÄÜ¡£µ«Õâ²»½ö½öÊǼòµ¥µÄ°áÔ˹ý³Ì£¬ÓÐÎïÀí´æ´¢Æ÷µØÖ·µÄ±ä»¯Ç£ÉæÔÚÕâ¸ö¹ý³ÌÖС£½«Èí¼þÔ´´úÂëת»»³É¿ÉÖ´ÐеĶþ½øÖÆÓ³Ïñ°üÀ¨Èý¸ö²½Ö裺Ê×ÏÈ£¬Ã¿Ò»¸öÔ´Îļþ¶¼±ØÐë±»±àÒë»ò»ã±àµ½Ò»¸öÄ¿±êÎļþ(object file)£»µÚ¶þ²½£¬ËùÓеÄÄ¿±êÎļþÒªÁ¬½Ó³ÉÒ»¸öÄ¿±êÎļþ£¬Ëü½Ð¿ÉÖØ¶¨Î»³ÌÐò(relocation program)£»×îºó£¬ÔÚÒ»¸ö³ÆÎªÖض¨Ö·(relocation)µÄ¹ý³ÌÖУ¬Òª°ÑÎïÀí´æ´¢Æ÷µØÖ·Ö¸¶¨¸ø¿ÉÖØ¶¨Î»³ÌÐòÀïµÄÿ¸öÏà¶ÔÆ«ÒÆ´¦£¬Éú³ÉÒ»¸ö¿ÉÖ´ÐеĶþ½øÖÆÓ³ÏñÎļþ¡£Èç¹ûÔÚFlashÖÐÔËÐУ¬ÔòËùÓеÄÎïÀí´æ´¢Æ÷µØÖ·Ó¦¸ÃÔÚFlashµÄµØÖ·¿Õ¼äÖС£Èç¹ûÒªÔÚRAMÖÐÔËÐУ¬ÔòËùÓеÄÎïÀí´æ´¢Æ÷µØÖ·Ó¦¸ÃÔÚFlashµÄµØÖ·¿Õ¼äÖ®ÖС£Ò²¾ÍÊÇ˵£¬Èç¹ûҪʹ´ÓFlashÖаáÔ˵½SDRAMÖеĴúÂë¿ÉÓã¬Ôò±ØÐë¸Ä±ä±»°áÔË´úÂëµÄÎïÀí´æ´¢Æ÷µØÖ·¡£

3 °áÔË´úÂëµÄʵÏÖ·½·¨

¡¡¡¡ÏÂÃæ½áºÏ¼Ù¶¨µÄÓ²¼þƽ̨£¬ÏêϸÃèÊöÎïÀí´æ´¢Æ÷µØÖ·Öض¨Î»£¬´úÂë°áÔ˵ÄÔ­Àí¼°¹ý³Ì¡£ÎÒÃDZàдÁ½¸öcÎļþ¡ª¡ªRomTool.c¡¢RAMapp.c¡£

¡¡¡¡RomTool.cÍê³É860T³õʼ»¯£¬SDRAMµÄˢУ¬Öжϼ°ÍâÉèµÄ³õʼ»¯£»Flashµ½SDRAMµÄ´úÂë°áÔËÇý¶¯Ä£¿é¼°Ìø×ªÄ£¿é¡£¶ÔÓ¦µÄ¶þ½øÖÆÓ³ÏñÎļþΪRomTool.bin¡£

¡¡¡¡RAMapp.cÊÇʵ¼ÊµÄÓ¦ÓóÌÐò, ¶ÔÓ¦µÄ¶þ½øÖÆÓ³ÏñÎļþΪRAMapp .bin¡£RAMapp.bin±»°áÔ˺óÔÚSDRAMÖÐÔËÐС£

3.1 ÎïÀí´æ´¢Æ÷µØÖ·Ó³É乿Ôò

¡¡¡¡RomTool.cµÄÎïÀíµØÖ·Ó³É乿ÔòΪ£ºÊý¾Ý·ÅÔÚÆðʼΪ0x3000£¬´óСΪ0xf0000µÄSDRAM¿Õ¼äÀ´úÂë±»ÉÕ½áÔÚÆðʼΪ0x02800000£¬´óСΪ0x10000µÄFlash¿Õ¼äÀ²»»á±»°áÔË£¬Ò²ÔڸÿռäÀïÔËÐС£
ËùÒÔÔÚRomTool.lnxÖÐÖ¸¶¨µÄ¶¨Î»¹æÔòÒ²Ó¦¸ÃÊÇÕâ¸öµØÖ··¶Î§£¬ÈçÏ£º
MEMORY
{
ram1: ORIGIN = 0x00003000, LENGTH = 0xf000
flash: ORIGIN = 0x02800000, LENGTH = 0x1000
}
SECTIONS
{
.data : {} > ram1
.text : {} > flash
}

¡¡¡¡RamApp.cµÄÎïÀíµØÖ·Ó³É乿ÔòΪ£º

¡¡¡¡Êý¾Ý·ÅÔÚÆðʼΪ0x3000£¬´óСΪ0xf0000µÄ¿Õ¼äÀ´úÂë±»ÉÕ½áÔÚÆðʼΪ0x02810000£¬´óСΪ0x70000µÄFlashÖУ¬ËüÒª±»°áÔ˵½ÆðʼΪ0x00F00000£¬´óСΪ0x70000µÄSDRAM¿Õ¼äÀ¼´RamApp.Binʵ¼ÊÔÚSDRAMÖÐÔËÐС£

¡¡¡¡ËùÒÔ£¬ÔÚRamApp.lnxÖÐÖ¸¶¨µÄ¶¨Î»¹æÔòÓ¦¸ÃÔÚSDRAMÖУ¬ÈçÏ£º
MEMORY
{
ram1: ORIGIN = 0x00003000, LENGTH = 0xf000
ram: ORIGIN = 0x00F00000, LENGTH = 0x7000
}
SECTIONS
{
.data : {} > ram1
.text : {} > ram
}

¡¡¡¡×îºó£¬ÔÚ860µ¥Æ¬»úϵͳµÄµØÖ·Ó³É乿ÔòÈçͼ2Ëùʾ¡£¶ÔÕÕͼ1£¬¿ÉÒԹ۲쵽ÕâºÍ´«Í³µÄ³ÌÐòµØÖ·Ó³ÉäÓкܴó²»Í¬¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
3.2 °áÔ˵Ĺý³Ì

¡¡¡¡860TÉϵ縴룬RomTool.binÊ×Ïȱ»Ö´ÐУ¬Íê³É³õʼ»¯¹¤×÷ºó£¬ÔËÐдúÂë°áÔ˺¯Êý£¬½«RAMapp.bin°áÔ˵½SDRAMÖУ¬Ëæºó¸Ä±äPC(Program Counter)µÄÖµ£¬ÎÞÌõ¼þ×ªÒÆµ½SDRAMÖÐÔËÐÐRAMapp.bin£¬Èçͼ3Ëùʾ¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
3.3 °áÔË´úÂëµÄÇý¶¯Ä£¿é¼°Ìø×ªÄ£¿éÔ´´úÂë

(1)°áÔË´úÂëÇý¶¯Ä£¿éµÄ´úÂë
void MoveCodeF_to_RAM(UWORD *FlashCode_Add, UWORD *RamCode_Add,UWORD CodeLen) {
do{
*RamCode_Add++ = *FlashCode_Add++;
CodeLen?
} while ( CodeLen!=0)
}
¸Ã¶Î´úÂëÊǽ«¿ªÊ¼µØÖ·ÎªFlashCode_Add£¬³¤¶ÈΪCodeLenµÄFlash´úÂë°áÔ˵½¿ªÊ¼µØÖ·ÎªRamCode_Add£¬³¤¶ÈΪCodeLenµÄSDRAM ÖС£

(2)Ö÷º¯Êý¼°Ìø×ªÄ£¿é
#define FlashCode_Add_V 0x02810000
#define RamCode_Add_V 0x00f00000
#define CodeLen_V 0x00070000/4
void main(){
UWORD *I=(UWORD *) FlashCode_Add_v;
UWORD *j= (UWORD *) RamCode_Add_v;
UWORD *k= (UWORD *) CodeLen_V;
MoveCodeF_to_RAM( (UWORD *) i, (UWORD *) j, (UWORD *)k );
# Ìø×ªÄ£¿é
asm("addis r2,0,0x00f0";
asm("ori r2,r2,0x0000"; # ´úÂëÆðʼµØÖ·0x00f00000
asm("mtspr LR,r2";
asm("bclr 20,0"; # ÎÞÌõ¼þ×ªÌøµ½Á´½Ó¼Ä´æÆ÷
# (LR)ÖеĵØÖ·
}
FlashCode_Add_V£º±»°áÔË´úÂëµÄÊ×µØÖ·£¬ÔÚFlashÖС£
RamCode_Add_V£º±»°áÔË´úÂëµÄÄ¿±êµØÖ·£¬ÔÚRAMÖС£
CodeLen_V£º±»°áÔË´úÂëµÄ³¤¶È£¬°´32λ¼ÆËã¡£
¸Ãº¯ÊýÔÚµ÷ÓôúÂë°áÔËMoveCodeF_to_RAMº¯Êý£¬½«´úÂë´ÓFlash°áÔ˵½SDRAMÖк󣬽«³ÌÐòÖ¸Õë×ªÒÆµ½SDRAMÖС£×¢ÒâÌø×ªµÄµØÖ·Ò»¶¨ÒªºÍRamCode_Add_VÒ»Ö¡£

4 С ½á

¿É¼û£¬ÕýÈ·Íê³É´úÂë°áÔ˵ĹؼüÔÚÓÚ£º
¢Ù È·¶¨±»°áÔË´úÂëµÄÎïÀíµØÖ·Ó³É乿Ôò£¬ ÎïÀíµØÖ·Ò»¶¨ÊÇÔÚSDRAMÖУ»
¢Ú ±»°áÔË´úÂëÊDZ»ÉÕ½áÔÚFlashÖУ¬ºóÀ´ÓÖ±»°áÔ˵½SDRAMÖУ»
¢Û ÎÞÌõ¼þ×ªÒÆµ½SDRAMÖУ¬ÔËÐб»°áÔË´úÂë(Ó¦ÓóÌÐò´úÂë)¡£
¶ÔÓÚÆäËüÐͺŵĵ¥Æ¬»ú£¬¿ÉÒÔ¸ù¾Ý¸ÃÔ­ÀíÀàÍÆ£¬·½·¨ÊÇÒ»ÑùµÄ£¬Ö»ÊǾßÌåµÄ´úÂ벻ͬ¶øÒÑ¡£ÏàÐÅÄãµÄµ¥Æ¬»úϵͳÔÚ¾­¹ýÕâÑùµÄ´¦Àíºó£¬Ð§ÂÊÒ»¶¨»á¸ßºÜ¶à¡£

[ Last edited by sdlj8051 on 2006-10-5 at 19:20 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

1

2Â¥2006-10-05 19:34:49
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
3Â¥2007-03-07 00:53:00
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ sdlj8051 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] Çó²ÄÁÏ£¬»·¾³×¨Òµµ÷¼Á +3 18567500178 2026-03-18 3/150 2026-03-23 23:50 by ÈÈÇéɳĮ
[¿¼ÑÐ] Ò»Ö¾Ô¸ÉϺ£½»´óÉúÎïÓëҽҩר˶324·Ö£¬Çóµ÷¼Á +5 jiajunX 2026-03-22 5/250 2026-03-23 18:07 by YMUÊ©ÀÏʦ
[¿¼ÑÐ] ¹¤¿Æ0856Çóµ÷¼Á +5 ãåÎö͡͡ 2026-03-21 5/250 2026-03-23 17:56 by º£ÉªÞ±-
[¿¼ÑÐ] 291 Çóµ÷¼Á +4 »¯¹¤2026½ì±ÏÒµÉ 2026-03-21 5/250 2026-03-23 16:46 by »¯¹¤2026½ì±ÏÒµÉ
[¿¼ÑÐ] 307Çóµ÷¼Á +3 ÓàÒâÇä 2026-03-21 3/150 2026-03-23 10:32 by Iveryant
[¿¼ÑÐ] Çóµ÷¼Á²ÄÁÏѧ˶080500£¬×Ü·Ö289·Ö 5+3 @taotao 2026-03-19 21/1050 2026-03-23 10:17 by ¹Úc¸ç
[¿¼ÑÐ] Ò»Ö¾Ô¸070300Õã´ó»¯Ñ§358·Ö£¬Çóµ÷¼Á£¡ +4 ËÖËÖÓã.. 2026-03-21 4/200 2026-03-23 08:12 by Iveryant
[¿¼ÑÐ] 311Çóµ÷¼Á +6 ¶¬Ê®Èý 2026-03-18 6/300 2026-03-22 20:18 by edmund7
[¿¼ÑÐ] Çóµ÷¼ÁԺУÐÅÏ¢ +6 CX 330 2026-03-21 6/300 2026-03-22 15:25 by ÎÞи¿É»÷111
[¿¼ÑÐ] Çóµ÷¼Á +5 Zhangbod 2026-03-21 7/350 2026-03-22 13:13 by Zhangbod
[¿¼ÑÐ] Çóµ÷¼Á +7 Auroracx 2026-03-22 7/350 2026-03-22 12:38 by ËØÑÕÇã³Ç1988
[¿¼ÑÐ] ¿¼Ñе÷¼Á +4 À´ºÃÔËÀ´À´À´ 2026-03-21 4/200 2026-03-22 12:15 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] ²ÄÁÏѧ˶301·ÖÇóµ÷¼Á +7 Liyouyumairs 2026-03-21 7/350 2026-03-21 22:31 by peike
[¿¼ÑÐ] 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
[¿¼ÑÐ] Ò»Ö¾Ô¸ËÕÖÝ´óѧ²ÄÁÏÇóµ÷¼Á£¬×Ü·Ö315£¨Ó¢Ò»£© +5 sbdksD 2026-03-19 5/250 2026-03-20 22:10 by luoyongfeng
[¿¼ÑÐ] ÖÐÄÏ´óѧ»¯Ñ§Ñ§Ë¶337Çóµ÷¼Á +3 niko- 2026-03-19 6/300 2026-03-20 21:58 by luoyongfeng
[¿¼ÑÐ] ÕÐÊÕµ÷¼Á˶ʿ +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
[¿¼ÑÐ] ±¾¿ÆÖ£ÖÝ´óѧÎïÀíѧԺ£¬Ò»Ö¾Ô¸»ª¿Æ070200ѧ˶£¬346Çóµ÷¼Á +4 ÎÒ²»ÊÇÒ»¸ù´Ð 2026-03-18 4/200 2026-03-19 09:11 by ¸¡ÔÆ166
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û