Начал пробовать 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 не может работать быстрее
Канечно по такому описанию проблемы, трудно посоветовать,

но если кто проходил через это, буду рад любой подсказке.