»ý·Ö¹æÔò ÍøÕ¾µØÍ¼ °ïÖúÖÐÐÄ    
ǶÈëʽÈí¼þ µ¥ Ƭ »ú DSP ´æ´¢Æ÷ ´«¸Ð¿ØÖÆ ¹âµçÏÔʾ
ǶÈëʽӲ¼þ CPLD/FPGA SOPC AD/DA ½Ó¿Úµç· Ä£ÄâÉè¼Æ
I CÉè¼Æ ͨÐŲúÆ· Æû³µµç×Ó µçÔ´²úÆ· Ïû·Ñµç×Ó Êý¿ØÏµÍ³
¹¤Òµ¿ØÖÆ ¾ü¹¤/º½Ìì °²·À²úÆ· Ò½ÁƵç×Ó ¼ÆËã»úÍâÉè ²âÊÔ²âÁ¿
¹©Ó¦ I C
Çó¹º ¹«Ë¾¿â

  IC Çó¹º ÏúÊÛ ¹«Ë¾ ÂÛÎÄ DATASHEET ²Î¿¼Éè¼Æ ÂÛ̳
µ±Ç°Î»Ö㺠µç×Ó¼¼Êõ >> Ç¶ÈëʽÈí¼þ >> UC/OS
  Ïà¹Ø·ÖÀà: LINUX | WINCE | UC/OS | Bootloader | ÏÂÔØ | VXWORKS | ÍøÂçЭÒé | JAVA | »ã±à | Çý¶¯Éè¼Æ | Symbian | XP Embedded | Nucleus | вúÆ· | Ïà¹ØÎÄÕ | ×ۺϼ¼Êõ |
ǶÈëʽϵͳmC/OS-IIÔÚLPC2119ÉϵÄÒÆÖ²·½·¨ºÍ¼¼ÇÉ
 
×÷ÕߣºÎ÷±±¹¤Òµ´óѧº½º£Ñ§Ôº ³ÂÐË¡ ÎâÐñ¹â Ëվꠠ À´Ô´£ºµç×Ó²úÆ·ÊÀ½ç    µã»÷Êý£º200   ¸üÐÂʱ¼ä£º2008-4-3
Äú¿ÉÒÔÌí¼Óµ½ÍøÕª Èøü¶àÈ˹Ø×¢´ËÎÄÕ£º

        mC/OS-IIÊÇÒ»¸öÍêÕûµÄ£¬¿ÉÒÆÖ²¡¢¿É¹Ì»¯¡¢¿É²Ã¼õµÄÕ¼ÏÈʽʵʱ¶àÈÎÎñÄںˣ¬Ëü¹¦ÄÜÇ¿´ó£¬Ö§³Ö56¸öÓû§ÈÎÎñ£¬Ö§³ÖÐźÅÁ¿¡¢ÓÊÏä¡¢ÏûÏ¢¶ÓÁеȶàÖÖ³£ÓõĽø³Ì¼äͨÐÅ»úÖÆ¡£¹«¿ªÔ´´úÂ룬³ÌÐò¿É¶ÁÐÔÇ¿¡¢ÒÆÖ²ÐԺã¬Í¬Ê±¿ÉÃâ·Ñ»ñµÃ¡£

¡¡¡¡LPC2119ÊÇÓÉPHILIPSÉú²úµÄÒ»¿î32λARM7TDMI-S΢´¦ÀíÆ÷£¬ÆäºËÐÄΪ¸ßÐÔÄܵÄ32λRISCÌåϵ½á¹¹£¬²¢¾ßÓиßÃܶȵÄ16λָÁºÍ¼«µÍµÄ¹¦ºÄ¡£¾ßÓÐÁãµÈ´ý128K×Ö½ÚµÄÆ¬ÄÚFLASH£¬16KµÄSRAM£¬ÎÞÐèÀ©Õ¹´æ´¢Æ÷£¬Ê¹ÏµÍ³¸üΪ¼òµ¥¡¢¿É¿¿¡£
¡¡¡¡
¡¡¡¡±¾ÎÄÖ÷ÒªÌÖÂÛmC/OS-IIÔÚLPC2119ÉϵÄÒÆÖ²£¬Í¬Ê±¶ÔÒÆÖ²Ç°ÐèÒªÕÆÎյĻù±¾ÖªÊ¶½øÐÐÁË·ÖÎö£¬ÌرðÊǶÔÓëÒÆÖ²ÃÜÇÐÏà¹ØµÄÈý¸öÎļþ½øÐÐÁËÏêϸ·ÖÎö£¬»¹¶ÔÓõ½µÄоƬµÄÖØÓ³Éä¸ÅÄî½øÐÐÁËÏêϸ˵Ã÷¡£


¡¡¡¡LPC2119¼ò½é


¡¡¡¡LPC2119ƬÉÏ×ÊÔ´³ýÁËÉÏÃæ½éÉܵĴ洢Æ÷Í⣬»¹ÓÐ2¸öUART¡¢¸ßËÙI2C½Ó¿Ú¡¢2¸öSPI½Ó¿Ú¡¢6·Êä³öµÄPWMµ¥Ôª¡¢4·10λADת»»Æ÷¡¢2¸ö32λ¶¨Ê±Æ÷¡¢2¸öCANͨµÀ¡¢ÊµÊ±Ê±ÖÓ¼°¿´ÃŹ·µÈ£¬Í¨¹ýƬÄÚPLL¿ÉʵÏÖ×î´óΪ60MHzµÄCPU²Ù×÷ƵÂÊ¡£
                      
¡¡¡¡ÓÉÓÚÏÂÎÄÆô¶¯´úÂëµÄ±àдҪÓõ½ÖØÓ³Éä(remap)µÄ¸ÅÄLPC2119ÒÔ¼°ÆäËüϵÁеÄоƬÈçAT91µÈÒ²¶¼ÓÐÖØÓ³ÉäµÄ¹¦ÄÜ£¬ËùÒÔÔڴ˼ÓÒÔ˵Ã÷¶ÔÆäËüARMоƬµÄѧϰ¾ßÓÐ½è¼ø×÷Óá£


¡¡¡¡ÔÚARMоƬµÄ´æ´¢Æ÷ÖУ¬Òì³£ÏòÁ¿±íÈç±í1Ëùʾ¡£


¡¡¡¡µ±ÏµÍ³Éϵçºó£¬³ÌÐò½«×Ô¶¯´Ó0µØÖ·´¦¿ªÊ¼Ö´ÐУ¬Òò´ËÔÚϵͳµÄ³õʼ״̬£¬ÒªÇó0µØÖ·´¦µÄ´æ´¢Æ÷ÊÇ·ÇÒ×ÐÔµÄROM»òFlashµÈ¡£µ«ÊÇROM»òFlashµÄ·ÃÎÊËÙ¶ÈÏà¶Ô½ÏÂý£¬Ã¿´ÎÖжϷ¢Éúºó£¬¶¼Òª´Ó¶ÁÈ¡ROM»òFlashÉϵÄÏòÁ¿±í¿ªÊ¼£¬Ó°ÏìÁËÖжÏÏìÓ¦ËÙ¶È¡£Òò´Ë£¬LPC2119ÌṩһÖÖÁé»îµÄµØÖ·ÖØÓ³Éä·½·¨£¬¸Ã·½·¨¿ÉÒÔ½«ÄÚ²¿RAMµÄµØÖ·ÖØÐÂÓ³Éäµ½0x0µÄλÖá£ÔÚϵͳִÐÐÖØÓ³ÉäÃüÁî֮ǰ£¬ÐèÒª½«FlashÖеÄÖжÏÏòÁ¿´úÂ뿽±´µ½ÄÚ²¿RAMÖС£ÕâÑùÔÚÖØÓ³ÉäÃüÁîÖ´ÐÐÖ®ºóÏ൱ÓÚ´ÓÄÚ²¿RAMÖÐ0x0µÄλÖÃÕÒµ½ÖжÏÏòÁ¿£¬¶øÊµ¼ÊÉÏÊǽ«RAMµÄÆðʼµØÖ·0x40000000Ó³ÉäΪ0x0ÁË¡£ÕâÑù£¬ÖжÏÖ´ÐÐʱÏ൱ÓÚÔÚRAMÖÐÕÒµ½¶ÔÓ¦ÖжÏÏòÁ¿£¬ÊµÏÖÒì³£´¦Àíµ÷ÊÔ¡£


¡¡¡¡mC/OS-IIµÄ½éÉÜ


¡¡¡¡mC/OS-IIʵ¼ÊÉÏÊÇÒ»¸öǶÈëʽ²Ù×÷ϵͳÄںˣ¬ÄÚºËÌṩµÄ»ù±¾·þÎñ¾ÍÊÇÈÎÎñÇл»¡£ÔÚmC/OS-IIÖУ¬ÎªÃ¿¸öÈÎÎñ·ÖÅäרÃŵĶÑÕ»¿Õ¼ä¡£mC/OS-II½øÐÐÈÎÎñÇл»µÄʱºò£¬»á°Ñµ±Ç°ÈÎÎñµÄCPU¼Ä´æÆ÷·Åµ½´ËÈÎÎñµÄ¶ÑÕ»ÖУ¬È»ºóÔÙ´ÓÁíÒ»¸öÈÎÎñµÄ¶ÑÕ»Öлָ´Ô­À´µÄ¹¤×÷¼Ä´æÆ÷£¬¼ÌÐøÔËÐÐÁíÒ»¸öÈÎÎñ¡£ËùÒÔ£¬¼Ä´æÆ÷µÄÈëÕ»ºÍ³öÕ»ÊÇmC/OS-II¶àÈÎÎñµ÷¶ÈµÄ»ù´¡¡£


¡¡¡¡mC/OS-IIµÄ½á¹¹Èçͼ1Ëùʾ¡£


¡¡¡¡Èçͼ1Ëùʾ£¬Óë´¦ÀíÆ÷Ïà¹ØµÄ´úÂëÖ»ÓÐÈý¸öÎļþ£¬Ò»°ãÒÆÖ²µÄʱºòÖ»ÒªÐÞ¸ÄÕâÈý¸öÎļþ¾Í¿ÉÒÔÁË¡£


¡¡¡¡±àдÆô¶¯´úÂë


¡¡¡¡Æô¶¯´úÂëÊÇоƬ¸´Î»ºó½øÈëCÓïÑÔµÄmain()º¯ÊýǰִÐеÄÒ»¶Î´úÂ룬Ö÷ÒªÊÇΪÔËÐÐCÓïÑÔ³ÌÐòÌṩ»ù±¾ÔËÐл·¾³£¬Èç³õʼ»¯ÍâΧ²¿¼þ¡¢´æ´¢Æ÷ϵͳµÈ¡£Òò´ËÆô¶¯´úÂëµÄ¹¦ÄÜÓÐЩÀàËÆPC»úÖеÄBIOSºÍVxWorksÖеÄBootloader¡£ÓÉÓÚ·ÉÀûÆÖδÌṩ¸ÃоƬµÄÆô¶¯´úÂ룬ËùÒÔÐèÒª×Ô¼º±àдÆô¶¯´úÂë¡£


¡¡¡¡Æô¶¯´úÂë¿ÉÒÔ»®·ÖΪÎå¸öÎļþ£ºStartup.s¡¢IRQ.s¡¢stack.s¡¢heap.sºÍtarget.c¡£Startup.s°üº¬ÁËÇ°ÃæÌáµ½µÄÒì³£ÏòÁ¿±íºÍϵͳ³õʼ»¯´úÂ룬һ°ãÎÞÐè¸Ä¶¯£»IRQ.s°üº¬ÖжϷþÎñ³ÌÐòÓëC³ÌÐòµÄ½Ó¿Ú´úÂ룬¿É¸ù¾Ýʵ¼ÊʹÓõÄÖжÏÇé¿ö½øÐÐÉÙÁ¿Ð޸ģ»stack.sºÍheap.s±£´æCÓïÑÔʹÓõĶѺÍÕ»µÄ¿ªÊ¼Î»Öã»target.c°üº¬Ä¿±ê°åÌØÊâµÄ´úÂ룬°üÀ¨Òì³£´¦Àí³ÌÐòºÍÄ¿±ê°å³õʼ»¯³ÌÐò£¬¿É¸ù¾Ý³ÌÐòµÄÐèÒªÐ޸ġ£


¡¡¡¡ÓÉÓÚÆô¶¯´úÂëµÄ±àдºÜ³¤£¬¶ø±¾ÎÄÖ»ÊÇÏëÖ¸³ö±àдÆô¶¯´úÂëÊÇÒÆÖ²Ç°±ØÐë×öµÄ×¼±¸¹¤×÷²¢¶ÔÆä½øÐмòҪ˵Ã÷£¬Òò´ËÔÚÕâÀï¾Í²»¾ßÌåÁгöËùÓдúÂë(¾ßÌåµÄÆô¶¯´úÂë¼û²Î¿¼ÎÄÏ×[1])£¬¶ø¸ø³öÒ»¸öºÜÖØÒªµÄÄ¿±ê°å³õʼ»¯³ÌÐòÖеĺ¯ÊýTargetResetInit()µÄÁ÷³Ìͼ£¬´ÓÖпÉÒÔ¿´³öÔÚ½øÈëmain()º¯Êýǰ¶Ôϵͳ½øÐеĻù±¾³õʼ»¯¹¤×÷µÄ¾ßÌå²½Öè¡£


¡¡¡¡ÒÆÖ²


¡¡¡¡ÓÐÁËÉÏÃæµÄ֪ʶºÍ±àдÆô¶¯´úÂëÕâÏî×¼±¸¹¤×÷Íê³Éºó£¬¾Í¿ÉÒÔ½øÈë¾ßÌåÒÆÖ²½×¶ÎÁË¡£Ö÷ÒªÍê³ÉÒÔϹ¤×÷£º


¡¡¡¡¢Ù ΪÁËÔöÇ¿´úÂëµÄ¿ÉÒÆÖ²ÐÔ£¬ËùÓÐCÎļþÌí¼ÓÍ·Îļþincludes.h¡£


¡¡¡¡¢Ú Óû§³ÌÐòÌí¼Óconfig.h¡£


¡¡¡¡¢Û ÔÚÎļþOS_CPU.HÖÐÐèÒªÌí¼Ó»òÐ޸ĵÄÖ÷Òª´úÂëÓУº


¡¡¡¡?¶¨Òå²»ÒÀÀµÓÚ±àÒëÆ÷µÄÊý¾ÝÀàÐÍ£º


¡¡¡¡typedef unsigned char   INT8U;
¡¡¡¡typedef unsigned short  INT16U;
¡¡¡¡typedef unsigned int    INT32U;
¡¡¡¡typedef INT32U       OS_STK;
¡¡¡¡ÿÿÿ


¡¡¡¡?ʹÓÃÈíÖжÏSWI×÷µ×²ã½Ó¿Ú£º


¡¡¡¡__swi(0x00) void OS_TASK_SW(void);          /*  ÈÎÎñ¼¶ÈÎÎñÇл»º¯Êý  */
¡¡¡¡__swi(0x01) void _OSStartHighRdy(void);        /*  ÔËÐÐÓÅÏȼ¶×î¸ßµÄÈÎÎñ */
¡¡¡¡__swi(0x02) void OS_ENTER_CRITICAL(void);   /*¹ØÖÐ¶Ï */
¡¡¡¡__swi(0x03) void OS_EXIT_CRITICAL(void);     /*  ¿ªÖÐ¶Ï */
¡¡¡¡ÿÿÿ
¡¡¡¡__swi(0x80) void ChangeToSYSMode(void);      /*  ÈÎÎñÇл»µ½ÏµÍ³Ä£Ê½ */
¡¡¡¡__swi(0x81) void ChangeToUSRMode(void);     /* ÈÎÎñÇл»µ½Óû§Ä£Ê½ */
¡¡¡¡? #define OS_STK_GROWTH    1          /* ¶ÑÕ»ÊÇ´ÓÉÏÍùϳ¤µÄ*/


¡¡¡¡?¶¨Ò幤×÷ģʽ£º


¡¡¡¡#define     USR32Mode       0x10             /* Óû§Ä£Ê½ */
¡¡¡¡#define     SYS32Mode       0x1f              /*  ϵͳģʽ*/
¡¡¡¡#define     NoInt            0x80
¡¡¡¡#ifndef     USER_USING_MODE
¡¡¡¡#define   USER_USING_MODE  USR32Mode   /*  ÈÎÎñȱʡģʽ*/
¡¡¡¡#endif


¡¡¡¡?¶¨Ò忪¹ØÐźÅÁ¿£º    extern  OS_STK  OsEnterSum


¡¡¡¡¢Ü ÔÚÎļþOS_CPU_C.CÖÐÐèÒªÌí¼Ó»òÐ޸ĵĴúÂ룺
¡¡¡¡? OS_ENTER_CRITICAL()´úÂë
¡¡¡¡__asm
¡¡¡¡ {    MRS     R0, SPSR
¡¡¡¡      ORR     R0, R0, #NoInt
¡¡¡¡      MSR     SPSR_c, R0
¡¡¡¡ }
¡¡¡¡ OsEnterSum++;
¡¡¡¡? OS_EXIT_CRITICAL()´úÂë
¡¡¡¡if (--OsEnterSum == 0)
¡¡¡¡ {  __asm
¡¡¡¡     {    MRS     R0, SPSR
¡¡¡¡          BIC     R0, R0, #NoInt
¡¡¡¡          MSR     SPSR_c, R0
¡¡¡¡       }
¡¡¡¡  }


¡¡¡¡? ±àдÈÎÎñ¶ÑÕ»µÄ³õʼ»¯´úÂ룺


¡¡¡¡OS_STK *OSTaskStkInit (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT16U opt)
¡¡¡¡{  OS_STK  *stk;
¡¡¡¡opt  = opt;              /* 'opt'  ûÓÐʹÓá£×÷ÓÃÊDZÜÃâ±àÒëÆ÷¾¯¸æ */
¡¡¡¡    stk  = ptos;      /* »ñÈ¡¶ÑÕ»Ö¸Õë*/
¡¡¡¡                         /* ½¨Á¢ÈÎÎñ»·¾³£¬Ê¹ÓÃÂúµÝ¼õ¶ÑÕ» */
¡¡¡¡    *stk = (OS_STK) task;     /* pc */
¡¡¡¡    *--stk = (OS_STK) task;    /* lr */
¡¡¡¡    *--stk = 0;                       /* r12 */
¡¡¡¡     ÿÿ                              /*r11ÿr2*/
¡¡¡¡    *--stk = 0;                /* r1 */
¡¡¡¡    *--stk = (unsigned int) pdata;            /* r0,µÚÒ»¸ö²ÎÊýʹÓÃR0´«µÝ */
¡¡¡¡    *--stk = (USER_USING_MODE|0x00);   /* spsr£¬ÔÊÐí IRQ, FIQ ÖÐ¶Ï */
¡¡¡¡    *--stk = 0;                           /* ¹ØÖжϼÆÊýÆ÷OsEnterSum; */
¡¡¡¡    return (stk);
¡¡¡¡}


¡¡¡¡? ±àдÈçvoid OSInitHookBegin ( )¡¢void OSInitHookEnd ( )¡¢void OSTaskCreateHook ( )¡¢void OSTaskDelHook ( )µÈ¹³×Óº¯Êý£¬Óû§¿É¸ù¾ÝÐèÒª×ÔÐÐÌí¼Ó´úÂë¡£


¡¡¡¡¢Ý ÔÚÎļþOS_CPU_A.SÖÐÐèÒªÌí¼Ó»òÐ޸ĵĴúÂ룺


¡¡¡¡? ±àдÔËÐÐÓÅÏȼ¶×î¸ßµÄ¾ÍÐ÷ÈÎÎñº¯ÊýOSStartHighRdy()µ÷ÓõÄ__OSStartHighRdy´úÂë
¡¡¡¡__OSStartHighRdy
¡¡¡¡        MSR     CPSR_c, #(NoInt | SYS32Mode)
¡¡¡¡        LDR     R4, =OSRunning
¡¡¡¡        MOV     R5, #1
¡¡¡¡        STRB    R5, [R4]
¡¡¡¡ BL      OSTaskSwHook                   
¡¡¡¡ LDR     R6, =OSTCBHighRdy
¡¡¡¡        LDR     R6, [R6]
¡¡¡¡        B       OSIntCtxSw_1


¡¡¡¡? ±àдOSIntCtxSw´úÂë


¡¡¡¡ÓÉÓÚÆª·ùËùÏÞ£¬ÕâÀï¸ø³öOSIntCtxSwº¯ÊýÔ­ÐÍ£¬¿ÉÓɴ˱àд´úÂë¡£Ô´´úÂëÏê¼û²Î¿¼ÎÄÏ×[1]¡£


¡¡¡¡void OSIntCtxSw(void)
¡¡¡¡{ 
¡¡¡¡ µ÷ÓÃÓû§¶¨ÒåµÄOSTaskSwHook()£»
¡¡¡¡OSTCBCur=OSTCBHighRdy;
¡¡¡¡OSPrioCur=OSPrioHighRdy;
¡¡¡¡µÃµ½ÐèÒª»Ö¸´µÄÈÎÎñµÄ¶ÑÕ»Ö¸Õ룻
¡¡¡¡¶ÑÕ»Ö¸Õë=OSTCBHighRdy->OSTCBStkPtr;
¡¡¡¡½«ËùÓд¦ÀíÆ÷¼Ä´æÆ÷´ÓÐÂÈÎÎñµÄ¶ÑÕ»Öлָ´³öÀ´£»
¡¡¡¡Ö´ÐÐÖжϷµ»ØÖ¸Á
¡¡¡¡}


¡¡¡¡ÓÉÓÚÆª·ùËùÏÞ£¬ÒÔÉϸø³öÁËÒÆÖ²Ê±ÐèÒªÐ޸ĵÄÓë´¦ÀíÆ÷Ïà¹ØµÄÈý¸öÎļþÖеÄÖ÷Òª´úÂ룬µ±È»¸üÏêϸµÄÒÆÖ²ËµÃ÷¿É¼û²Î¿¼ÎÄÏ×[1].ΪÁËÑéÖ¤ÒÆÖ²³É¹¦Óë·ñ£¬Äã¿ÉÒÔ±àдһ¸ö¼òµ¥Óû§³ÌÐò(ÀýÈçͨ¹ý´®¿ÚͨѶÔÚPC½çÃæÏÔʾ×Ö·û)ÓëmC/OS-IIÒ»Æð±àÒëÉÕд½øÐ¾Æ¬À´¼ìÑ飬±ÊÕßÒѾ­ÊÔÑé³É¹¦¡£


¡¡¡¡ÐèÒª±ÜÃâµÄ´íÎó


¡¡¡¡? Óû§³ÌÐòÖеÄincludes.hÒªÐÞ¸ÄΪconfig.h£¬ÕâÊÇÒòΪºóÕß°üº¬ÁËǰÕߺÍÌØ¶¨µÄÍ·ÎļþÒÔ¼°ÅäÖÃÏî¡£


¡¡¡¡? Êý¾ÝÀàÐ͵͍Òå²»ÄÜÖ±½ÓʹÓÃCÖеÄshort¡¢int¡¢longµÈ£¬ÒòΪËüÃÇÓë´¦ÀíÆ÷ÀàÐÍÓйأ¬Òþº¬×Ų»¿ÉÒÆÖ²ÐÔ£¬ËùÒÔÔÚOS_CPU.HÖж¨ÒåÒÆÖ²ÐÔÇ¿µÄ²»ÒÀÀµÓÚ±àÒëÆ÷µÄÊý¾ÝÀàÐÍ¡£


¡¡¡¡? ±ØÐ붨Òå¶ÑÕ»µÄÉú³¤·½Ïò£¬1±íʾ¶ÑÕ»´ÓÉÏÍùϳ¤£¬0±íʾ¶ÑÕ»´ÓÏÂÍùÉϳ¤£¬ARM´¦ÀíÆ÷Á½ÖÖ·½Ê½¶¼Ö§³Ö£¬µ«Ê¹ÓõÄADS±àÒëÆ÷½öÖ§³Ö´ÓÉÏÍùϳ¤µÄ·½Ê½£¬Òò´Ë±ØÐ붨ÒåΪ1£¬·ñÔò½«·¢Éú¼Ä´æÆ÷ÖµÈëÕ»´íÎó¡£


¡¡¡¡? ×¢ÒâÈÎÎñ¶ÑÕ»³õʼ»¯º¯ÊýÖеÄstkÖ¸Õ붨Òå³ÉINT32U£¬ÕâÊÇÒòΪÎÒÃǵĴ¦ÀíÆ÷ÊÇ32λµÄ£¬¶Ô¶ÑÕ»²Ù×÷Ò²ÊÇ4×Ö½Ú¶ÔÆëµÄ¡£Èç¹û´¦ÀíÆ÷ÊÇ16λµÄ£¬ÇÒ¶Ô¶ÑÕ»·ÃÎÊÒ²ÊÇ2×Ö½Ú¶ÔÆëµÄ£¬¾ÍÒª½«stk¶¨Òå³ÉINT16U£¬·ñÔò½«»á·¢ÉúÑÏÖØ´íÎó¡£


¡¡¡¡½áÓï


¡¡¡¡mC/OS-II¾ßÓкܺõĿɿ¿ÐÔ¡¢ÊµÊ±ÐԺͿɲüõÐÔ£¬ºÜÊʺÏÓÚ¹¤Òµ¿ØÖÆ¡¢Í¨ÐŵȶÔʵʱÐÔ¡¢¿É¿¿ÐÔÒªÇó¸ßµÄÁìÓò¡£±ÊÕß²ÉÓùãÖÝÖÜÁ¢¹¦¹«Ë¾µÄEASYARN2100ÊÔÑ鿪·¢°å£¬ÒѾ­³É¹¦°ÑmC/OS-IIÒÆÖ²µ½¸Ã¿ª·¢°åÉÏ¡£Èç¹ûÓû§¶ÔARM´¦ÀíÆ÷¼°Ïà¹Øµ×²ãÓ²¼þºÍmC/OS-IIÓÐÒ»¶¨Á˽⣬²ÎÕÕ±¾ÎÄ£¬¶Ô½«mC/OS-IIÒÆÖ²µ½LPC21xxϵÁÐARM´¦ÀíÆ÷ÉÏ´óÓаïÖú¡£¡ö


¡¡¡¡²Î¿¼ÎÄÏ×£º


¡¡¡¡1. ÖÜÁ¢¹¦µÈ£¬ARM΢¿ØÖÆÆ÷»ù´¡Óëʵ¼ù£¬±±¾©£¬±±¾©º½¿Õº½Ìì´óѧ³ö°æÉ磬2003.11


¡¡¡¡2£®ÖÜÁ¢¹¦µÈ£¬EasyARM2100¿ª·¢Ì×¼þÓû§Ö¸ÄÏ£¬¹ãÖÝÖÜÁ¢¹¦µ¥Æ¬»ú·¢Õ¹ÓÐÏÞ¹«Ë¾£¬2004.4.12


¡¡¡¡3.Jean.LabrosseÖø£¬ÉÛ±´±´µÈ  Òë.ǶÈëʽʵʱ²Ù×÷ϵͳ¦ÌC/OS-II(µÚ¶þ°æ).±±¾©º½¿Õº½Ìì´óѧ³ö°æÉ磬2003.5


¡¡¡¡4.PHILIPS¹«Ë¾. P89LPC932 User Manual. PHILIPS¹«Ë¾£¬2003£¬2

[1]



Ïà¹ØÎÄÕÂ
¡¤ uCOS-IIÔÚS3C2440ÉϵÄÒÆÖ²[5]
¡¤ »ùÓÚǶÈëʽLinux»·¾³ÏÂMiniGUIµÄÑо¿ÓëÒÆÖ²[268]
¡¤ ¦ÌC/OS-¢òÔÚARM7ÉÏÒÆÖ²·½·¨µÄ̽ÌÖÓëʵÏÖ[95]
¡¤ ¦ÌC/OS-¢òÔÚARM7ÉÏÒÆÖ²·½·¨µÄ̽ÌÖÓëʵÏÖ[281]
¡¤ ¦ÌC/OS-IIÔÚC8051FÉϵÄÒÆÖ²[110]
ÈÈÃÅÆÀÂÛÅÅÐÐ
¡¤£Ö£È£Ä£ÌÉè¼ÆÖеç·¼ò»¯ÎÊÌâµÄ
¡¤½­ËÕǶÈëʽLinux½ÌÓýÅàѵ
¡¤Èñ¼«LINUXÇý¶¯Åàѵ°à¶¨ÓÚ
¡¤»ùÓÚʵʱ²Ù×÷ϵͳ¦ÌC£¯OS-
¡¤ARM´¦ÀíÆ÷Ó¦Óÿª·¢4²½Öè

ÎÄÕÂÆÀÂÛ
    Ã»ÓÐÈÎºÎÆÀÂÛ
*Ö»ÏÔʾ×îÐÂ10ÌõÆÀÂÛ¡£ÆÀÂÛÄÚÈÝÖ»´ú±íÍøÓѹ۵㣬Óë±¾Õ¾Á¢³¡Î޹ء£¸ü¶àÆÀÂÛ
·¢±íÆÀÂÛ
  * ÇëÏÈ[µÇ½]ÔÙ½øÐÐÆÀÂÛ£¬Ð»Ð»¡£
ÆÀ·Ö£º 1·Ö 2·Ö 3·Ö 4·Ö 5·Ö
ÄÚÈÝ£º *
·¢ÌûÐëÖª£º
Ò».Ëù·¢ÎÄÕ±ØÐë×ñÊØ¡¶»¥ÁªÍøµç×Ó¹«¸æ·þÎñ¹ÜÀí¹æ¶¨¡·;
¶þ.ÑϽû·¢²¼¹©Çó´úÀíÐÅÏ¢,¹«Ë¾½éÉÜ,²úÆ·ÐÅÏ¢µÈ¹ã¸æÐû´«ÐÅÏ¢;
Èý.ÑϽû¶ñÒâÖØ¸´·¢Ìû;
ËÄ.ÑϽû¶Ô¸öÈË,ʵÌå,Ãñ×å,¹ú¼ÒµÈ½øÐÐÂþÂî,ÎÛÃï,·Ì°ù¡£
 
ÈȵãÐÂÎÅ [¸ü¶à]
 
ARMÁªÊÖIBMµÈÈý¼Ò¹«Ë¾¿ª·¢32n
Hitachi Elect
ÖйúоƬ¹©Ðèȱ¿Ú´ïÆß³É
Î÷°àÑÀÑз¢³öÊÓ¾õÊó±ê Õ£ÑÛ
Ê×ÌõOLEDÉú²úÏßÀ¥É½Í¶²ú 
Ó·þµç×ÓÔªÆ÷¼þ£ºº½ÌìÔ±µÄ¡°ÉúÃü±£»¤
ÃÀÑз¢³ö¿É¾íÇúÌ«ÑôÄÜµç³Ø
ÃÀ¹úÑз¢Ðá¾õ¸ÐÊÜÆ÷»ñнøÕ¹ 
Ê×¶û°ëµ¼Ìå¾ÍÈÕÑÇ£¨NICHIA£©×¨Àû
MIPS ¿Æ¼¼ÊÚȨ¹ú¼Ò¼¯³É
 
ÈÈÃÅÏÂÔØ [¸ü¶à]
 
[ PCBÉè¼Æ] Protel99½Ì³ÌÏÂÔØ
[ ] ÊÖ°ÑÊÖѧµ¥Æ¬»ú20¸öÀý
[ ] µ¥Æ¬»ú×öµÄÖÇÄŲ̈µÆ
[ ] µ¥Æ¬»úÈëÃÅÊé
[ ] linuxÏµÍ³ÒÆÖ²¿ª·¢Îĵµ
[ ] IC¿¨µÄ¶Áд³ÌÐò
[ ] 8051µ¥Æ¬»úCÓïÑÔ³¹µ×Ó¦ÓÃ
[ ³£ÓÃÈí¼þ] 555¶¨Ê±Æ÷µç·Éè¼ÆÈí¼þV1.2
[ ³£ÓÃÈí¼þ] 51¶¨Ê±Æ÷¼ÆËãÈí¼þ
[ ] ARM´¦ÀíÆ÷Ó¦Óÿª·¢4²½Öè
 
ÂÛ̳ÐÂÌû [¸ü¶à]
 
д¸øÃÔãÖеÄǶÈëʽÐÂÊÖ...
Arm/DSP/FPGAµÄ±È½Ï...
Arm/DSP/FPGAµÄ±È½Ï...
Arm/DSP/FPGAµÄ±È½Ï...
[·ÖÏí]Äæ±äÆ÷µÄÂòÓëÓÃ...
[·ÖÏí]µçÁ¦ÏµÍ³Ö±Á÷µçÔ´×°ÖõÄ...
µ¥Æ¬»úÈçºÎ¿ØÖÆTFTÕæ²ÊÉ«LC...
Çë½Ì£º2051µÄC³ÌÐò...
ÖйúΪºÎûÓÐÊÀ½ç¼¶µÄÆóÒµºÍÆóÒµ...
AVRµÄEEPROM,µ½µ×Ôõô...

 
ÔÞÖúÉÌ [¸ü¶à]
 

ICPÐí¿ÉÖ¤ºÅ£º[ÔÁ 05056597]
ÁªÏµµç»°£º010£­82517432 82517615 ´«Õæ: 010£­82517615

°æÈ¨ËùÓÐ Copyright © 2006 ǶÈëʽ¼¼ÊõÍø