Jump to content

    
Sign in to follow this  
one_man_show

uC/OS-II

Recommended Posts

Еще вопрос на связанный с предидущим

Во время отладки в окне DebugLog выскакивает

сообщение

The stack pointer for stack 'SVC_STACK' (currently 0x400043EC) is outside the stack range (0x40000400 to 0x40000500)

Посмотрев мо исходникам в регистр Юкоса стека в режиме супервизора грузится значение находящееся по адресу OS_CPU_ExceptStkBase (в файле os_cpu_a.asm)

..................

EXTERN OS_CPU_ExceptStkBase

...............................

 

OS_CPU_ARM_ExceptHndlr_BreakTask

 

LDR R3, ?OS_TCBCur ; OSTCBCur->OSTCBStkPtr = SP;

LDR R4, [R3]

STR SP, [R4]

 

LDR R3, ?OS_CPU_ExceptStkBase ; Switch to exception stack.

LDR SP, [R3]

........

 

?OS_CPU_ExceptStkBase:

DC32 OS_CPU_ExceptStkBase

Объявляется и инициализируется она в файле

os_cpu_c.c

 

#if OS_STK_GROWTH == 1

OS_CPU_ExceptStkBase = &OS_CPU_ExceptStk[OS_CPU_EXCEPT_STK_SIZE - 1];[/color]

#else

OS_CPU_ExceptStkBase = &OS_CPU_ExceptStk[0];

#endif

 

 

Линкер рассматривает эту переменную (OS_CPU_ExceptStk) как просто массив памяти

.....

(в файле os_cpu.h )

OS_CPU_EXT OS_STK OS_CPU_ExceptStk[OS_CPU_EXCEPT_STK_SIZE];

OS_CPU_EXT OS_STK *OS_CPU_ExceptStkBase;

OS_CPU_EXT OS_STK *OS_CPU_ExceptStkPtr;

 

расшифроваф

extern unsigned int OS_CPU_ExceptStk[128];

extern unsigned int *OS_CPU_ExceptStkBase;

extern unsigned int *OS_CPU_ExceptStkPtr;

......

и располагает там где есть место в моем случае в map файле

OS_CPU_ExceptStk 0x40004028 0x200 Data Gb os_cpu_c.o [1]

Но перейдя в режим SVC и загрузив стек как я писал выше

LDR R3, ?OS_CPU_ExceptStkBase ; Switch to exception stack.

LDR SP, [R3]

с другой стороны линкер уже выделил область для стека руководствуясь указаниями

файла *.icf

 

 

.....

define symbol __ICFEDIT_size_svcstack__ = 0x0100;

....

define block _STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { };

в моем случае это 0x40000400 to 0x40000500

во время работы дебагера он фиксирует ситуацию несоответствия адреса выделенного под стек

SVC линкером и реально загруженной переменной.

Вопрос нужно ли поделать что то для синхронизации стеков ,опасна ли эта ситуация или это лишь

предупреждение замеченное дебагером так как реально используется массив OS_CPU_ExceptStk[128] а блок 0x40000400 to 0x40000500 простаивает.

Все работает не виснет но ненравится это предупреждение и все.

Share this post


Link to post
Share on other sites

Что всех напугал своими выкладками?

 

Маша или кто нибуть если будет время посмотрите пожалуйста в своем проекте с ЮКОСом

после запуска и останова в отладчике есть ли надпись в окне DebugLog

The stack pointer for stack 'SVC_STACK' (currently ......

напишите еще какая версия ИАРа и ЮКОСа

У меня ИАР 5.11 ЮКОС V2.86 порт V1.83

Заранее благодарен.

Share this post


Link to post
Share on other sites
Что всех напугал своими выкладками?

 

Маша или кто нибуть если будет время посмотрите пожалуйста в своем проекте с ЮКОСом

после запуска и останова в отладчике есть ли надпись в окне DebugLog

The stack pointer for stack 'SVC_STACK' (currently ......

напишите еще какая версия ИАРа и ЮКОСа

У меня ИАР 5.11 ЮКОС V2.86 порт V1.83

Заранее благодарен.

И у меня тоже самое! :) Снимите галочку Tools-Options...-Stack-Warn the stack pointer is out of bound ;)

Share this post


Link to post
Share on other sites

Не компилируется проект с USB нет группы

 

Warning[Pe223]: function "USB_Init" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 183

Error[Pe020]: identifier "init_data" is undefined C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 186

Warning[Pe223]: function "USB_AddEP" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 186

Error[Pe020]: identifier "USB_TRANSFER_TYPE_BULK" is undefined C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 186

Warning[Pe223]: function "USB_BULK_Add" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 188

Warning[Pe223]: function "USB_Start" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 190

Warning[Pe223]: function "USB_IsConfigured" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 221

Warning[Pe223]: function "USB_OS_Delay" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 222

Warning[Pe223]: function "USB_BULK_Read" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 272

Warning[Pe223]: function "USB_BULK_Write" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 383

видимо должно быть еще какое то ПО.

Share this post


Link to post
Share on other sites
Не компилируется проект с USB нет группы

 

Warning[Pe223]: function "USB_Init" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 183

Error[Pe020]: identifier "init_data" is undefined C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 186

Warning[Pe223]: function "USB_AddEP" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 186

Error[Pe020]: identifier "USB_TRANSFER_TYPE_BULK" is undefined C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 186

Warning[Pe223]: function "USB_BULK_Add" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 188

Warning[Pe223]: function "USB_Start" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 190

Warning[Pe223]: function "USB_IsConfigured" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 221

Warning[Pe223]: function "USB_OS_Delay" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 222

Warning[Pe223]: function "USB_BULK_Read" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 272

Warning[Pe223]: function "USB_BULK_Write" declared implicitly C:\uCOS-II\uC-Probe\Target\Communication\Generic\USB\Source\probe_usb.c 383

видимо должно быть еще какое то ПО.

 

Так похоже, что нет юсб_булка.

На сахаре аплоаде видел.

Share this post


Link to post
Share on other sites
Посмотрел на Сахаре там булка для ATMELA

а для LPC2468 хлеба нет

Либо вы посмотрели не туда, либо микриум_юсб_булк.рар крайне неудачное имя для архива.

Если второе, то возможно вам поможет добрый волшебник, вроде у него была версия 1.0

Share this post


Link to post
Share on other sites
Либо вы посмотрели не туда, либо микриум_юсб_булк.рар крайне неудачное имя для архива.

Если второе, то возможно вам поможет добрый волшебник, вроде у него была версия 1.0

Да нашел я *M*i*c*r*i*u*m_u*s*b_b*u*lk.r*a*r но там в папке CPU файл Flash_AT91SAM7S256.c

а я работаю с LPC24XX Значит нужно приложит усилия и потратить время на портирование а его нет

буду работать через ком порт пока.

Share this post


Link to post
Share on other sites

Помогите разобраться с политикой Micrium. Что позволяется скачивать с сайта в разделе "sources" и что можно сделать с применением выложенных портов в разделе "Ports"?

Share this post


Link to post
Share on other sites
Помогите разобраться с политикой Micrium. Что позволяется скачивать с сайта в разделе "sources" и что можно сделать с применением выложенных портов в разделе "Ports"?

 

Как минимум можно скачать архив и прочитать приложенное лицензионное соглашение. А дальше по обстоятельствам.

А как вы порты качаете? Они недавно прикрыли секьюре папочку вроде бы.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this