[lang_ru]Давно не писал ничего, так как пытался завести мою платку новую.[/lang_ru]
[lang_de]Lange nichts geschrieben here, weil ich war mit meiner neuen Platine beschaftigt.[/lang_de]
[lang_ru]Пока что она еще не полностью запаянная, но кое-что уже умеет.[/lang_ru]
[lang_de]Die ist noch nicht fertig, aber die kann schon Einiges.[/lang_de]
[lang_ru]Но пока о свойствах. На данный момент на ней расположен микроконтроллер фирмы Atmel — AT91SAM7SE256, внешняя SDRAM память на 64 МБ в двух банках, и картридер для SD/MMC карточек.[/lang_ru]
[lang_de]Die Platine hat folgendes am Board: Micro von Atmel — AT91SAM7SE256, external SDRAM 64 MB in zwei Banken, und SD/MMC Card Reader [/lang_de]
[lang_ru]Пока что программка, которую я пишу для этой платки уже умеет считывать с карточки .elf файл в SDRAM и запускать его на исполнение.[/lang_ru]
[lang_de]Das Programm für die Platine, kann schon die .elf Dateien von SD/MMC Card ins SDRAM lesen und ausfüheren. [/lang_de]
[lang_ru]Построено все это безобразие на базе FreeRTOS. Для этого пришлось подшаманить стратовый файл на ассемблере, и инициализацию всех частот и генератора частот, чтобы работало.[/lang_ru]
[lang_de]Das ganze wurde mit der Hilfe von FreeRTOS Betriebsystem gebaut. Dafür habe ich die Start Datei ein bisschen angepasst. [/lang_de]
[lang_ru]И так, что в ходит в программку :[/lang_ru]
[lang_de]Also, daraus besteht das Programm: [/lang_de]
- [lang_ru]FreeRTOS, взятая от сюда.[/lang_ru]
- [lang_de]FreeRTOS, von hier [/lang_de]
- [lang_ru]FatFS от известного человека Чена.[/lang_ru]
- [lang_de]FatFS von dem bekannten Mann mit der Name Chan [/lang_de]
- [lang_ru]SD/MMC драйвер взял из примера Атмела, правда его пришлось допиливать напильником, чтобы работал через прерывания.[/lang_ru]
- [lang_de]SD/MMC Treiber wurde von Atmel genommen und so angepasst, dass es mit der Interrupts funktioniert.[/lang_de]
- [lang_ru]SPI драйвер.[/lang_ru]
- [lang_de]SPI Treiber[/lang_de]
- [lang_ru]UART драйвер, работающий в мультизадачной ОС.[/lang_ru]
- [lang_de]UART Treiber für Miltitasking Umgebung[/lang_de]
- [lang_ru]ELF Loader, грузящий ELF файл откуда либо в память по адресу, который указан в самом .ELF файле.[/lang_ru]
- [lang_de]ELF Loader, der lädt die ELF Datei von irgendhere auf die Addresse, die von .ELF Datei genommen wird.[/lang_de]
- [lang_ru]Heap драйвер для динамического выделения памяти, самописный, и оттестированный в моем Mazda MP3 Player.[/lang_ru]
- [lang_de]Heap Treiber für dynamic Speiher allocation, getested in meinem Mazda MP3 Player. [/lang_de]
[lang_ru]Вот пока такие ништячки есть.[/lang_ru]
[lang_ru]В планах на ближайшее будущее — прилепить на платку плисину Xilinx Spartan3E — XC3S100E и завести ее, а потом прикрутить к проге возможность грузить прошивку в плисину с карточки.[/lang_ru]
[lang_de]So. In Planen sind folgendes: auf die Platine noch Xilinx Spartan3E — XC3S100E drauflöten und die Firmware dafür von SD/MMC Card zu laden und FPGA zu programmieren. [/lang_de]
[lang_ru]И еще в планах — прилепить на внешнюю шину дисплей какой нибудь. Правда его еще надо сначала спроектировать и спаять :)[/lang_ru]
[lang_de]Und ein Display auf das externes Bus anschließen. Aber den muss man noch erfinden. [/lang_de]
[lang_ru]Пока что думаю, с чего начать.[/lang_ru]
[lang_de]Ich überlege noch, von was zu starten. [/lang_de]
[lang_ru]А пока пара фоток (6 штук) того, что уже есть.[/lang_ru]
[lang_de] Und hier ein paar Fotos (6 Stück) was schon gibts.[/lang_de]
[lang_ru]Пока что на этом все.[/lang_ru]
[lang_de]Das ist alles im Moment. [/lang_de]
[lang_ru]Если есть спрос — могу выложить схемку (только ее надо будет подправить малость, учесть те изменения, которые я сделал в плате уже в процессе отладки) и прошивку лоадера для этой платки.[/lang_ru]
8 комментариев to “Небольшие вести с полей|Kleine neueigkeiten”
Leave a Reply
You must be logged in to post a comment.
March 12th, 2011 at 15:19
Офигеть! Похоже, я поверил в ЛУТ!
March 29th, 2011 at 3:42
Соглашусь, красавчик 🙂
У меня наверное не хватило бы терпения 🙂
March 11th, 2012 at 12:03
А можно все таки примерчик, и желательно библиотеки ММС/SPI. У меня не получается запустить FatFs даже без ОС...
March 11th, 2012 at 13:38
Пока что я другими проектами занят и этот временно на «hold» поставил. Тем более, что там вылезли баги самого железа (помех много), которые править довольно сложно — надо новую платку лепить.
Попробую запаковать в архивчик то, что есть сейчас, через пару часиков положу сюда в комменты ссылку.
Update:
Как и обещал, вот архивчик с софтом, который сейчас там крутится. Там пока ничего особенного нет, просто выводит на экран пару интересностей. Но вас же работа в FS интересует? 🙂 Этот момент находится в файле src/MainTask/MainTask.cpp на строках 370 — 418.
Этот кусок закоментирован, так как я его только для проверки работы карточки использовал. Но он рабочий.
Сам проект НЕ откомпилируется, так как там есть пара файлов, которые я не могу включить в проект пока что, пока не переделаю их (изза прав собственности).
Открыть файл проекта (.cbp) можно в IDE Code::Blocks. Ну или файлы по отдельности разглядывать любым вашим любимым редактором.
Удачи.
March 11th, 2012 at 16:19
Проверил библиотеку sdspi.c, с виду такая же. Но у меня все зависает в функции SDSPI_IsBusy, на проверке функции
if (pSdSpi->semaphore == 0) {
return 1;
}
Что это вообще за семафор? Второй день ломаю голову.
March 11th, 2012 at 16:21
Точнее не зависает, а постоянно находится в этом условии.
March 11th, 2012 at 17:18
Там малость все по другому. В самом проекте много «трупов» как говорят немцы — неиспользуемые файлы 🙂 Если бы вы открыли проект в КодеБлокс (можно и в текстовом редакторе глянуть — это XML файл), то увидите используемые файлы. sdspi не используется.
Используются файлы:
Drivers\SPI\SPI.h"
Drivers\SPI\SPI_ISR.c
Drivers\sdmmc\sdmmc.h
Drivers\sdmmc\sdmmc_ISR.c
И проблема в АРМах и в FreeRTOSе в частности в том, что файлы с прерываниями по другому компиляться должны, что и отражено в файле проекта!!!
Т.е. обычная прога компилится в режиме THUM, а прерывания — в режиме ARM. Без этого FreeRTOS работать не будет!!!
March 11th, 2012 at 17:33
Да уж... Пока я далек от ОС... Ладно, буду ковырять далее, в неизвестном направлении. Спасибо за информацию.