Перейти к содержанию
    

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

Во время отладки в окне 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 простаивает.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

после запуска и останова в отладчике есть ли надпись в окне 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 ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Спасибо Маша за информацию и помощь!!!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто нибуть пробовал работать с uC-Probe через usb ?

В демо примерах нет файла probe_usb_os.c может у кого есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто нибуть пробовал работать с uC-Probe через usb ?

В демо примерах нет файла probe_usb_os.c может у кого есть?

Не пробовала, но файлики есть... :)

USB.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не компилируется проект с 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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не компилируется проект с 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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрел на Сахаре там булка для ATMELA

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...