Merge pull request #13 from lanxb/lanxb_debug

Lanxb add ucosiii and add iar6 support
pull/15/head
朱天龙 (Armink) 8 years ago committed by GitHub
commit f7ca5df505
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -260,8 +260,10 @@ static void get_cur_thread_stack_info(uint32_t sp, uint32_t *start_addr, size_t
*start_addr = (uint32_t) OSTCBCur->OSTCBStkBottom; *start_addr = (uint32_t) OSTCBCur->OSTCBStkBottom;
*size = OSTCBCur->OSTCBStkSize * sizeof(OS_STK); *size = OSTCBCur->OSTCBStkSize * sizeof(OS_STK);
#elif (CMB_OS_PLATFORM_TYPE == CMB_OS_PLATFORM_UCOSIII) #elif (CMB_OS_PLATFORM_TYPE == CMB_OS_PLATFORM_UCOSIII)
#error "not implemented, I hope you can do this" extern OS_TCB *OSTCBCurPtr;
//TODO 待实现
*start_addr = (uint32_t) OSTCBCurPtr->StkBasePtr;
*size = OSTCBCurPtr->StkSize * sizeof(CPU_STK_SIZE);
#elif (CMB_OS_PLATFORM_TYPE == CMB_OS_PLATFORM_FREERTOS) #elif (CMB_OS_PLATFORM_TYPE == CMB_OS_PLATFORM_FREERTOS)
*start_addr = (uint32_t)vTaskStackAddr(); *start_addr = (uint32_t)vTaskStackAddr();
*size = vTaskStackSize() * sizeof( StackType_t ); *size = vTaskStackSize() * sizeof( StackType_t );
@ -284,8 +286,9 @@ static const char *get_cur_thread_name(void) {
#endif /* OS_TASK_NAME_SIZE > 0 || OS_TASK_NAME_EN > 0 */ #endif /* OS_TASK_NAME_SIZE > 0 || OS_TASK_NAME_EN > 0 */
#elif (CMB_OS_PLATFORM_TYPE == CMB_OS_PLATFORM_UCOSIII) #elif (CMB_OS_PLATFORM_TYPE == CMB_OS_PLATFORM_UCOSIII)
#error "not implemented, I hope you can do this" extern OS_TCB *OSTCBCurPtr;
//TODO 待实现
return (const char *)OSTCBCurPtr->NamePtr;
#elif (CMB_OS_PLATFORM_TYPE == CMB_OS_PLATFORM_FREERTOS) #elif (CMB_OS_PLATFORM_TYPE == CMB_OS_PLATFORM_FREERTOS)
return vTaskName(); return vTaskName();
#endif #endif

@ -327,24 +327,25 @@ if (!(EXPR)) \
bx lr bx lr
} }
#elif defined(__ICCARM__) #elif defined(__ICCARM__)
/* IAR iccarm specific functions */
/* Close Raw Asm Code Warning */
#pragma diag_suppress=Pe940
static uint32_t cmb_get_msp(void) static uint32_t cmb_get_msp(void)
{ {
register uint32_t result; __asm("mrs r0, msp");
__asm("MRS %0, msp" : "=r" (result)); __asm("bx lr");
return(result);
} }
static uint32_t cmb_get_psp(void) static uint32_t cmb_get_psp(void)
{ {
register uint32_t result; __asm("mrs r0, psp");
__asm("MRS %0, psp" : "=r" (result)); __asm("bx lr");
return(result);
} }
static uint32_t cmb_get_sp(void) static uint32_t cmb_get_sp(void)
{ {
register uint32_t result; __asm("mov r0, sp");
__asm("MOV %0, sp" : "=r" (result)); __asm("bx lr");
return(result);
} }
#pragma diag_default=Pe940
#elif defined(__GNUC__) #elif defined(__GNUC__)
__attribute__( ( always_inline ) ) static inline uint32_t cmb_get_msp(void) { __attribute__( ( always_inline ) ) static inline uint32_t cmb_get_msp(void) {
register uint32_t result; register uint32_t result;

Loading…
Cancel
Save