¡õ ·±ÌåÖÐÎÄ
¡õ ¸ß¼¶ËÑË÷
 
Ê×Ò³ | µç×Ó¼¼ÊõÓ¦Óà | ÐÐÒµ×îж¯Ì¬ | ÐÐÒµ×îвúÆ· | Èí¼þ×ÊÁÏÏÂÔØ | µç·ͼֽÐÀÉÍ | ²©¿ÍÎÄÕ¾«Ñ¡ | µç×Ó¾«Æ·ÂÛ̳ | µç×Ó¼¼ÊõÌù°É

µ±Ç°Î»ÖãºÊ×Ò³ >> µç×Ó¼¼ÊõÓ¦Óà >> ǶÈëʽϵͳ-Ó¦Óà >> µØÖ·ÖØÓ³ÉäÔÚS3C4510BϵͳÖеÄʵÏÖ
µØÖ·ÖØÓ³ÉäÔÚS3C4510BϵͳÖеÄʵÏÖ
×÷ÕߣºÖйúº£Ñó´óѧ ²Ü ΰ ÖÓʯÀÚ Ëï¿Ëâù ³Ì ¿­   À´Ô´£ºµ¥Æ¬»ú¼°Ç¶ÈëʽϵͳӦÓà·¢±íʱ¼ä£º2006-11-17  ×ֺţº´ó ÖРС

¡¡

ÕªÒª£º½éÉÜ»ùÓÚS3C4510BϵͳµÄÆô¶¯Á÷³Ì£»Ïêϸ½éÉÜRemap£¨ÖØÓ³É䣩µÄʵÏÖ¹ý³Ì¼°²¿·Ö¹Ø¼ü´úÂ룬¸ø³öÆô¶¯´úÂëÖÐÒì³£ÖжÏÏòÁ¿µÄ´¦Àí¡£

¹Ø¼ü´Ê£ºRemap µØÖ·ÖØÓ³Éä S3C4510B Òì³£ÖжÏ

½üÄêÀ´£¬Ëæ×Å32Î»Ð¾Æ¬ÖÆÔì¼¼ÊõµÄ²»¶ÏÍêÉÆ£¬ÖÆÔì³É±¾²»¶Ï½µµÍ£¬¹úÄÚµÄ32λMCUÊг¡Ò²¿ªÊ¼»ð±¬ÆðÀ´¡£Ô½À´Ô½¶àµÄ¹¤³Ìʦ¿ªÊ¼½«¿ª·¢Ä¿¹â´Ó8Î»×ªÒÆµ½32λ΢´¦ÀíÆ÷ÉÏ£¬»ùÓÚ32λMCUµÄ²úÆ·ÈçÓêºó´ºËñ°ã²ã³ö²»ÇӦÓÃÁìÓòº­¸ÇÁËÕÆÉÏÉ豸¡¢¼ÒÓõçÆ÷¡¢ÍøÂçÉ豸¡¢ÎÞÏßͨÐÅ¡¢¹¤Òµ¿ØÖƵȡ£ÔÚ32λ΢¿ØÖÆÐ¾Æ¬ÁìÓò£¬ARM¼Ü¹¹µÄоƬռÁ˽ü70%µÄÊг¡¡£±¾ÎÄÖÐËùÓõ½µÄ´¦ÀíÆ÷ÕýÊÇSamsung¹«Ë¾Éú²úµÄ»ùÓÚARM¼Ü¹¹µÄS3C4510B¡£

1 S3C4510B¼ò½é

S3C4510BÊÇÒ»¿î»ùÓÚÒÔÌ«ÍøÏµÍ³µÄ¸ßÐԼ۱ȡ¢¸ßÐÔÄܵÄ16/32λRISC΢´¦ÀíÆ÷¡£Ð¾Æ¬²¿¼¯³ÉÁË8KBµÄCache/SRAMºÍEthernet¿ØÖÆÆ÷£¬¼õÉÙÁËÕû¸öϵͳµÄ³É±¾¡£Æ¬Íâ¿ÉÀ©Õ¹ROM¡¢Flash¡¢SDRAMµÈ´æ´¢Ð¾Æ¬£¬¿ÉÒÔÒÆÖ²¦ÌClinuxµÈ¸´ÔӵIJÙ×÷ϵͳ¡£ÀûÓòÙ×÷ϵͳÍêÉÆµÄTCP/IPЭÒéÕ»³ä·Ö·¢»ÓоƬµÄÍøÂ繦ÄÜ

¡£S3C4510BоƬÄÚ²¿Ã»ÓгÌÐò´æ´¢Æ÷£¬ËùÓгÌÐò¶¼±»´æ´¢ÔÚÆ¬ÍâÀ©Õ¹µÄROMºÍFlashÖС£¿ªÊ¼Æô¶¯Ê±£¬´æÓÐÆô¶¯´úÂëµÄROM»òFlash½«±»Ó³ÉäΪ0x00µØÖ·£¬ÏµÍ³´Ó´Ë¿ªÊ¼ÔËÐС£µ«ÔÚʵ¼ÊÓ¦ÓÃÖУ¬ÎªÌá¸ßϵͳµÄʵʱÐÔ£¬¼Ó¿ì´úÂëµÄÖ´ÐÐËÙ¶È£¬ÏµÍ³Æô¶¯ºó³ÌÐòÍùÍùÒª±»°áÒÆµ½RAMÖУ¬ÒòΪRAMµÄ´æÈ¡ËÙ¶ÈÒª±ÈROM¿ìµÃ¶à£¬ÕâÑù´ó´óÌáÉýϵͳµÄÐÔÄÜ¡£ÓÉÓÚS3C4510BоƬÖеÄÒì³£ÖжÏÈë¿ÚµØÖ·±»¹Ì¶¨ÔÚ0x00¿ªÊ¼µÄ8¸ö×ÖÖУ¬ÏµÍ³Ö»Äܽ«µØÖ·¿Õ¼äÖØÐ·ÖÅ䣬°ÑRAMÓ³Éäµ½0x00µØÖ·´¦£¬ÕâÕýÊÇRemapµÄÔ­ÒòËùÔÚ¡£

S3C4510BÄÚ²¿Óм¸¸öÌØÊâ¼Ä´æÆ÷£¬ÓÃÓÚʵÏÖµØÖ·¿Õ¼äºÍоƬÄÚÍâ´æ´¢½éÖʵÄÓ³Éä¡£Õ⼸¸ö¼Ä´æÆ÷µÄ¼ò½éÈçÏ£º

SYSCFG£ºÉèÖÃÌØÊâ¼Ä´æÆ÷µÄÆðʼµØÖ·ºÍƬÄÚSRAMµÄÆðʼµØÖ·¡£

EXTDBWTH£ºÉèÖø÷Bank¼Ä´æÆ÷ËùÓ³ÉäоƬµÄÊý¾ÝÏß¿í¶È¡£

ROMCON0¡«ROMCON5£ºÉèÖÃϵͳÄÚÆ¬À©Õ¹ROMºÍFlashµÄÆðʼºÍÖÕÖ¹µØÖ·¡£

DRAMCON0¡«DRAMCON3£ºÉèÖÃϵͳÄÚÆ¬ÍâÀ©Õ¹RAMµÄÆðʼºÍÖÕÖ¹µØÖ·¡£

S3C4510BоƬÄÚÌØÊâ¼Ä´æÆ÷¶ÎµÄÎïÀíµØÖ·Îª0x3ff0000£¬¸÷ÌØÊâ¼Ä´æÆ÷µÄÆ«ÒÆµØÖ·Ïê¼ûS3C4510BµÄ¼¼ÊõÊֲᡣ

2 S3C4510BϵͳÖÐRemapµÄʵÏÖ

µØÖ·¿Õ¼äµÄÖØÐ·ÖÅ䣬Óë´¦ÀíÆ÷µÄÓ²¼þ½á¹¹½ôÃÜÏà¹Ø¡£×ÜÌåÀ´Ëµ£¬32λϵͳÖеĵØÖ·ÖØÓ³Éä»úÖÆ¿ÉÒÔ·ÖΪÁ½ÖÖÇé¿ö£ºÒ»ÀàÊÇ´¦ÀíÆ÷ÄÚ²¿×¨ÃŵļĴæÆ÷¿ÉÒÔÍê³ÉRemap£¬ÕâÑùÖ»Ð轫Remap¼Ä´æÆ÷µÄÏàӦλÖÃ1£¬ÓÉÓ²¼þÂß¼­À´Íê³ÉµØÖ·µÄÖØÐÂÓ³É䣬ÈçAtmel AT91xxϵÁУ»ÁíÒ»ÀàûÓÐרÃŵÄRemap¿ØÖƼĴæÆ÷£¬ÐèÒªÖØÐ¸Äд´¦ÀíÆ÷ÄÚ²¿ÓÃÓÚ¿ØÖÆMemoryÆðÖ¹µØÖ·µÄBank¼Ä´æÆ÷£¬À´ÊµÏÖRemap¹ý³Ì¡£S3C4510BÊôÓÚµÚ¶þÖÖÇé¿ö¡£

2.1 Ó²¼þϵͳ½á¹¹¼°µØÖ··ÖÅä

ΪÀýÓÚ¶ÔµØÖ·ÖØÓ³ÉäµÄ¹ý³Ì½øÐзÖÎö£¬Í¼1¸ø³öÁ˱¾ÈËÓÃÓÚ²âÊԵĻù±¾S3C4510BµÄϵͳӲ¼þ½á¹¹¡£ÎÄÖиø³öµÄËùÓÐÁ÷³Ì¼°´úÂë¶¼¾­¹ýÁ˲âÊÔ¡£

´ËϵͳÊÇÒÔSamsung¹«Ë¾¸ø³öµÄ²âÊÔ°åΪ²Î¿¼½¨Á¢µÄ£¬ÆäÖÐROMµÄÈÝÁ¿Îª512KB£¬8λÊý¾Ý×ÜÏߣ¬RemapǰµÄµØÖ··¶Î§Îª0x0000000¡«0x0100000,RemapºóµÄµØÖ··¶Î§Îª0x1000000¡«0x1100000£»RAMµÄÈÝÁ¿Îª16MB£¬32λÊý¾Ý×ÜÏߣ¬RemapǰµÄµØÖ··¶Î§Îª0x0100000¡«0x100000,RemapºóµÄµØÖ··¶Î§Îª0x0000000¡«0x1000000£»FlashµÄÈÝÁ¿Îª2MB£¬16λÊý¾Ý×ÜÏߣ¬RemapǰºóµØÖ·²»±ä£¬¾ùΪ0x1100000¡«0x1300000¡£RemapǰºóµÄµØÖ·Ó³Éä¹ØÏµÈçͼ2Ëùʾ¡£

2.2 ϵͳÆô¶¯¹ý³Ì¼°RemapʵÏÖ

ϵͳµÄµØÖ·ÖØÓ³ÉäÓ¦¸ÃÔÚϵͳµÄÆô¶¯ÖÐÍê³É£¬ÒÔÏÂÊÇS3C4510BµÄRemapÆô¶¯¹ý³Ì¡£

¢ÙÏµÍ³ÌØÊâ¼Ä´æÆ÷µÄÉèÖá£Ö÷ÒªÊÇÅäÖÃÈçÉÏËùÊöµÄÓÃÓÚʵÏÖµØÖ·¿Õ¼äºÍоƬÄÚÍâ´æ´¢½éÖÊÓ³ÉäµÄ¼Ä´æÆ÷£¬ÔÚ±¾ÏµÍ³ÖÐÅäÖÃÈçÏ£º

SYSCFG=0x87ffff90

EXTDBWTH=0x3001

ROMCON0=0x01000060

ROMCON1=0x13044060

DRAMCON0=0x11004060

¢Ú³õʼ»¯ÏµÍ³¶ÑÕ»¡£ÔÚARM7µÄÌåϵ½á¹¹Öй²ÓÐÆßÖÖ¹¤×÷ģʽ£¬²»Í¬µÄģʽÓв»··¶ÑÕ»Ö¸Õ룬»¥²»¸ÉÈÅ¡£¸÷ģʽ¶ÔÓ¦ÓÚ²»··Òì³£Öжϣ¬ÖÁÓÚÄÄЩģʽµÄ¶ÑÕ»ÐèÒª³õʼ»¯È¡¾öÓÚÓû§Ê¹ÓÃÁËÄÄЩÖжϣ¬ÒÔ¼°ÏµÍ³ÐèÒª´¦ÀíЩÒì³£ÀàÐÍ¡£Ò»°ãÀ´Ëµ£¬¹ÜÀíÕߣ¨SVC£©¶ÑÕ»±ØÐëÉèÖã¬Èç¹ûʹÓÃÁËIRQÖжϣ¬ÔòIRQ¶ÑÕ»Ò²±ØÐëÉèÖá£ÓÐÒ»µãÐèҪעÒâµÄÊÇ£¬Îª±£Ö¤Remapºó³ÌÐòÔËÐÐÕý³££¬ËùÓжÑÕ»Ó¦ÉèÖÃÔÚRAMµÄ¸ß¶ËµØÖ·ÖС£

¢Û³õʼ»¯I/O¿Ú¡¢UART¡¢¶¨Ê±Æ÷¡¢ÖжϿØÖÆÆ÷ÒÔ¼°ÏµÍ³ÖÐËùÓõ½µÄÆäËü×ÊÔ´¡£ÔÚ³õʼ»¯Òì³£ÏòÁ¿±í»òÐÞ¸ÄÒì³£ÏòÁ¿±íÖеÄÈë¿ÚµØÖ·Ç°£¬Òª¹ØµôËùÓÐÖжϡ£

¢ÜÒì³£ÏòÁ¿±íµÄ³õʼ»¯¡£½«Ãñ³£ÖлÍâò´¦Àí³ÌÐòµÄÈë¿ÚµØÖ·Ð´ÈëRAMÖÐÏàÓ¦µÄÒì³£ÏòÁ¿¡£±ØÐë±£Ö¤µÄÊÇ£¬Òì³£ÏòÁ¿±í¾ø¶Ô²»»á±»´ÓROM°áÒÆµ½RAMÖеĴúÂëºÍÊý¾ÝËù¸²¸Ç£¬Îª´Ë£¬Òì³£ÏòÁ¿±íÒ»°ã±»¶¨ÒåÔÚRAMÖеĸ߶˵ØÖ·ÖС£

¢Ý³ÌÐò´úÂë¼°Êý¾ÝµÄ°áÒÆ¡£Remapºó£¬RAM±»Ó³Éäµ½0x0000µÄµØÖ·¿Õ¼ä£¬ROMÔò±»ÒƵ½¸ß¶ËµØÖ·ÉÏ¡£Îª±£Ö¤Remapºó³ÌÐòÄܹ»îªÔËÐУ¬ROMÖеĴúÂëºÍÊý¾Ý±ØÐëµØÖ·²»±äµØ±»ÒƵ½RAMÖС£ÕâÊÇRemap³É¹¦µÄ¹Ø¼ü¡£Á½ÖÖ;¾¶¿ÉÒÔʵÏÖ°áÒÆ¡£

Ò»ÖÖÊDz»¹Üʵ¼ÊµÄ´úÂë¿Õ¼äÓжà´ó£¬Ö±½Ó½«ROMµØÖ·¿Õ¼äÕû¸ö°áÒÆµ½RAMÖС£µ±È»£¬ÕâÖÖ·½·¨²¢²»ÊʺÏÔÚÕæÕýµÄÆô¶¯´úÂëÖÐʹÓ㬵«ÔÚ×ö³õ²½µÄRemap²âÊÔʱ£¬¿ÉÒÔÓÃÀ´¼ìÑé¶ÑÕ»¼°Òì³£ÖжϵÄÉèÖÃÊÇ·ñºÏÀí¡£

ÁíÒ»ÖÖ·½·¨½Ï¸´ÔÓ£¬ËüʹÓÃÁËSDTÁ´½ÓÆ÷ARMLink²úÉúµÄ¶¨Î»ÐÅÏ¢£¬½ö°ÑRO·ç´µ²Ý¶¯µÄÓÐЧ´úÂëºÍÊý¾Ý¶Îµ½RAMÖС£ARMLink½«±àÒëºóµÄ³ÌÐòÁ´½Ó³ÉELFÎļþ¡£Ó³ÏñÎļþÄÚ²¿¹²ÓÐÈýÖÖÊä³ö¶Î£ºRO¶Î¡¢RW¶ÎºÍZI¶Î¡£ÕâÈýÖÖÊä³ö¶Î·Ö±ð°üº¬ÁËÖ»¶Á´úÂë¼°°üº¬ÔÚ´úÂë¶ÎÖеÄÉÙÁ¿Êý¾Ý¡¢¿É¶ÁдµÄÊý¾Ý¡¢³õʼ»¯Îª0µÄÊý¾Ý£¬ARMLinkͬʱ»¹²úÉúÁËÕâÈýÖÖÊä³ö¶ÎµÄÆðʼºÍÖÕÖ¹¶¨Î»ÐÅÏ¢£ºImage$$RO$$Base¡¢Image$$RO$$Limit¡¢Image$$RW$$Base¡¢Image$$Limit¡¢Image$$LinitºÍImage$$ZI$$Limit¡£¿ÉÒÔÔÚ³ÌÐòÖÐʹÓÃÕâЩ¶¨Î»ÐÅÏ¢¡£½«ROMÖеĴúÂëºÍÊý¾Ý°áÒÆµ½RAMÖУ¬ÆäʵÏÖ´úÂëÈçÏ£º

Êý¾Ý¶¨Ò壺

BaseOfrom DCD |Image$$RO$$Base|

TopOfrom DCD |Image$$RO$$Limit|

BaseOfBSS DCD |Image$$RW$$Base|

BaseOfZero DCD |Image$$ZI$$Base|

EndOfBSS DCD |Image$$ZI$$Limit|

Ô´³ÌÐò£º

£»½«ROMÖеijÌÐò°áÒÆµ½RAMÖУ¬ÖØÓ³ÉäºóµÄµØÖ·²»±ä

adr r0,ResetEntry ;ROMÖгÌÐòÆðʼµØÖ·

mov r3,#(RamBaseAddr<<16) ;RamBaseAddr=0x100

Idr r1,BaseOfROM

Idr r2,TopOfROM

Add r1,r1,r3

Add r2,r2,r3

0

Idmia r0!,{r4-r11}

Stmia r1!,{r4-r11}

Cmp r1,r2

Bcc°

;½«RW¶ÎÖÐÔ¤³õʼ»¯µÄ±äÁ¿°áÒÆµ½RAMÖÐ

sub r1,r1,r2

sub r0,r0,r1 ;½«r0Ö¸ÏòRO¶ÎµÄ½áÊø£¬¼´RW¶ÎµÄ¿ªÊ¼

ldr r1,BaseOfBSS

Idr r2,BaseOfZero

Add r1,r1,3

Add r2,r2,r3

1 £»»ùÓÚ¾Ö²¿±êºÅµÄÏà¶ÔÌø×ª£¬PC Æ«ÒÆµØÖ·£¬²úÉúÓëλÖÃÎ޹صĴúÂë

cmp r1,r2

ldrcc r4,[r0],#4

strcc r4,[r1]£¬#4

bcc ±

£»½Ó×ŰÑZI¶Î°áÒÆµ½RAMÖУ¬²¢Æä½«³õʼ»¯Îª0

mov r0,#0

Idr r2,EndOfBSS

Add r2,r2,r3

2

cmp r1,2

strcc r0,[r1],#4

bcc²

¢ÞµØÖ·µÄÖØÐÂÓ³Éä¡£S3C4510BÖеÄRemap¹ý³ÌÆäʵºÜ¼òµ¥£¬Ö»ÐèÖØÐÂÉèÖÃROMCON0¡«ROMCON5ºÍDRAMCON0¡«DRAMCON3¡£ÔÚ±¾ÏµÍ³ÖÐÖ»ÐèÖØÐÂÉèÖÃROMCON0ºÍDRAMCON0¡£

Ô´´úÂ룺

£»/*ÄÚ´æ¿ØÖÆ¼Ä´æÆ÷ÖØÐÂÉèÖÃ-´æ´¢¿Õ¼äÖØÐÂÓ³É䵨ַ¿Õ¼ä*/

EXPORT RemapMemory

RemapMemory

mov r12,r14

adr r0,RemapMem

ldmia r0,{r1-r11}

ldr r0,=ROMCON0 ;ROMCON0ΪBank¼Ä´æÆ÷µÄÆðʼµØÖ·

stmia r0,{r1-r11}

bl ExceptionTalbeInit ;ÖжÏÏòÁ¿±íÖØÐ³õʼ»¯

mov pc,r12

RemapMem

DCD &11040060 ;/*ROMCON0 0x1000000¡«0x1100000*/

¡­

DCD &10000398 £»/*DRACON0 0x0¡«0x1000000*/

¡­

¢ß½øÈëC´úÂë¿Õ¼ä£¬¿ªÊ¼Ö÷³ÌÐòµÄÔËÐС£´Ëʱ´úÂëÓ¦¸ÃÔËÐÐÓÚRAMÖС£

ÉÏÃæµÄ²½Öè¿ÉÒÔ¸ù¾Ýʵ¼ÊÐèÒª½øÐÐÊʵ±µÄÌí¼Ó»òɾ½Ú¡£ÖµµÃ×¢ÒâµÄÊÇ£º»ã±àÉú³ÉµÄ´úÂëÓ¦¸ÃÊÇÓëλÖÃÎ޹صĴúÂ룬¼´´úÂëÔÚÔËÐÐÆÚ¼ä¿ÉÒÔ±»Ó³Éäµ½²»Í¬µÄµØÖ·¿Õ¼ä£¬ÆäÖеÄÌø×ªÖ¸Áî¶¼ÊÇ»ùÓÚPC¼Ä´æÆ÷µÄÏà¶ÔÌø×ªÖ¸Áî¡£»ùÓÚPCµÄ±êºÅÊÇλÓÚÄ¿±êÖ¸Áîǰ»òÕß³ÌÐòÖÐÊý¾Ý¶¨Òåα²Ù×÷ǰµÄ±êºÅ£¬ÕâÖÖ·ûºÅÔÚ»ã±àʱ½«±»´¦Àí³ÉPCÖµ¼ÓÉÏ»ò¼õÈ¥Ò»¸öÊý×Ö³£Á¿¡£

3 Òì³£ÖжϵĴ¦Àí

ÔÚRemapµÄÆô¶¯´úÂëÖУ¬ÐèÒªÌØ±ð×¢ÒâµÄÊÇÒì³£ÖжϵĴ¦Àí¡£ÔÚS3C4510BÖУ¬Òì³£ÖжϵÄÈë¿ÚµØÖ·Êǹ̶¨µÄ£¬°´±í1´ÎÐòÅÅÁС£

±í1

Òì³£ÀàÐÍ ¹¤×÷ģʽ Õý³£µØÖ·
¸´Î» ¹ÜÀí 0x00000000
䶨ÒåÖ¸Áî 䶨Òå 0x00000004
Èí¼þÖжϣ¨SWI£© ¹ÜÀí 0x00000008
ԤȡÖÐÖ¹ ÖÐÖ¹ 0x0000000
Êý¾ÝÖÐÖ¹ ÖÐÖ¹ 0x00000010
Ô¤Áô - 0x00000014
IRQ£¨Öжϣ© IRQ 0x00000018
FIQ£¨¿ìËÙÖжϣ© FIQ 0x0000001

µØÖ·ÖØÐÂÓ³ÉäÖ®ºó£¬Èë¿ÚµØÖ·±»Ó³Éäµ½RAMÖУ¬Öжϴ¦Àí´úÂëÒ²±»°áÒÆµ½RAMµØÖ·¿ÕÊÇ¡£´Ëʱ£¬ÖжÏÏìÓ¦ºÍÖжϴ¦ÀíµÄËٶȶ¼½«´ó´ó¼Ó¿ì£¬Õ⽫ÓÐÀûÓÚÌá¸ßÕû¸öϵͳµÄʵʱÐÔ¡£Òì³£ÖжÏÏòÁ¿±íµÄÉè¼Æ½á¹¹Èçͼ3Ëùʾ¡£

ÏÂÃæÊǸ÷²¿·ÖµÄÔ´´úÂ루ÒÔIRQÒì³£ÖжÏΪÀý£©¡£

Òì³£ÏòÁ¿±íµÄ¶¨Ò壺£¨ÏµÍ³³õʼ»¯Ê±£¬½«Òì³£´¦Àí´úÂëÈë¿ÚµØÖ·Ð´ÈëÒì³£ÖеÄÏòÁ¿±í£©

_RAM_END_ADDR EQU 0x01000000 ;ÖØÓ³ÉäºóRAMµÄÖÕÖ¹µØÖ·

MAP £¨_RAM_END_ADDR-0x100£©

SYS_RST_VECTor # 4

UDF_INS_VECTor # 4

SWI_SVC_VECTor # 4

INS_ABT_VECTor # 4

DAT_ABT_VECTor # 4

RESERVED_VECTor # 4

IRQ_SVC_VECTor # 4

FIQ_SVC_VECTor # 4

Òì³£³õʼ»¯´úÂ룺

¡­

b IRQ_SVC_HANDLER ;0x18

¡­

IRQ_SVC_HANDLER

SUB sp,sp,#4 £»ÂúµÝ¼õ¶ÑÕ»

STMFD sp!,{r0}

LDR r0,=IRQ_SVC_VECTor ;¶ÁÈ¡ÖжÏÏòÁ¿£¬

£»IRQ_SVC_VECTOR=SystemrqHandle

LDR r0,[r0]

STR r0,[sp,#4]

LDMFD sp!,{r0,pc}£»Ìø×ªµ½Òì³£Öжϴ¦Àí´úÂëÈë¿Ú

Òì³£´¦ÀíÈë¿Ú´úÂ룺

¡­

SystemIrqHandler

IMPORT ISR_IrqHandler

STMFD sp!,{r0-r12,lr}

BL ISR_IrqHandler ;Ìø×ªµ½C´úÂëÖÐÒì³£Öжϴ¦Àí³ÌÐòISR_IrqHandler

LDMFD sp!,{r0-r12,lr}

SUBS pc,lr,#4

¡­

ÔÚÈçÉϵĽṹÖУ¬²»¹ÜϵͳÊÇ·ñ½øÐÐÁ˵ØÖ·µÄÖØÓ³É䣬Òì³£ÖжÏÏòÁ¿¶¼¿ÉÒÔÔÚÔËÐÐʱ¶¯Ì¬¸Ä±ä£¬´ó´óÌá¸ßÁËÖжϴ¦ÀíÖеÄÁé»îÐÔ¡£ÖжÏÏòÁ¿¿ÉÒÔÔÚÔËÐÐʱָÏò²»Í¬µÄÒì³£´¦Àí´úÂëÈë¿Ú¡£

½áÓï

Ãæ¶ÔʵʱÐÔÒªÇóÔ½À´Ô½¸ßµÄ¸÷ÖÖÓ¦Ó㬲»¹ÜÓ¦ÓÃÖÐÓÐûÓÐǶÈëʽ²Ù×÷ϵͳ£¬Remap¶¼ÒѾ­³ÉΪÆô¶¯´úÂëÖбز»¿ÉÉÙµÄÒ»²¿·Ö¡£RemapµÄʵÏÖ¶ÔÓÚ²Ù×÷ϵͳµÄÒÆÖ²Ò²ÓÐÖØÒªµÄÒâÒå¡£Remap¾ö¶¨ÁËϵͳÆô¶¯µÄЧÂÊ£¬²¢¶ÔÕû¸öϵͳµÄʵʱÐÔºÍÎȶ¨ÐÔ²úÉúºÜ´óÓ°Ïì¡£Òò¶ø£¬¶ÔRemap¹ý³ÌµÄÀí½âºÍÉè¼Æ£¬¶ÔÓÚÄÇЩǶÈëʽϵͳµÄ¿ª·¢ÈËÔ±À´ËµÊǷdz£ÖØÒªµÄ£¬Ëü´ÓÒ»¿ªÊ¼¾Í¾ö¶¨ÁËÕû¸ö¿ª·¢¹ý³ÌµÄ×îÖճɰܡ£


¡¡


£¡×¢Ò⣺Èç¹ûÄú·¢ÏÖ´ËÎÄÕ³öÏÖÓ°ÏìÄúµÄÔĶÁµÄ×´¿ö£¬Çë´Óä¯ÀÀÆ÷µØÖ·À¸Àï¸´ÖÆ±¾ÎĵÄÁ´½Óµ½ÁôÑÔ±¾±¨¸æ¸øÕ¾³¤½â¾ö£¡
  • ÉÏһƪ£º ´óÈÝÁ¿ÄÚ´æÎļþϵͳÉè¼Æ¼°¦ÌC/OSϵÄʵÏÖ
  • ÏÂһƪ£º NS Á½¿îÐÂÐÍBoomer 3D ÒôƵ×Óϵͳ

  • >> ÁªÏµÎÒÃÇÇë¸øÎÒÃÇÁôÑÔ¡¤ÁôÑÔ±¾
    ±¾Õ¾ËùÓÐÌṩµÄÐÅÏ¢Èí¼þ×ÊÁϾùÀ´×ÔÍøÂç,°æÈ¨¼°Öø×÷Ȩ¹éÔ­×÷ÕßËùÓÐ,Èç¹ûÎÞÒâÖÐÇÖ·¸ÁËÄúµÄÏà¹ØÈ¨Àû»ò´¥¼°·¨ÂÉ·¨¹æ,Çë¸øÎÒÃÇÁôÑÔ, ÎÒÃǽ«ÔÚ24СʱÄÚɾ³ý¡£
      ÕãICP±¸05071687ºÅ  µç×Ó¼¼Êõ¾«Æ·Íø