|
uC/OS-II, Одна из популярных РТОС, все о ней |
|
|
|
 |
Ответов
(165 - 179)
|
Jul 24 2008, 10:05
|
Участник

Группа: Свой
Сообщений: 45
Регистрация: 7-11-05
Пользователь №: 10 537

|
Определенно ИАР виновен после его манипуляций по считыванию VIC регистров.
|
|
|
|
|
Jul 24 2008, 11:29
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 9-07-05
Пользователь №: 6 656

|
Еще вопрос на связанный с предидущим Во время отладки в окне 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 простаивает. Все работает не виснет но ненравится это предупреждение и все.
|
|
|
|
|
Jul 28 2008, 05:04
|
Участник

Группа: Свой
Сообщений: 45
Регистрация: 7-11-05
Пользователь №: 10 537

|
Цитата(Jurdens @ Jul 25 2008, 12:21)  Что всех напугал своими выкладками?
Маша или кто нибуть если будет время посмотрите пожалуйста в своем проекте с ЮКОСом после запуска и останова в отладчике есть ли надпись в окне 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
|
|
|
|
|
Jul 29 2008, 02:47
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 9-07-05
Пользователь №: 6 656

|
Цитата(маша @ Jul 28 2008, 08:04)  И у меня тоже самое!  Снимите галочку Tools-Options...-Stack-Warn the stack pointer is out of bound  Спасибо Маша за информацию и помощь!!!!!
|
|
|
|
|
Sep 23 2008, 12:09
|
Участник

Группа: Свой
Сообщений: 45
Регистрация: 7-11-05
Пользователь №: 10 537

|
Цитата(Jurdens @ Sep 23 2008, 08:23)  Кто нибуть пробовал работать с uC-Probe через usb ? В демо примерах нет файла probe_usb_os.c может у кого есть? Не пробовала, но файлики есть...
Прикрепленные файлы
USB.zip ( 5.61 килобайт )
Кол-во скачиваний: 163
|
|
|
|
|
Sep 24 2008, 05:14
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 9-07-05
Пользователь №: 6 656

|
Цитата(маша @ Sep 23 2008, 15:09)  Не пробовала, но файлики есть...  Спасибо попробую расскажу что получилось
|
|
|
|
|
Sep 24 2008, 07:46
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551

|
Цитата(Jurdens @ Sep 24 2008, 09:34)  Не компилируется проект с 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 видимо должно быть еще какое то ПО. Так похоже, что нет юсб_булка. На сахаре аплоаде видел.
|
|
|
|
|
Sep 24 2008, 11:42
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551

|
Цитата(Jurdens @ Sep 24 2008, 13:09)  Посмотрел на Сахаре там булка для ATMELA а для LPC2468 хлеба нет Либо вы посмотрели не туда, либо микриум_юсб_булк.рар крайне неудачное имя для архива. Если второе, то возможно вам поможет добрый волшебник, вроде у него была версия 1.0
|
|
|
|
|
Sep 25 2008, 02:36
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 9-07-05
Пользователь №: 6 656

|
Цитата(ig_z @ Sep 24 2008, 14:42)  Либо вы посмотрели не туда, либо микриум_юсб_булк.рар крайне неудачное имя для архива. Если второе, то возможно вам поможет добрый волшебник, вроде у него была версия 1.0 Да нашел я *M*i*c*r*i*u*m_u*s*b_b*u*lk.r*a*r но там в папке CPU файл Flash_AT91SAM7S256.c а я работаю с LPC24XX Значит нужно приложит усилия и потратить время на портирование а его нет буду работать через ком порт пока.
|
|
|
|
|
Oct 6 2008, 16:10
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 12-03-08
Из: Краснодар
Пользователь №: 35 832

|
Помогите разобраться с политикой Micrium. Что позволяется скачивать с сайта в разделе "sources" и что можно сделать с применением выложенных портов в разделе "Ports"?
|
|
|
|
|
Oct 7 2008, 07:38
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551

|
Цитата(bigmaxtor @ Oct 6 2008, 19:10)  Помогите разобраться с политикой Micrium. Что позволяется скачивать с сайта в разделе "sources" и что можно сделать с применением выложенных портов в разделе "Ports"? Как минимум можно скачать архив и прочитать приложенное лицензионное соглашение. А дальше по обстоятельствам. А как вы порты качаете? Они недавно прикрыли секьюре папочку вроде бы.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|