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

 
 
> tiny fatfs портирую на SAM7, вылетает в дата аборт
cebotor
сообщение Apr 28 2007, 10:38
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



решил портировать FatFS (tiny FatFS) на SAM7
прожект в ИАРе.
SPI настроил, с флэшкой проц говорить научил.
но при выполнении внутренней команды auto_mount на строке

basesect = LD_DWORD(&fs->win[MBR_Table+8]); /* Partition offset in LBA */

LD_DWORD определен (если упрощать) как разименование указателя , приведенного к типу указатель на беззнаковое длинное.

в дебаггере в асме выглядит как четыре строки :
MOV R0,#245
LSL R0,R0,#1
LDR R0,[R4,R0] // ПРИ ВЫПОЛНЕНИИ ЭТОЙ КОМАНДЫ ПРЫГАЕТ НА DATA ABORT
LSL R7,R0,0#

в чем может быть дело?


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3  
Start new topic
Ответов (30 - 44)
Сергей Борщ
сообщение Jan 10 2008, 16:36
Сообщение #31


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(gaidin @ Jan 10 2008, 15:09) *
А есть ли в природе или может у кого порт данной FS для nxp?
Последняя версия работает без всякого портирования. Для ARM надо указать _MCU_ENDIAN 2 и, собственно, все.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 10 2008, 16:51
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Сергей Борщ @ Jan 10 2008, 18:36) *
Последняя версия работает без всякого портирования.

В первом приближении действительно должна - в свое время портировал довольно старую, теперь наблюдаю процесс правок Автором абсолютно совпадающий с моими smile.gif. И еще не помню точно, но помнится паковки структур там еще нет...
Единственно, что для исключения избыточного кода (в прочем, как и практически любого кода портируемого с восьмибитовиков) надо в нужных местах менять восьмибитовые переменные на естественные 32bit.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
gaidin
сообщение Jan 11 2008, 08:21
Сообщение #33


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 10-01-08
Пользователь №: 33 967



Это хорошо что хоть в коде самой FS не надо ничего менять - а что под другие платформы надо и файлы ff.c(tff.c) править? (ужос) Но я имел в виду реализацию diskio.c ? порт всетаки это вещь отдельная - и сама FS в нему не относиться ... нет ли у кого реализации методов из diskio.c для nxp?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 11 2008, 08:45
Сообщение #34


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(gaidin @ Jan 11 2008, 10:21) *
нет ли у кого реализации методов из diskio.c для nxp?
Есть. А вы признаетесь, с каким носителем работать собираетесь?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
gaidin
сообщение Jan 11 2008, 09:11
Сообщение #35


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 10-01-08
Пользователь №: 33 967



Признаюсь и каюсь что забыл написать smile.gif
SD карточка(я не знаю - нужно ли еще что-то по этому поводу писать?), плата на 2148.
А вообще в примерах Чана встретил интересную вещь "MMC/SDC (in SPI mode) control module ©ChaN, 2006" - это из заголовка файла mmc.c - типа для mmc и sd карточек драйвер один?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 11 2008, 11:25
Сообщение #36


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(gaidin @ Jan 11 2008, 11:11) *
SD карточка(я не знаю - нужно ли еще что-то по этому поводу писать?), плата на 2148.
Увы, у меня AT45DB321. Боюсь, они сильно непохожи.
Цитата(gaidin @ Jan 11 2008, 11:11) *
А вообще в примерах Чана встретил интересную вещь "MMC/SDC (in SPI mode) control module ©ChaN, 2006" - это из заголовка файла mmc.c - типа для mmc и sd карточек драйвер один?
Не знаю, не работал с карточками. Но раз файл уже есть, что там остается портировать? запись/чтение SPI и дерганье ногой CS? Это же совсем детская задача.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
gaidin
сообщение Jan 11 2008, 12:08
Сообщение #37


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 10-01-08
Пользователь №: 33 967



Если бы все было так просто и писали все портируемый код, а то что и где менять и сам автор редко знает smile.gif
Да к тому же в новых вариациях уже вроде под MMC/SDSC/SDHC делается, вот думал что поскольку тут на форуме постоянно предлагают эту файловую систему вместо efsl, да и arm7 не мало популярен - уж казалось драйвер для работы в карточками должен у кого-нить иметься - зачем изобретать велосипед! а не взять нормальный отлаженный код. К тому же повторюсь что только начал работу с файловой системой и армами - слишком много всего одновременно smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 11 2008, 12:19
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(gaidin @ Jan 11 2008, 14:08) *
должен у кого-нить иметься - зачем изобретать велосипед! а не взять нормальный отлаженный код.

Ну у меня есть и нормальный, и отлаженный, и даже не совсем велосипед и конкретно под LPC-ишные 213x и старше есть. Только вот я его целиком не раздаю именно по причине, что он нормальный и отлаженный smile.gif.
Ну в какой-то степени рабочих (типа у Автора на его чипе с его карточкой на какой-то скорости работал) в интернете болтается много, если не изменяет память было что-то болгарами (возможно Олимех) писанное и некий телефонный автооветчик на LPC.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
gaidin
сообщение Jan 11 2008, 13:32
Сообщение #39


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 10-01-08
Пользователь №: 33 967



Цитата
Ну у меня есть и нормальный, и отлаженный

Класно, а то я думал их просто нету - а оно все оказалось много проще smile.gif
Цитата
и даже не совсем велосипед и конкретно под LPC-ишные 213x и старше есть

и что можно такого придумать в стандартном протоколе и интерфейсе?

В принципе основа есть - сам Чен ее и написал
Цитата
Sample projects including disk I/O functions (for AVR, H8/300H, TLCS-870/C, PIC and V850ES) Dec 12, 2007

только не понял почему он так стороной армы обошел - вроде не такая диковинка. Так вот всего-то и надо его avr на arm перевести - не думал что все делают это самостоятельно и не нашелся кто-нибудь с более либерлальными взглядами на opensource smile.gif
И самое непонятное - ведь есть на svn://mikrocontroller.net в реализации mp3 декодера порт для AT91SAM7S64 (правда непонятно сам Чен его написал или народ переделал). Но только там все в кучу свалено sam+spi protocol. Переделывать плохой код это уж слишком, лучше взять более чистый и с нуля написать под arm.
Ну честное слово - не понимаю где тут не велосипед.

Если кто-то решит проявить жест доброй воли - открыт всем направлениям smile.gif пока буду сам писать. Но поскольку все это делаю на новом ядре, ide, компиляторе и еще неизвестно каком отладчике и как прикрученому smile.gif то процесс будет думаю интересный smile.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 11 2008, 14:07
Сообщение #40


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(gaidin @ Jan 11 2008, 15:32) *
то процесс будет думаю интересный smile.gif
И, главное, гораздо более полезный в смысле получения навыков и бесценного опыта.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 11 2008, 16:17
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(gaidin @ Jan 11 2008, 15:32) *
и что можно такого придумать в стандартном протоколе и интерфейсе?

Когда прочитаете про LPC-ишный SSP - подумйте, как его эффективно использовать.
Нет, как попало или скачать из интернету оно тоже можно, но я писал об эффективности.
Ну правильной реализации протокола в интернете я свое время не встетил sad.gif. Хорошие, которые дали мне пищу для раздумий и идеи для реализации - два встретил. Десятки остальных - совершенно ненормальны, написаны для паркетной работы в лоб и местами покрыты шаманскими знаками.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
viael
сообщение Jan 11 2008, 18:59
Сообщение #42


Местный
***

Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979



Цитата(gaidin @ Jan 11 2008, 16:32) *
Класно, а то я думал их просто нету - а оно все оказалось много проще smile.gif

и что можно такого придумать в стандартном протоколе и интерфейсе?

В принципе основа есть - сам Чен ее и написал

только не понял почему он так стороной армы обошел - вроде не такая диковинка. Так вот всего-то и надо его avr на arm перевести - не думал что все делают это самостоятельно и не нашелся кто-нибудь с более либерлальными взглядами на opensource smile.gif
И самое непонятное - ведь есть на svn://mikrocontroller.net в реализации mp3 декодера порт для AT91SAM7S64 (правда непонятно сам Чен его написал или народ переделал). Но только там все в кучу свалено sam+spi protocol. Переделывать плохой код это уж слишком, лучше взять более чистый и с нуля написать под arm.
Ну честное слово - не понимаю где тут не велосипед.

Если кто-то решит проявить жест доброй воли - открыт всем направлениям smile.gif пока буду сам писать. Но поскольку все это делаю на новом ядре, ide, компиляторе и еще неизвестно каком отладчике и как прикрученому smile.gif то процесс будет думаю интересный smile.gif


Да вроде как не обошел.Смотрим известный ресурс http://elm-chan.org/fsw/ff/00index_e.html первый абзац:

FatFs module is an experimental project to implement the FAT file system to small embedded systems. The FatFs module is written in compliance with ANSI C, therefore it is independent of hardware architecture. It can be incorporated into cheap microcontrollers, such as 8051, PIC, AVR, SH, Z80, H8, ARM and etc..., without any change.

Далее еще один ресурс: http://www.siwawi.arubi.uni-kl.de/avr_proj..._arm/index.html
Имеются порты EFSL FatFS как под ЛПЦ так и под САМ
Go to the top of the page
 
+Quote Post
gaidin
сообщение Jan 23 2008, 10:22
Сообщение #43


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 10-01-08
Пользователь №: 33 967



Привет всем!
Не сочтите за оффтоп - просто не хотелась чтобы и эта тема была еще одной из разряда многих незавершенных sad.gif (или завершеных - так: "хорошо сделаю обязательно отпишусь" ... прошло четыре года ... smile.gif )
Так вот, процесс получился очень даже замечательный - как мы все и думали smile.gif
Вот сегодня удалось записать свой первый файл на карточку smile.gif
Вроде файлик получился что-то типа драйвера SD/MMC под LPC.
Но это все только первое приближение - поскольку не понравилась реализация в примерах задержек на глобальных переменных (хотя пока не думал как сделать - он ведь должен быть на очень короткие интервалы), при том не проверял работу на MMC карточках (нету их), к тому же надо еще и SDHC делать на будущее.
Вот. Но главное что работает - теперь буду смотреть
Цитата
прочитаете про LPC-ишный SSP
и думать к каком направлении там оптимизировать - интересно! Да протокол надо будет повнимательнее изучить -
Цитата
правильной реализации протокола в интернете я свое время не встетил
.
Ах да, ссылки
Цитата
Далее еще один ресурс: http://www.siwawi.arubi.uni-kl.de/avr_proj...dex.htmlИмеются порты EFSL FatFS как под ЛПЦ так и под САМ

очень хорошие! Спасибо! использовал!
А по поводу
Цитата
Да вроде как не обошел.Смотрим известный ресурс http://elm-chan.org/fsw/ff/00index_e.html первый абзац:

Да, в тексте то он есть - а в примерах
Цитата
Sample projects including disk I/O functions (for AVR, H8/300H, TLCS-870/C, PIC and V850ES) Dec 12, 2007

нету, я это имел ввиду, то есть портов напрямую Чена нету. (по крайней мере на его сайте)
Ну вроде все! буду двигаться далее! надо еще EFSL поизучать - чтобы выбрать.
Go to the top of the page
 
+Quote Post
KostyanPro
сообщение Mar 19 2008, 22:05
Сообщение #44


Частый гость
**

Группа: Свой
Сообщений: 160
Регистрация: 30-01-07
Из: Minsk
Пользователь №: 24 870



Портировал FatFS под LPC21xx.
Создает/читает файл, создает директории. Но как только добавляю функцию f_write в код контроллер куда то улетает . Хотя в симуляторе ничего подобного не наблюдается.
Что за барабашка такая ?
Компилятор RV mdk3.20.
Go to the top of the page
 
+Quote Post
gaidin
сообщение May 27 2008, 17:21
Сообщение #45


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 10-01-08
Пользователь №: 33 967



Для Troll.
Выложил спецификацию на SD.
И готовый проект tff + реализация драйвера SD.
Как я уже сказал лично, в драйвере нет защиты от сбоев, ну и может не оптимально все - так как пока переключился на разработку ОС в которой это будет применено. Просто проверил что файлы пишет и сама реализация фат меня устраивает, остальное потом. Можешь дорабатывать - считай что лицензия BSD smile.gif
Думаю всем будет приятно если что получилось потом сюда тоже выложишь!

Проект был в Eclise. Компилер GCC.
Прикрепленные файлы
Прикрепленный файл  sd_spec.rar ( 1.22 мегабайт ) Кол-во скачиваний: 78
Прикрепленный файл  tff.rar ( 33.25 килобайт ) Кол-во скачиваний: 78
 
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 Текстовая версия Сейчас: 19th June 2025 - 08:53
Рейтинг@Mail.ru


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