|
Написал порт scmRTOS под ARM, интересны отзывы |
|
|
|
 |
Ответов
|
May 17 2006, 16:17
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата Странно, но почему-то в моем макете с AT91SAM7S64 при отладке через MT-Link перегрузки CPSR не происходит. Могу попробовать на LPC2119, но не думаю что будет большая разница. Совсем забыл. Перезагрузка CPSR происходит только когда процессор находится не в USER или SYSTEM режиме. Потому что в этих режимах регистра SPSR вообще нет. Команда как бы некорректная, хотя процессор не падает. И ещё. Прочитать (загрузить в CPSR) можно только SPSR текущего режима. Запись в SPSR - аналогично. Даже если в команде явно будет указан регистр SPSR из другого режима. Непонятно только, зачем ассемблер разрешает так писать. У вас вообще по какому событию происходит переключение? А для чего или кого вообще пишите?
Сообщение отредактировал GetSmart - May 17 2006, 16:42
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
May 17 2006, 16:56
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(GetSmart @ May 17 2006, 19:17)  Цитата Странно, но почему-то в моем макете с AT91SAM7S64 при отладке через MT-Link перегрузки CPSR не происходит. Могу попробовать на LPC2119, но не думаю что будет большая разница. Совсем забыл. Перезагрузка CPSR происходит только когда процессор находится не в USER или SYSTEM режиме. Все это понятно. На это я с самого начала нарвался :-) У меня эта команда выполнятеся в IRQ_mode. Но все же я настаиваю, что восстановление CPSR происходит только в одном варианте команды: когда стоит крыжик (^) И в списке регистров есть R15(PC). При этом восстанавливаются регистры в банке соотв. режима исключений. Если же в команде стоит крыжик и R15 в списке нет, то восстанавливаются регистры user(system) банка и CSPR не восстанавливается. Или другими словами: если в списке LDM есть R15, то крыжик означает восстановление CSPR, если R15 нет - то крыжик означает восстановление в _user регистры. Детализируя: LDMxx {R13-R15}^ восстанавливает R13_mode, R14_mode, PC, SPSR_mode->CPSR LDMxx {R13-R14}^ восстанавливает R13_user, R14_user Именно так происходит в железе (LPC2119 тоже проверил). Можете проверить. Симулятор же отрабатывает эту команду иначе. Я не вижу ничего незаконного в этой команде поэтому продолжаю считать что в этом случае симулятор явно ошибается. Цитата Даже если в команде явно будет указан регистр SPSR из другого режима. Непонятно только, зачем ассемблер разрешает так писать. Ассемблер не позволяет их указывать. Это в описании ядра они имеют такие обозначения. Цитата У вас вообще по какому событию происходит переключение? Планировщик взводит бит программного прерывания в контроллере прерываний. Цитата А для чего или кого вообще пишите? Для себя :-) Готовлю почву для новых проектов. FreeRTOS не понравилась чрезмерными требованиями к ОЗУ и кривизной написания. scmRTOS использовал в одном проекте на MSP430, понравилась. Из кристаллов под рукой есть макетки с SAM7 и LPC, есть еще ADuС, но на нем пока только пример из иара запускал. Ближайшие 2 проекта будут на ADuC и LPC.
Сообщение отредактировал Сергей Борщ - May 17 2006, 17:01
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 18 2006, 07:06
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Не сочтите за 'наезд' - работа несомненно полезная! Однако не могу не отметить, что основная прадигма отлично реализованная в scmRTOS на типичном ARM смотрится уже не так привлекательно, как на AVR с полукилобайтом-килобайтом памяти. Цитата(Сергей Борщ @ May 17 2006, 19:56)  FreeRTOS не понравилась чрезмерными требованиями к ОЗУ и кривизной написания. В частности по этой причине не смог пройти спокойно мимо вышеотцитированого :-(. "Кривизну", в виду неопределенности формулировки, оставим в покое (хотя можем и побеседовать - тут есть подходящие ветки ) а по RAM.. Cобрал Ваш демо проект с тремя светодиодиками: Код Module CODE DATA CONST ------ ---- ---- ----- (Rel) (Rel) (Abs) (Rel) ?CMAIN 108 ?CSTARTUP 56 ?EnI_t 20 ?RESET + common 60 ?_EXIT 12 ?__dbg_break 2 ?__exit 18 ?cppinit 70 ?exit 14 ?segment_init 84 OS_Kernel 300 40 + shared 32 8 12 OS_Services 16 OS_Target_cpp 272 108 + shared 8 main 478 940 220 scmRTOS_Asm 132 + common 28 N/A (command line) 768 N/A (alignment) 10 ---------- ----- ----- --- -- Total: 1 624 1 856 236 12 + common 60 И под FreeRTOS такой-же: Код Module CODE DATA CONST ------ ---- ---- ----- (Rel) (Rel) (Abs) (Rel) ?CMAIN 80 ?CSTARTUP 476 ?DiI_t 32 ?EnI_t 16 ?RESET + common 64 ?_EXIT 12 ?__exit 2 ?exit 14 ?segment_init 84 ?strncpy 44 croutine + shared 12 heap 244 24 leds 76 8 + shared 4 list 174 ll_init 4 main 186 8 16 port 376 4 40 16 portasm 340 tasks 902 168 8 N/A (command line) 530 N/A (alignment) 10 ---------- ----- --- -- -- Total: 3 072 726 60 52 + common 64 Собственно разница по декларированному критическому ресурсу (RAM занимаемому ядром) отнюдь не впечатляет: scmRTOS = 0x148 байт FreeRTOS = 0x1AC Итого - 100(dec) байт. Не слишком большая плата за несколько отличающюся базовую функциональность и (личное мнение) за большую способность к доработкам. Причем, при "необходимости" можно убрать еще по 8 байт на задачу во FreeRTOS :-)
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 18 2006, 07:45
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(zltigo @ May 18 2006, 10:06)  Цитата(Сергей Борщ @ May 17 2006, 19:56)  FreeRTOS не понравилась чрезмерными требованиями к ОЗУ и кривизной написания.
В частности по этой причине не смог пройти спокойно мимо вышеотцитированого :-(. "Кривизну", в виду неопределенности формулировки, оставим в покое (хотя можем и побеседовать - тут есть подходящие ветки ) Объясню очень просто: указатели на любой объект передаются как void* что легко позволяет мне передать вместо указателя на семафор указатель на процесс или очередь. Зачем же в "языке высогага уровня Ц" был придуман контроль типов на этапе компиляции? Далее это же void * передается в другие функции место указателя соответствующего типа, а чтобы компилятор не выдавал предупреждения вместо элементарного создания локальной переменной нужного типа и приведения типа Код signed portBASE_TYPE xQueueSend( xQueueHandle xQueue, const void *pvItemToQueue, portTickType xTicksToWait ) { xQueuePtr pxQueue = xQueue; в описании предлагается задавить предупреждения этого типа в опциях компилятора. Причем предупреждения возникают при компиляции кода самой ОС. Что же это как не кривизна? Цитата(zltigo @ May 18 2006, 10:06)  а по RAM.. 46 байт на битовый семафор мне показалось расточительно. Они его реализуют как очередь из одного элемента нулевого размера. Да и на очередь 46 байт ОЗУ накладных "жаба душит". Цитата(zltigo @ May 18 2006, 10:06)  Cобрал Ваш демо проект с тремя светодиодиками: Собственно разница по декларированному критическому ресурсу (RAM занимаемому ядром) отнюдь не впечатляет: scmRTOS = 0x148 байт FreeRTOS = 0x1AC Итого - 100(dec) байт. Не слишком большая плата за несколько отличающюся базовую функциональность и (личное мнение) за большую способность к доработкам. Причем, при "необходимости" можно убрать еще по 8 байт на задачу во FreeRTOS :-) Я не отрицаю большого потенциала в FreeRTOS. Однако в моем примере из базовой функциональности был только один сервис Sleep(). Оно и понятно - надо было отладить переключатель контекста. Более серьезный пример идет в исходнике scmRTOS с сайта автора. Там есть и семафоры и очереди. Если есть желание - можем сравнить. Еще раз - я не хоче наступить на горло FreeRTOS, просто мне она субъективно не понравилась.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 18 2006, 08:29
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Сергей Борщ @ May 18 2006, 10:45)  Еще раз - я не хоче наступить на горло FreeRTOS, просто мне она субъективно не понравилась. Это пожалуй главное. Так бывает. Я тоже не в восторге от многого, но идеал при знании потрохов :-) недостижим, посему начал просто править "под себя" и под свой "вкус". А как "база" максимально устроила. Цитата Объясню очень просто: указатели на любой объект передаются как void* Ну такуж и на любой. Семафоры ака очередь это отдельная песня и при необходимости иметь оные несомненно буду встраивать 'семафористые' семафоры :-). Цитата Причем предупреждения возникают при компиляции кода самой ОС. Что же это как не кривизна? Это бардак :-(, такие места правлю, правда "легкой" c "наплевать на warnings" переносимости под разные компиляторы уже гарантировать нельзя. Цитата Более серьезный пример идет в исходнике scmRTOS с сайта автора. Там есть и семафоры и очереди. Если есть желание - можем сравнить. Нет, особого желания нет. Порядок "платы" ясен и меня совсем не смущают пару сот байт, особенно по отношению к размеру стеков (особенно при отсутствии даже простейших механизмов контроля обьема использования стека присутствующих в FreeRTOS) задач :-(. Кстати о стеках, на штатное (руками и так реализуется без напряга) нововведение FreeRTOS 4.x обратили внимание?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 18 2006, 09:08
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(zltigo @ May 18 2006, 11:29)  Цитата(Сергей Борщ @ May 18 2006, 10:45)  Объясню очень просто: указатели на любой объект передаются как void*
Ну такуж и на любой. Семафоры ака очередь это отдельная песня и при необходимости иметь оные несомненно буду встраивать 'семафористые' семафоры :-). typedef void * xQueueHandle; typedef xQueueHandle xSemaphoreHandle; typedef void * xTaskHandle; Собственно других открытых пользователю сервисов там вроде и нет. Цитата(zltigo @ May 18 2006, 11:29)  Цитата Более серьезный пример идет в исходнике scmRTOS с сайта автора. Там есть и семафоры и очереди. Если есть желание - можем сравнить.
Нет, особого желания нет. Порядок "платы" ясен и меня совсем не смущают пару сот байт, особенно по отношению к размеру стеков (особенно при отсутствии даже простейших механизмов контроля обьема использования стека присутствующих в FreeRTOS) задач :-(. Надо будет этот вопрос изучить, спасибо за наводку. Цитата Кстати о стеках, на штатное (руками и так реализуется без напряга) нововведение FreeRTOS 4.x обратили внимание? Нет, я работал с 3.2.2, как проект сдал больше на FreeRTOS.org не заглядывал. Посмотрю обязательно, спасибо.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 18 2006, 09:37
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Сергей Борщ @ May 18 2006, 12:08)  typedef void * xQueueHandle; typedef xQueueHandle xSemaphoreHandle; typedef void * xTaskHandle; А здесь-то криминал-то в чем? Совершенно разные типы. Я 'дико извиняюсь', но это typedef а не define - любой компилятор находясь в твердом уме и здравой памяти обломает подмену безвариантно. Цитата(Сергей Борщ @ May 18 2006, 12:08)  Нет, я работал с 3.2.2, как проект сдал больше на FreeRTOS.org не заглядывал. Посмотрю обязательно, спасибо. Кстати :-) обратите внимание, там в переключении контекстов 'nop'-чик недавно добавился...
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 18 2006, 13:06
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(zltigo @ May 18 2006, 12:37)  Цитата(Сергей Борщ @ May 18 2006, 12:08)  typedef void * xQueueHandle; typedef xQueueHandle xSemaphoreHandle; typedef void * xTaskHandle;
А здесь-то криминал-то в чем? Совершенно разные типы. Я 'дико извиняюсь', но это typedef а не define - любой компилятор находясь в твердом уме и здравой памяти обломает подмену безвариантно. Совсем не уверен. Во всяком случае Код int x,y; xQueueReceive(&x, &y, 0); IAR съел молча, хотя int* это совсем не xQueueHandle. И что-то мне казалось что в С это не разные типы а синонимы, это в С++ будут разные типы. По сравнению объемов мне непонятно откуда такие цифры? Чего-то вы напутали. Заглянул в .map, получил там такое: Код OS::Kernel 0x28 IdleProcess 0x6c Proc1 0x134 ( 8 + 0x12C stack) Proc2 0x134 ( 8 + 0x12C stack) Proc3 0x134 ( 8 + 0x12C stack) Т.е. ядро+Idle занимает 148 байт плюс по 8 байт на каждый процесс. Остальное - стеки прцессов. Счас буду делать аналогичный тест с FreeRTOS, сравню сам. Еще особенность - я не правил .xcl из ИАРовского примера, поэтому возможно погрешность ползет оттуда: в качестве IRQ_STACK в scmRTOS используется CSTACK, да и его размер в .xcl определен как 0x400 что явно замного. Продолжаю эксперименты. Счас попробую замерить время переключения контекстов. Цитата Кстати :-) обратите внимание, там в переключении контекстов 'nop'-чик недавно добавился... Еще один? :-))
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 18 2006, 14:38
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Сергей Борщ @ May 18 2006, 16:06)  Совсем не уверен. Во всяком случае Код int x,y; xQueueReceive(&x, &y, 0); IAR съел молча, хотя int* это совсем не xQueueHandle. И что-то мне казалось что в С это не разные типы а синонимы, это в С++ будут разные типы. Ну начинаем выкручиваться: 1. Амперсандик добавили, спасибо, что не (xQueueHandle) :-) 2. С настройками компилятора разберитесь, ибо я, естественно, как и положено, получил Код D:\ARM_WORK\COMMON\LPC2000\rtc.c(107) : Warning[Pe167]: argument of type "int *" is incompatible with parameter of type "xQueueHandle" Цитата По сравнению объемов мне непонятно откуда такие цифры? Чего-то вы напутали. Заглянул в .map, получил там такое: Тоже из MAP. MAP в тестовом виде прилагается, кстати, был в свое время обрадован IARовским HTML мапом. Смотрите в приложении: * MODULE SUMMARY * Делал только сборку, ничего не менял, на железо не переносил. Цитата Счас буду делать аналогичный тест с FreeRTOS, сравню сам. Еще особенность - я не правил .xcl из ИАРовского примера, поэтому возможно погрешность ползет оттуда: в качестве IRQ_STACK в scmRTOS используется CSTACK, да и его размер в .xcl определен как 0x400 что явно замного. Это Правильно! Едиственное изменение мною для уравнивания шансов конфигурирось количество приоритетов равное числу задач, ибо так и в scmRTOS. И отключальтись дополнитительные наворотики. Собственно конфигурация в приложении. На железо заливалось. Результат возможно будет даже немного лучше при компиляции базовой FreeRTOS, ибо я своего надобавлял. Цитата Счас попробую замерить время переключения контекстов. Если мне не изменяет память, то я получил на уровне 7us. Но это при ЧЕСТНОМ измерении, от момента ВНЕШНЕГО а не таймерного прерывания и до проднятия задачи дергающей PIN. Время это время для FreeRTOS, естественно, не фиксированное. Задач было около 6. Можно повторить под протокол, но через недельку - болею сейчас. Цитата Еще один? :-)) Если последняя рассматриваеваемая Вами версия была 3.X.X, то помнится да.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
Сергей Борщ Написал порт scmRTOS под ARM May 15 2006, 14:19 Pat Цитата(Сергей Борщ @ May 15 2006, 16:19) ... May 15 2006, 16:20 Сергей Борщ >Я не шибко опытный, но что то компилер не нахо... May 15 2006, 16:35 Pat Скомпилир все ОК.
Запускаю отладку в симуляторе.
П... May 15 2006, 17:20  Сергей Борщ Цитата(Pat @ May 15 2006, 20:20) Скомпили... May 15 2006, 17:44  Сергей Борщ Цитата(Pat @ May 15 2006, 20:20) Запускаю... May 16 2006, 14:10 GetSmart ЦитатаВ данной же ситуации симулятор загружает SPS... May 16 2006, 15:43 Сергей Борщ Цитата(GetSmart @ May 16 2006, 18:43) Цит... May 16 2006, 16:04  spf Цитата(Сергей Борщ @ May 16 2006, 22:04) ... May 17 2006, 03:45 GetSmart Напишите комментарии в ASM-файле к каждой команде.... May 16 2006, 16:32 Сергей Борщ Цитата(GetSmart @ May 16 2006, 19:32) Нап... May 16 2006, 18:36 GetSmart Вопрос: почему у вас в xcl-файле начальные адреса ... May 16 2006, 18:09 GetSmart Всё-равно как-то запутанно. Попробуйте разобраться... May 16 2006, 19:17 Сергей Борщ Цитата(GetSmart @ May 16 2006, 22:17) Всё... May 16 2006, 19:57 GetSmart Цитатаmsr CPSR_cf,lr ; перек. в SYSTEM с разреш. п... May 16 2006, 20:20 Сергей Борщ Послушал советы, кое-чего поправил. Сделал targets... May 17 2006, 12:37 GetSmart Смотрите, что я нарыл:
(цитата из книжки)
Бит S ис... May 17 2006, 18:11 GetSmart Касательно файла Target_LPC2xxx.h
"#define C... May 17 2006, 18:53  Сергей Борщ Цитата(GetSmart @ May 17 2006, 21:53) Кас... May 18 2006, 08:14 Сергей Борщ Цитата(GetSmart @ May 17 2006, 21:11) Смо... May 18 2006, 07:16 GetSmart ЦитатаНо все же я настаиваю, что восстановление CP... May 17 2006, 21:04 Сергей Борщ Цитата(GetSmart @ May 18 2006, 00:04) Дум... May 18 2006, 07:00 GetSmart ЦитатаЦитата
Команды "LDMFD LR, {R0-LR}^ ; NO... May 18 2006, 09:13 zltigo Давайте я Вас еще попытаюсь совлечь c "пути и... May 18 2006, 15:01 Сергей Борщ Цитата(zltigo @ May 18 2006, 18:01) Давай... May 18 2006, 15:21  zltigo Цитата(Сергей Борщ @ May 18 2006, 18:21) ... May 18 2006, 15:40 Сергей Борщ Сравнил по скорости с FreeRTOS. Тест простой: низк... May 18 2006, 15:14 zltigo Цитата(Сергей Борщ @ May 18 2006, 18:04) ... May 18 2006, 15:16  Сергей Борщ Цитата(zltigo @ May 18 2006, 18:16) Цитат... May 18 2006, 15:41 zltigo [quote name='Сергей Борщ' date='May 18... May 18 2006, 15:24 zltigo Цитата(Сергей Борщ @ May 18 2006, 18:14) ... May 18 2006, 18:50  Сергей Борщ Цитата(zltigo @ May 18 2006, 21:50) Цитат... May 19 2006, 11:04   zltigo Цитата(Сергей Борщ @ May 19 2006, 14:04) ... May 19 2006, 11:49    Сергей Борщ Цитата(zltigo @ May 19 2006, 14:49) Ну во... May 19 2006, 13:13     zltigo Цитата(Сергей Борщ @ May 19 2006, 16:13) ... May 19 2006, 13:32      Сергей Борщ Цитата(zltigo @ May 19 2006, 16:32) Цитат... May 19 2006, 13:37 GetSmart 2 Сергей Борщ
Когда закончите доводить до ума свою... May 18 2006, 15:41 Сергей Борщ Цитата(GetSmart @ May 18 2006, 18:41) 2 С... May 18 2006, 15:50 sergeeff Я давно приглядываюсь к scmRTOS применительно к AR... May 20 2006, 14:01 Сергей Борщ Цитата(sergeeff @ May 20 2006, 17:01) Я д... May 20 2006, 17:50  ig_z Цитата(Сергей Борщ @ May 20 2006, 20:50) ... May 21 2006, 00:02   Dainis Цитата(ig_z @ May 20 2006, 18:01) Почему ... May 21 2006, 12:07 amusin Цитата(sergeeff @ May 20 2006, 20:01) Ест... May 22 2006, 04:55  amusin Цитата(Сергей Борщ @ May 20 2006, 23:50) ... May 22 2006, 05:32   Сергей Борщ Цитата(amusin @ May 22 2006, 08:32) Цитат... May 22 2006, 08:22 ig_z 2 Сергей Борщ
Посмотрел ваш порт, сходу возник а... May 20 2006, 15:01 sergeeff Да. Еще про critical section. Твой вариант запрета... May 20 2006, 15:32 GetSmart ЦитатаSWI единственный коректный способ вызова SYS... May 21 2006, 12:36 zltigo ЦитатаМожно хотябы в общих словах пример кода, я е... May 21 2006, 16:54 GetSmart Цитатавопрос только в том,
нужны-ли эти выкрутасы ... May 21 2006, 17:38 zltigo Цитата(GetSmart @ May 21 2006, 20:38) А п... May 21 2006, 18:34 GetSmart Самая близкая по смыслу цитата из <arm7tdmi.pdf... May 21 2006, 19:08 zltigo Цитата(GetSmart @ May 21 2006, 22:08) Про... May 21 2006, 20:02 Сергей Борщ Завтра (в понедельник) буду изучать все это вдумчи... May 21 2006, 19:42 zltigo Цитата(Сергей Борщ @ May 21 2006, 22:42) ... May 21 2006, 20:33 GetSmart 1,2,3 - OK
4. Как только в коде (даже в IRQ, и даж... May 21 2006, 19:57 GetSmart ЦитатаА посмотреть на исходник и почитать Аtmel-ов... May 21 2006, 20:34 zltigo Цитата(GetSmart @ May 21 2006, 23:34) У-у... May 21 2006, 20:57 GetSmart ЦитатаНе стал, но завязан :-(
А AIC уже в официаль... May 21 2006, 21:28 zltigo Цитата(GetSmart @ May 22 2006, 00:28) Ну ... May 21 2006, 22:21 aaarrr Цитата(amusin @ May 22 2006, 09:32) Нет в... May 22 2006, 10:32 Сергей Борщ Спасибо всем, кто подсказал функцию поиска наиболе... May 22 2006, 11:30 amusin Цитата(Сергей Борщ @ May 22 2006, 17:30) ... May 22 2006, 11:48  Сергей Борщ Цитата(amusin @ May 22 2006, 14:48) Цитат... May 22 2006, 11:59   IgorKossak Цитата(Сергей Борщ @ May 22 2006, 14:59) ... May 22 2006, 12:16 sergeeff Да, конечно, для ARM надо сделать количество проце... May 22 2006, 15:40 amusin Цитата(sergeeff @ May 22 2006, 21:40) Да,... May 23 2006, 02:32  Сергей Борщ Цитата(amusin @ May 23 2006, 05:32) Цитат... May 23 2006, 07:25 sergeeff Пара соображений по поводу быстродействия. Я эту и... May 26 2006, 17:34 IgorKossak Цитата(sergeeff @ May 26 2006, 20:34) ...... May 27 2006, 16:03 dxp Цитата(sergeeff @ May 27 2006, 00:34) voi... May 29 2006, 03:46  amusin Цитата(dxp @ May 29 2006, 09:46)
Гарри,... May 29 2006, 06:18 GetSmart ЦитатаУ АРМа есть аппаратный сдвигатель?
Конечно е... May 29 2006, 09:20 spf Цитата(GetSmart @ May 29 2006, 15:20) Цит... May 29 2006, 10:16 GetSmart АРМ имеет команды с обоими вариантами: как непосре... May 29 2006, 10:21
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|