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

 
 
> LPC2104 и RL-FlashFS, Помогите подружить
Пал
сообщение Aug 29 2009, 09:33
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 3-12-08
Пользователь №: 42 171



Добрый день всем. Разведена платка с SD карточкой и 2104 камушком. Камушки пришли самой первой ревизии, без SSP. Написал драйверочек под простой SPI(кто осваивал RL-FlashFS знает, там надо 4 функции написать). Ставлю finit() в самом начале проги, при сбросе проц доджен пытаться инициализировать карту. Что интересно, два сброса finit возвращает 1(карта не инициирована) на третий сброс программа застревает внутри этого finit и сыплет какую то шелуху по спиайным ногам. И повторяется эта картина железно - сброс, сброс, застряла, сброс, сброс, застряла. Чтобы отсечь ненужные вопросы сразу скажу - с железом все в порядке. С карточками раньше работал. Взял программку инициации карточки из своего проекта на авр, посадил сверху на упомянутый драйверочек SPI, засунул в 2104 в этой проблеммной платочке - карта отзывается, инициализируется. Но хочется заставить её работать из под RL-FlashFS. Поэтому хочется услышать совет людей, портировавших сабж на камни 2104/05/06 с простым SPIем. Заранее спасибо. На всяки случай - виснет здесь:

U8 spi_send (U8 outb) {
/* Write and Read a byte on SPI interface. */

/* Wait if TNF cleared, Tx FIFO is full. */
// while (!(SSPSR & TNF));
S0SPDR = outb;

/* Wait if RNE cleared, Rx FIFO is empty. */
while (!(S0SPSR &(1<<7)));
return (S0SPDR);
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Aug 31 2009, 07:26
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Не работал ни с 2104, ни с FlashFS, ничего не понял про "простой SPI".
Самое главное, не понял, зачем читать всякие TNF и RNE, если в SSP есть бит busy.


Рабочий код выглядит так:

Код
int SPI_ProcessByte (unsigned char sym)
{
    SSP0DR = sym;
    while (SSP0SR & BIT(4));        // ждём освобождения контроллера
    return SSP0DR;                    // и возвращаем принятый байт
}


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
Пал
сообщение Aug 31 2009, 09:21
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 3-12-08
Пользователь №: 42 171



Цитата(esaulenka @ Aug 31 2009, 14:26) *
Не работал ни с 2104, ни с FlashFS, ничего не понял про "простой SPI".
Самое главное, не понял, зачем читать всякие TNF и RNE, если в SSP есть бит busy.


Камушки пришли самой первой ревизии, без SSP
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post



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

 


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


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