[an error occurred while processing this directive]
|
есть собственно задача с ММС карточки (в SPI режиме) читать данные, скорость должна быть не ниже 500кб/сек
кварц 14.74 МГц
частота ядра 58.98 МГц
несущая SPI 7.37 Мгц (это скорость прокачки SPI около 920кб/сек)
при просмотре осциллом наблюдаются большие временные промежутки между последовательными чтениями SPI,
попытка ускорить работу контроллера (скорости чтения из флешь памяти) приводит к зависаниям,
при включении МАМ почемуто приходится делить частоту спиай еще на два...
кусок кода, который осуществляет последовательное чтение
(компил CrossWorks for ARM Release 1.5 Build 2 оптимизация LEVEL3)
while (I--)
{
S0SPDR = 0xff;
while (!(S0SPSR & bin1(7)));
*P = (byte)S0SPDR;
P++;
}
пробовали "вытянуть" (убрать цыкл) - скорость возрасла незначительно :((((
Подозреваю что есть какие то грабли именно в самом камне...
E-mail: info@telesys.ru