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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> EP9302, SPI под Linux, как включить
AVR
сообщение Feb 10 2008, 23:39
Сообщение #1


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Здравствуйте!
Ковыряю Linux на CS-EP9302, использую ядро версии 2.6.17.14
В проце имеется Synchronous Serial Port, который насколько я понял может работать в режиме Motorola SPI, т.е. в обычном старом добром SPI. Но к сожалению не получилось найти где включить при конфигурировании ядра этот SSP, и тем более SPI чтобы его можно было увидеть в качестве стандартного /dev/spi...
Подскажи, пожалуйста, как решить эту проблему?
ЗЫ
Поиском по сайту пользовался, google тоже использовал smile.gif


--------------------
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Feb 11 2008, 05:27
Сообщение #2


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

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



В TS-Linux SPI называют ssi. Не знаю, не заграбастан ли он под приватные дрова какой-нибудь SD, но я бы посмотрел /etc/inittab на предмет что там грузится. Потому как оно либо есть как отдельные дрова, либо нет, а если нет, то тогда нужно рыть конфиг и перекомпилировать (ядро/модули).
А линукс-то какой?


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
AVR
сообщение Feb 11 2008, 21:17
Сообщение #3


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Спасибо за совет, нашел я этот драйвер, ssp.c называется...
Глянул я в него - а там... SPI фактически не реализован!!! А то что есть это полнейшее убожество! DMA там и в помине нет, а вместо этого куча спинлоков и udelay'ев... Что может быть примитивнее SPI, но они не смогли написать нормальный драйвер для этой штуки! =(((
А ещё я узнал что SPI у меня 7.4 МГц - это просто смешно, просто разочарование полнейшее...

Подскажите, пожалуйста, где можно достать НОРМАЛЬНЫЙ стандартный драйвер для SPI под EP9302?..


--------------------
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Feb 11 2008, 22:03
Сообщение #4


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

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Не подскажу. В TS-Linux (всё что под рукой из сорцов) убогость ещё та (хотя, учитывая возможную работу с DMA, вероятно всё не так и плохо). Думаю, стОит поискать пакет, проточенный под работу с SD/MMC через SPI. Я не знаком с написанием дров под линукс, потому чего там и как быть должно пока не в курсе. Хорошая вероятность найти нормальные дрова в Debian (не обязательно в embedded).

PS У Olimex есть линк на патч - посмотри, может там есть чего полезное
http://dev.ivanov.eu/projects/cs-e9302/

Ну и первый линк в гагле по запросу "spi_ep93xx.c"
https://dev.contec.at/dev/micro/micro9/LINU...ep93xx_spi.diff


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 13 2008, 09:16
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(AVR @ Feb 12 2008, 00:17) *
Спасибо за совет, нашел я этот драйвер, ssp.c называется...
Глянул я в него - а там... SPI фактически не реализован!!! А то что есть это полнейшее убожество! DMA там и в помине нет, а вместо этого куча спинлоков и udelay'ев... Что может быть примитивнее SPI, но они не смогли написать нормальный драйвер для этой штуки! =(((
А ещё я узнал что SPI у меня 7.4 МГц - это просто смешно, просто разочарование полнейшее...

Подскажите, пожалуйста, где можно достать НОРМАЛЬНЫЙ стандартный драйвер для SPI под EP9302?..

SPI на EP93xx очень убогий. Могу только посоветовать внимательно просмотреть эту тему (там и про DMA есть) и даташит. По большому счету он годится только для загрузки мелкой конфигурации в какую-нибудь периферию.
Go to the top of the page
 
+Quote Post
AVR
сообщение Feb 14 2008, 22:21
Сообщение #6


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Большое спасибо за Ваши ответы!
Посмотрел ссылку: http://dev.ivanov.eu/projects/cs-e9302/
там вообще драйвер что надо, да ещё и стандартный.
скачал я нужную для этого версию ядра и патч, проделал всё что в этом руководстве, ядро собралось, всё бы замечательно, НО...
не стартует... причем это происходит как с 2.6.20 ядром так и с 2.6.24...
вот что выводит Прикрепленный файл  boot.txt ( 1.22 килобайт ) Кол-во скачиваний: 265
...
После того как доходит до слов "Uncompressing Linux... done, booting the kernel." больше ничего не выводится после них... подставляю zImage от версий 2.6.8.1 и 2.6.17.14 и всё тут же заводится и работает с теми же параметрами...


--------------------
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Feb 15 2008, 05:09
Сообщение #7


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

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
проделал всё что в этом руководстве
А свой таргет полностью прибили?

Там чего-то народ об возможных несоответствиях версий бута и идентификатора железки говорил
http://electronix.ru/forum/index.php?showtopic=39785


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
DmitryV
сообщение Feb 15 2008, 22:15
Сообщение #8


Участник
*

Группа: Новичок
Сообщений: 31
Регистрация: 16-06-06
Пользователь №: 18 105



Цитата(AVR @ Feb 15 2008, 01:21) *
не стартует... причем это происходит как с 2.6.20 ядром так и с 2.6.24...
вот что выводит Прикрепленный файл  boot.txt ( 1.22 килобайт ) Кол-во скачиваний: 265
...
После того как доходит до слов "Uncompressing Linux... done, booting the kernel." больше ничего не выводится после них... подставляю zImage от версий 2.6.8.1 и 2.6.17.14 и всё тут же заводится и работает с теми же параметрами...

Не исключаете возможность того, что все-таки стартует, но ничего не выводит?
В конфигурации ядра поищите Serial Drivers или что-то в этом духе.
Сам имел такую же проблему с "не запуском", причем с родным циррусовским ядром.
Go to the top of the page
 
+Quote Post
AVR
сообщение Feb 15 2008, 23:52
Сообщение #9


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(DmitryV @ Feb 16 2008, 01:15) *
Не исключаете возможность того, что все-таки стартует, но ничего не выводит?
В конфигурации ядра поищите Serial Drivers или что-то в этом духе.
Сам имел такую же проблему с "не запуском", причем с родным циррусовским ядром.
Я не только не исключаю, а даже предполагаю это в первую очередь smile.gif
Посмотрел драйвер последовательного порта, там может быть ttyAM, ttyAM0, ttyAM1 и ttyAM2 (это вроде IRDA)... пробовал запускать со всеми вышеперечисленными значениями - никакого результата... при конфигурации убедился что драйвер этих портов активен и поддерживает консоль...

Я использую оргинальный RedBoot, который с платой шел:
RedBoot™ bootstrap and debug environment [ROMRAM]
Non-certified release, version v2_0 - built 08:14:43, Aug 22 2006
Platform: Cirrus Logic EDB9302 Board (ARM920T) Rev A

возможны ли проблемы если он очень старой версии? двухгодичной давности...
новый ставить боязно: тогда уж и ни новый не заработает да и старый запорю и не смогу восстановить... smile.gif

ДОБАВЛЕНО:
Завелось 2.6.20.4 всё с теми же параметрами ядру... Но заработало оно только если собирать его в программусине Crater (переделанной под Cirrus'ы)... Возможно моих навыков хватит чтобы подправить содержимое тех патчей SPI для 2.6.20, но всё же хотелось бы узнать почему не запускается самосборное...


--------------------
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Feb 16 2008, 08:07
Сообщение #10


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

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
хотелось бы узнать почему не запускается самосборное...

Догадки
1) есть некоторая вероятность того, что лодырь не знает точки входа этих вновь собранных ядер.
2) В конфиге мог забыть чего-то примерно такое
CONFIG_CMDLINE="root=/dev/mtdblock1 console=ttyAM0,115200"
3) в /etc/inittab не попало setserial с каким-то getty, портом и скоростью


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
AVR
сообщение Apr 6 2008, 23:47
Сообщение #11


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Как мне посоветовали на другом форуме чтобы запустить свежатину надо брать u-boot. Я скачал ELDK для ARM и скачал пропатченый для edb9302 (вроде как совеместимая плата с CS-EP9302) исходник u-boot. Собрал U-boot и на выходе получил u-boot.bin
Как теперь его правильно залить в самое начало флэша чтобы с него грузилось?
1) Попробовал залить средствами самого RedBoot'а, но по всей видимости у меня не получилось и теперь плата не работает smile.gif
2) Как пользоваться Cirrus Download Utility через /dev/ttyS0?
Какой джампер надо переключить чтобы эта утилита заработала (а именно прошила u-boot в самое начало флэша чтобы с него шла загрузка u-boot)? Этого я нигде не нашел в описаниях для своей платы. Тогда можно отталкиваться от названий выводов и уровней на которые надо установить эти выводы...


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 7 2008, 05:12
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(AVR @ Apr 7 2008, 03:47) *
Какой джампер надо переключить чтобы эта утилита заработала

T0 в положение 3.3V. Это нога 84(BOOT0), на схеме почему-то названа TEST0.
Go to the top of the page
 
+Quote Post
AVR
сообщение Apr 7 2008, 19:17
Сообщение #13


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(aaarrr @ Apr 7 2008, 09:12) *
T0 в положение 3.3V. Это нога 84(BOOT0), на схеме почему-то названа TEST0.
Большое спасибо, помогло smile.gif
ЗЫ Так же хотел бы сказать спасибо за измерение скорости работы портов a14.gif


--------------------
Go to the top of the page
 
+Quote Post
AVR
сообщение Apr 13 2008, 22:10
Сообщение #14


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Получилось скомпилить и получить образ uImage, который прекрасно загружается с помощью u-boot и доходит до момента подключения файловой системы. Теперь стоит задача догрузить образ файловой системы, НО... при загрузке файла любого размера по tftp на любой адрес всё проходит хорошо, а как только я пытаюсь загрузить второй файл (также любой размер имя адрес) загрузчик виснет и ничего больше не происходит... В чем может быть причина зависания u-boot в самом начале загрузки любого второго по очереди файла?.. Прикрепленный файл  uboot.txt ( 800 байт ) Кол-во скачиваний: 242


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 14 2008, 05:43
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



То есть uBoot зависает, даже если два раза загрузить uImage?

А если грузить не по TFTP, а X-modem'ом каким-нибудь?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 25th June 2025 - 03:58
Рейтинг@Mail.ru


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