|
Почему с PowerPac код работает быстрее, чем просто на Cи? |
|
|
|
Nov 29 2010, 14:19
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634

|
int main(void) {
unsigned int temp, MyAdr, MyPins, ii; unsigned int MyArray[5]; ii = 0; FIO4DIR3_bit.P4_0 = 1; // Вывод на выход
while(1) { MyArray[ii] = FIO1PIN; FIO4PIN3_bit.P4_0= ~FIO4PIN3_bit.P4_0; //Дергаем ножкой }
}
Почему с PowerPac скорость выше в 2 раза? Вроде просто Си программа все же ближе к ассемблеру, чем ОС плюс задача?
И сразу еще один вопрос. Частота "подергивания ножкой" с PowerPac 1,2Мгц, а просто Си - 0,5Мгц. Неужели быстрее нельзя? Что за операции такие производит контроллер, когда читает порт и записывает в ОЗУ? Это же 50 тактов минимум. И как в ИАРе вообще можно посмотреть время выполнения?
Забыл уточнить. OLIMEX-LPC2478
|
|
|
|
|
 |
Ответов
|
Dec 1 2010, 14:01
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634

|
Цитата(scifi @ Dec 1 2010, 15:28)  Кстати, если озвучите марку чипа и суть задачи, то кто-нибудь, возможно, посоветует, какими средствами кроме GPIO эту задачу можно решить. Отладочная плата OLIMEX LPC-2478STK. Задача - оцифровка сигнала с помощью АЦП AD7622 в течение 5-10 секунд с последующей записью массива на SD-флеш. Скорость работы АЦП - 2MSPS. Разрядность 16 бит. Способы связи с АЦП - SPI, параллельная передача 16 бит, параллельная передача 8 бит за 2 такта (с помощью вывода BYTESWAP). SPI работает медленно. SCLK до 9МГц. А надо 32 минимум. Есть SSP совместимый с SPI, но там тоже максимум 30МГц. И работать с прерываниями попробовал. Под RTOS работают очень медленно. Поэтому решил последовательными интерфейсами не пользоваться, а использовать опрос GPIO. В общем-то все.
|
|
|
|
Сообщений в этой теме
kolobochishe Почему с PowerPac код работает быстрее, чем просто на Cи? Nov 29 2010, 14:19 Сергей Борщ Рискну предположить, что PowerPack в процессе стар... Nov 29 2010, 14:34 MALLOY2 PowerPack правильно настроил проц на максимальную ... Nov 29 2010, 14:35 kolobochishe ок. даже если так. Хотя взял просто пример LCD Dem... Nov 29 2010, 16:23 scifi Цитата(kolobochishe @ Nov 29 2010, 19:23)... Nov 30 2010, 09:27  kolobochishe Цитата(scifi @ Nov 30 2010, 14:27) Для бо... Nov 30 2010, 10:01   MrYuran Цитата(kolobochishe @ Nov 30 2010, 13:01)... Nov 30 2010, 10:07    kolobochishe Цитата(MrYuran @ Nov 30 2010, 15:07) На с... Nov 30 2010, 11:17 kolobochishe PowerPac настроил регистры MAMCR=1 и MAMTIM=5. Поэ... Nov 30 2010, 13:40 MrYuran Я, конечно, [пока] не спец по АРМовой периферии, н... Nov 30 2010, 14:21 kolobochishe Цитата(MrYuran @ Nov 30 2010, 19:21) Ну а... Dec 1 2010, 04:38 GetSmart Если создать переменную и её инвертировать, а пото... Dec 1 2010, 09:53 MrYuran Так вроде ж есть специально для этого MCI ?
Чтобы ... Dec 1 2010, 14:14 kolobochishe Цитата(MrYuran @ Dec 1 2010, 19:14) Так в... Dec 2 2010, 04:18  MrYuran Цитата(kolobochishe @ Dec 2 2010, 07:18) ... Dec 2 2010, 06:53 scifi Ещё АЦП можно на внешнюю шину LPC2478 посадить, ес... Dec 1 2010, 16:49 kolobochishe Для SD карт есть режим 4 бита. Возможно 100Мб/с эт... Dec 2 2010, 07:24 MrYuran Цитата(kolobochishe @ Dec 2 2010, 10:24) ... Dec 2 2010, 07:38 ElefantElectronics [CENSORED]
Работает медленно про тому что Вы не чи... Dec 9 2010, 17:34 IgorKossak QUOTE (ElefantElectronics @ Dec 9 2010, 19... Dec 9 2010, 17:55
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|