????Keil RTX ????????????????????????????? ARM ?? Cortex-M ?豸???????????????????ж????????????????????????????????????????????ó???????Keil  RTX???????????KEil???????????????RTX?????ɡ?
????RTX?????KeilMDK??????????????????????????????RTX???е??????鶼????????????????????????е????????????rt_MemBox.c?????С?RTX????????????????????????????????????????飬???????????????????????????????????????????????RTX????????????????????????????????????á?
????????′????е????????
/* Memory pool for TCB allocation    */
_declare_box (mp_tcb?? OS_TCB_SIZE?? OS_TASKCNT);
U16 const mp_tcb_size = sizeof(mp_tcb);
/* Memory pool for System stack allocation (+ os_idle_demon). */
_declare_box8 (mp_stk?? OS_STKSIZE*4?? OS_TASKCNT-OS_PRIVCNT+1);
???????е?????????mp_tcb????mp_stk???????????????????????????????????????紴?????????????????????????????????????????????????λ????????????????????????????????????λ?á?????????????????????????Щ??
??????????????????????????????????????????????????飬????????ɡ?
#define BOX_ALIGN_8                   0x80000000
#define _declare_box(pool??size??cnt)   U32 pool[(((size)+3)/4)*(cnt) + 3]
#define _declare_box8(pool??size??cnt)  U64 pool[(((size)+7)/8)*(cnt) + 2]
#define _init_box8(pool??size??bsize)   _init_box (pool??size??(bsize) | BOX_ALIGN_8)
/* Variables */
extern U32 mp_tcb[];
extern U64 mp_stk[];
extern U32 os_fifo[];
extern void *os_active_TCB[];
????????#define BOX_ALIGN_8                   0x80000000?????漰??????
??????????????????????????????????????????????????????????ɡ?
????mp_tcb??mp_stk?????????????????*mp_tcb????????????????????????????????????????????????????????????????????丳????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????洢???????????洢?????????????????????????????????????????????????????????????????????mp_tcb[]????????????????????????????????????????Ч???????????????????????????????????????????????????????
???????RTX??????????????????????????????????????????????????????????С??????????????
???????????????????????
????typedef struct OS_BM {
????void *free;                     /* Pointer to first free memory block      */
????void *end;                      /* Pointer to memory block end             */
????U32  blk_size;                  /* Memory block size                       */
????} *P_BM;
?????????????????????С????????????????????????????