Jump to content

    

Помогите разобратся что оно от меня хочет.

Привет. Помогите разобратся что оно от меня хочет. Суть проблемы в следующем , собрал я в кучу uCOS-II с uC/GUI в IAR v6.3 под контролер STM32F103VE , все компилируется без ошибок . Заливаю все в контролер, а на экране 3.2inc пусто , смотрю через отладчик и вижу что меня закидывает в файл os_cpu_a.asm в эту процедеру :

OSStartHighRdy

LDR R0, =NVIC_SYSPRI14 ; Set the PendSV exception priority

LDR R1, =NVIC_PENDSV_PRI

STRB R1, [R0]

 

MOVS R0, #0 ; Set the PSP to 0 for initial context switch call

MSR PSP, R0

 

LDR R0, =OSRunning ; OSRunning = TRUE

MOVS R1, #1

STRB R1, [R0]

 

LDR R0, =NVIC_INT_CTRL ; Trigger the PendSV exception (causes context switch)

LDR R1, =NVIC_PENDSVSET

STR R1, [R0]

 

CPSIE I ; Enable interrupts at processor level

 

OSStartHang

B OSStartHang ; Should never get here

 

и весит на последней строке " B OSStartHang ; Should never get here". Так как я в асемблере полный ноль и не знаю что с этим делать. Помогите подскажите почему отладчик останавливается в этом месте.

 

Share this post


Link to post
Share on other sites

А настройках необходимо включить start from main. Галочку в одном месте поставить. И попробуйте не включать прерывания и посмотрите что будет.

Edited by UDmitry

Share this post


Link to post
Share on other sites

 

OSStartHang

B OSStartHang ; Should never get here

 

Так, она тебе и пишет, что ты должен теперь оставаться здесь и ждать прерывания от системного таймера, на выходе из обработчика

которого тебя перебросят в задачу с наивысшим приоритетом..

OSStartHang - метка, а B OSStartHang - перейти на метку OSStartHang.

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this