реклама на сайте
подробности

 
 
> Производительность ARM, Olimex LPC-L2294 Performance
Dato
сообщение Aug 24 2010, 10:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 20-09-05
Пользователь №: 8 746



Начал пробовать ARM LPC2294(Плата Olimex LPC-L2294).
Получаю, на мой взгляд, очень странный резултат.
кварц на плате 14 MHz, PLL Множитель = 3. Компилирую - IAR EWARM v5.50, Prcessor mode - Arm, Optimisation - High(speed).

так инициализирую PLL
Код
void LPC2294PLLInit(void)
{
  PLLCFG_bit.MSEL = 2;
  PLLCFG_bit.PSEL = 1;
  
  PLLCON_bit.PLLE = 1;
  PLLCON_bit.PLLC = 1;
  
  PLLFEED_bit.FEED = 0xAA;
  PLLFEED_bit.FEED = 0x55;
}

и выполняется код
Код
unsigned char a_buf[255];
for(unsigned char i=0; i<100; i++)
{
a_buf[i]=i;
}

На выполнение этого кода, процессору требуется примерно 100us, что мне кажется очень много.
После разрешения прерываний по таймеру(прерывание каждый 15us, обработчик выполняется 7us), это время становится 800us и это уже катастрофически много. я ожидал увеличения примерно в два раза.
Не понятно что не так делаю, не могу поверить что, LPC2294 не может работать быстрее
Канечно по такому описанию проблемы, трудно посоветовать, smile.gif но если кто проходил через это, буду рад любой подсказке. smile.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dato
сообщение Aug 24 2010, 12:45
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 20-09-05
Пользователь №: 8 746



Цитата
Можете привести ассемблерный листинг функции?


Код
void LPC2294PLLInit(void)
     76          {
     77            PLLCFG_bit.MSEL = 3;
   \                     LPC2294PLLInit:
   \   00000000   ........           LDR      R0,??DataTable9_2 ;; 0xe01fc080
   \   00000004   041090E5           LDR      R1,[R0, #+4]
   \   00000008   1F10C1E3           BIC      R1,R1,#0x1F
   \   0000000C   031081E3           ORR      R1,R1,#0x3
   \   00000010   041080E5           STR      R1,[R0, #+4]
     78            PLLCFG_bit.PSEL = 1;
   \   00000014   041090E5           LDR      R1,[R0, #+4]
   \   00000018   6010C1E3           BIC      R1,R1,#0x60
   \   0000001C   201081E3           ORR      R1,R1,#0x20
   \   00000020   041080E5           STR      R1,[R0, #+4]
     79            
     80            
     81            
     82            
     83            PLLCON_bit.PLLE = 1;
   \   00000024   001090E5           LDR      R1,[R0, #+0]
   \   00000028   011081E3           ORR      R1,R1,#0x1
   \   0000002C   001080E5           STR      R1,[R0, #+0]
     84            PLLCON_bit.PLLC = 1;
   \   00000030   001090E5           LDR      R1,[R0, #+0]
   \   00000034   021081E3           ORR      R1,R1,#0x2
   \   00000038   001080E5           STR      R1,[R0, #+0]
     85            
     86            __disable_interrupt();
   \   0000003C   00100FE1           MRS      R1,CPSR
   \   00000040   C01081E3           ORR      R1,R1,#0xC0
   \   00000044   01F021E1           MSR      CPSR_c,R1
     87            PLLFEED_bit.FEED = 0xAA;
   \   00000048   0C1090E5           LDR      R1,[R0, #+12]
   \   0000004C   FF10C1E3           BIC      R1,R1,#0xFF
   \   00000050   AA1081E3           ORR      R1,R1,#0xAA
   \   00000054   0C1080E5           STR      R1,[R0, #+12]
     88            PLLFEED_bit.FEED = 0x55;
   \   00000058   0C1090E5           LDR      R1,[R0, #+12]
   \   0000005C   FF10C1E3           BIC      R1,R1,#0xFF
   \   00000060   551081E3           ORR      R1,R1,#0x55
   \   00000064   0C1080E5           STR      R1,[R0, #+12]
     89          }
   \   00000068   1EFF2FE1           BX       LR              ;; return
   \   0000006C                      REQUIRE _A_PLLCON
   \   0000006C                      REQUIRE _A_PLLCFG
   \   0000006C                      REQUIRE _A_PLLFEED
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dato   Производительность ARM   Aug 24 2010, 10:15
- - SasaVitebsk   Jlink-ом вы можете напрямую измерить скорость проц...   Aug 24 2010, 11:01
- - Dato   ЦитатаТакже можно измерить это косвенно, выведя ча...   Aug 24 2010, 11:47
- - sonycman   Убедитесь, что PLL точно залочен и используется в ...   Aug 24 2010, 12:02
- - Dato   ЦитатаВообще то подсоединять его нужно только посл...   Aug 24 2010, 12:26
|- - sonycman   Цитата(Dato @ Aug 24 2010, 16:26) так? Ко...   Aug 24 2010, 12:33
- - demiurg_spb   Цитата(Dato @ Aug 24 2010, 14:15) Начал п...   Aug 24 2010, 12:37
- - Юрий Санвальд   Цитатапри пустом цикле время выполнения 5us. Запис...   Aug 24 2010, 12:50
|- - sonycman   Цитата(Dato @ Aug 24 2010, 16:45) Кодvoid...   Aug 24 2010, 12:57
- - Dato   КодНативнм типом для ARM является int а не unsigne...   Aug 24 2010, 12:54
|- - demiurg_spb   Цитата(Dato @ Aug 24 2010, 16:54) Не поня...   Aug 24 2010, 19:34
- - Dato   ЦитатаПри пустом цикле и включенной оптимизации ко...   Aug 24 2010, 13:13
|- - sonycman   Цитата(Dato @ Aug 24 2010, 17:13) Это фун...   Aug 24 2010, 13:28
- - Dato   сейчас у меня такой код Кодvoid test() { ...   Aug 24 2010, 13:38
|- - aaarrr   Цитата(Dato @ Aug 24 2010, 17:38) Да, но ...   Aug 24 2010, 13:44
|- - sonycman   Цитата(Dato @ Aug 24 2010, 17:38) Да, но ...   Aug 24 2010, 13:46
- - Dato   ЦитатаВсе правильно он сделал. Зачем переходы, есл...   Aug 24 2010, 14:57
- - sergeeff   Запустили бы стандартный benchmark тест, было бы п...   Aug 24 2010, 18:12
- - zltigo   Когда-то здесь выкладывал собранный drystone для О...   Aug 24 2010, 18:26
- - sergeeff   Когда я писал про стандартный benchmark, имел в ви...   Aug 25 2010, 06:17
- - Dato   demiurg_spb Понятно, но в моем случае, две дополни...   Aug 25 2010, 08:31
|- - zltigo   QUOTE (Dato @ Aug 25 2010, 11:31) о каких...   Aug 25 2010, 08:58
|- - demiurg_spb   Цитата(Dato @ Aug 25 2010, 12:31) Понятно...   Aug 25 2010, 09:38
- - Dato   zltigo PLL, MAM и т.д. это обычный справочный мат...   Aug 25 2010, 09:19
|- - zltigo   QUOTE (Dato @ Aug 25 2010, 12:19) не знан...   Aug 25 2010, 10:22
- - Dato   zltigo ЦитатаЭто отнюдь не справочный материал Н...   Aug 25 2010, 10:42


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 00:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01392 секунд с 7
ELECTRONIX ©2004-2016