Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AVR и Flash SD,MMC
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
add
Доброго всем времени суток.
Тема обсуждалась на форуме но с уклоном на С и интерфейсы подключения, поэтому прошу отнестись с пониманием. (если что то пропустил дайте пожалуйста ссылку).

Прошу вас уважаемые коллеги поделиться опытом создания устройств на flash картах типа SD и MMC. Необходимо считывать данные, записанные ранее на компе во flash карту, контроллером AVR. Пишу пока только на asm-е :-( (на си переползаю) поэтому просьба по возможности учесть это в ответах-советах. С учетом того что карты форматируются FAT-ом и т.д. со всеми вытекающими… :-) , не знаю как подступится… . Вариант с записью без форматирования (запись на флеш данных, к примеру другим специальным контроллером) по условию невозможен.
Делаются ли такие проекты на асме, и вообще можно это реализовать на AVR? Спасибо за ответы.
ROC
Цитата(add @ May 17 2006, 12:36) *
Доброго всем времени суток.
Тема обсуждалась на форуме но с уклоном на С и интерфейсы подключения, поэтому прошу отнестись с пониманием. (если что то пропустил дайте пожалуйста ссылку).

Прошу вас уважаемые коллеги поделиться опытом создания устройств на flash картах типа SD и MMC. Необходимо считывать данные, записанные ранее на компе во flash карту, контроллером AVR. Пишу пока только на asm-е :-( (на си переползаю) поэтому просьба по возможности учесть это в ответах-советах. С учетом того что карты форматируются FAT-ом и т.д. со всеми вытекающими… :-) , не знаю как подступится… . Вариант с записью без форматирования (запись на флеш данных, к примеру другим специальным контроллером) по условию невозможен.
Делаются ли такие проекты на асме, и вообще можно это реализовать на AVR? Спасибо за ответы.

http://pol-sem.narod.ru/polymuson/polymuson.htm ??? smile.gif smile.gif smile.gif

http://www.mikrocontroller.net/forum/read-4-90147.html
add
http://pol-sem.narod.ru/polymuson/polymuson.htm ???
Здесь я уже был. Код там сишный. :-(
ROC
Цитата(add @ May 17 2006, 12:58) *
http://pol-sem.narod.ru/polymuson/polymuson.htm ???
Здесь я уже был. Код там сишный. :-(

А чем "С" хуже? biggrin.gif
Ну у немцев что-то есть http://www.mikrocontroller.net/articles/Mi...it_MMC/SD-Karte

На самом деле берется Гугль и ищется по критерию что-нибудь вроде "MMC CD AVR ASM"
Ну а там уж что-нибудь , да подойдет! biggrin.gif

Не угодить на Вас... smile.gif
Есть еще http://members.aon.at/voegel/index.html?Downloads.htm (AVR-DOS), так оно вообще под BASCOM-AVR

http://homepage.ntlworld.com/seanellis/mmcserial.htm
add
Цитата
Не угодить на Вас...
:-)
Пасиба за ссылки.
Уже теплее :-)
Nanobyte
Вот здесь есть кое-что про MMC на русском:
http://www.mp3vkarmane.nm.ru/mmc.html
А вот ещё:
http://elm-chan.org/docs/mmc/mmc_e.html
http://elm-chan.org/fsw/ff/00index_e.html
klistron66
Для работы с файловой системой на AVR сильно помогает пакет FlashFileSD/MMC (он тут есть где-то)
на асме писать думаю утомительно..
объем файловой системы получается порядка 70-80Кб...
bisoft
Наверное на асме FAT - это самоистязание, какой смысл, если это должно для начала работать.
Тем более есть БЕСПЛАТНЫЕ библиотеки:

Embedded Filesystems Library
Library for filesystems intended to be used in embedded projects. The library currently supports FAT12/16/32 reading & writing on SD-cards, and is easily expandable for use with other devices on any platform.
http://sourceforge.net/projects/efsl

Еще все не проверял, но у меня вроде запустилась и работает.
add
Цитата
Наверное на асме FAT - это самоистязание, какой смысл...

эх, я так и предполагал что в основном будет такое мнение. Не спорю на счет Си. Буду в быстром темпе осваивать С.

off top: думаю мой вопрос может зародить некоторую дискуссию, но все же: Посоветуйте пожалуйста с чего лучше начинать писать на С для avr. А именно среда разработки. CV или IAR? Хотелось бы услышать объективные мнения! Аргументы в пользу того или этого.
Old1
Цитата(add @ May 23 2006, 08:56) *
off top: думаю мой вопрос может зародить некоторую дискуссию, но все же: Посоветуйте пожалуйста с чего лучше начинать писать на С для avr. А именно среда разработки. CV или IAR? Хотелось бы услышать объективные мнения! Аргументы в пользу того или этого.

Прочитайте эту тему, думаю это поможет вам определиться с выбором smile.gif.
ivstech
Цитата(A_Bolshev @ May 23 2006, 13:44) *
Цитата(add @ May 23 2006, 09:56) *

Цитата
Наверное на асме FAT - это самоистязание, какой смысл...

Посоветуйте пожалуйста с чего лучше начинать писать на С для avr.

А именно среда разработки. CV или IAR?


я вот с этого курса начинал год назад

http://electronix.ru/redirect.php?http://[banned] там прямо с самого начала по шагам раззказано и упражнения практические.

так и юзаю рекомендованые там CVAVR и VMLAB ну и макетки конечно с живыми МК.

Ага, тем более, что ты сам этот сайт создал...
defunct
Цитата(add @ May 23 2006, 08:56) *
off top: думаю мой вопрос может зародить некоторую дискуссию, но все же: Посоветуйте пожалуйста с чего лучше начинать писать на С для avr. А именно среда разработки. CV или IAR? Хотелось бы услышать объективные мнения! Аргументы в пользу того или этого.

Если вы уже знакомы с AVR-ассемблером, тогда несомненно лучше начинать с IAR-C.
Объективные мнения можете почитать здесь:
http://electronix.ru/forum/index.php?showtopic=12284

Ой, опоздал! ее уже Old1 привел smile.gif
add
Ага, в основном такие фразы "Использую IAR EWAVR 4.11A + AVRStudio, удобно и наглядно" .
С всеобщей поддержкой , склоняюсь к IAR EWAVR. Вот где бы его скачать?
зы: Хоть все чего то и накинулись на A_Bolshev с его сайтом, но подобного по IAR EWAVR не видел к сожелению. (и вообще большая ли разница в синтаксесе в CV и IAR). Просто хотелось инфу подоступнее, попроще..
defunct
Цитата(add @ May 23 2006, 12:20) *
Ага, в основном такие фразы "Использую IAR EWAVR 4.11A + AVRStudio, удобно и наглядно" .
С всеобщей поддержкой , склоняюсь к IAR EWAVR. Вот где бы его скачать?
зы: Хоть все чего то и накинулись на A_Bolshev с его сайтом, но подобного по IAR EWAVR не видел к сожелению. (и вообще большая ли разница в синтаксесе в CV и IAR). Просто хотелось инфу подоступнее, попроще..


С официального сайта IAR'а здесь. Качайте EVAL (30-ти дневную) версию. Таблетку найдете на фтп.

Ммм. если с регистрами AVR уже знакомы, тогда вам фичи типа мастеров создания проекта уже не нужны. IAR создает новый проект с чистого листа. Т.е. все в ваших руках как и в проектах на ассемблере. Описание синтаксиса Си можете взять здесь. Синтаксис, что в CW, что в IAR одинаковый, за исключением некоторых ключевых слов и прагм, описание которых найдете в хелпе.
beer_warrior
ИМХО для AVR есть два достойных С компилера - IAR и WinAVR.
Первый легче в освоении, второй легально бесплатный.Оба существуют в версиях для других МК, т.е. освоившись с АVR-версией легко мигрировать на MSP или там ARM.
Остальные ИМНО как трехколесный велосипед, хороший способ испортить стиль программирования, хотя для тривиальных задач вполне подойдут.
add
Цитата
С официального сайта IAR'а здесь. Качайте EVAL (30-ти дневную) версию. Таблетку найдете на фтп

Спасибо. Несовсем правда понимаю в чем разница между AVR IAR Embedded Workbench v. 3.20c и EWAVR-EV-412A . Наверно полная и урезаная так?
ЗЫ: Прошу прощения у всех за "глубокий" OFF TOP.
defunct
Цитата(add @ May 23 2006, 13:31) *
Несовсем правда понимаю в чем разница между AVR IAR Embedded Workbench v. 3.20c и EWAVR-EV-412A . Наверно полная и урезаная так?
ЗЫ: Прошу прощения у всех за "глубокий" OFF TOP.

3.20 вероятно старая (если речь не о компиляторе), лежит наверное для совместимости. У нее должно быть еще и GUI старый, и библиотеки с определениями.

К примеру проекты IAR-С51 2.xx, не компилируются в новом IAR-C51 4.05 и выше.

берите лучше 4.12.

Цитата(A_Bolshev @ May 23 2006, 13:29) *
а в CVAVR и ICC он уже встроен как и фича прошивания МК.

Как пользоваться мстером в задаче 1 и 8 тут ...

Ой да кому оно надо фича прошивания...
В IAR есть поддержка JTAG-ICE, через него программировать и сразу отлаживать.
ICC точно не поддерживает JTAG-ICE, CV я не пробовал, однако думаю, что он тоже этим страдает, т.к. объем дистрибутива подозрительно мал.

В IAR для любителей IDE есть возможность настройки тулзов, так что любой программатор поключить к IDE можно.

И кончайте рекламировать ваш сырой курс, от него вреда больше чем пользы
defunct
Цитата(A_Bolshev @ May 23 2006, 15:39) *
Цитата(defunct @ May 23 2006, 15:14) *

И кончайте рекламировать ваш сырой курс, от него вреда больше чем пользы

Это голословное утверждение. Похоже это ваш стиль.

и это не мой курс, я просто привожу его в пример потому что он мне помог начать работать с МК, как и очень многим людям.


Не спорю, здесь мое утверждение выглядит голословно.
Но если заглянуть сюда , то оно перестает быть голословным, если заглянуть сюда то наносимый вред становится очевидным. Новички уже пользуются материалами этого вредоносного курса и повторяют сделанные там ошибки. А если заглянуть еще и сюда, и обратить внимание на имя автора поста #33 и следующий за ним пост #34, то становится ясно, что некий персонаж [banned] из первой приведенной ссылки и A_Bolshev из третей приведенной ссылки и из текущей ветки - это один и тот же человек, который занимается раскруткой собственного сайта.

Больше с вами говорить не о чем.
Всего хорошего.
WHALE
сейчас и в меня начнут кидаться камнями maniac.gif .но,если человек только переползает на С,то
CV ИМХО.В IAR один хэлп страниц на 200 и куча других прелестей,занимающих время.Человеку
будет не до языка,с IDE бы разобраться-что есть перебор.CV в быстром запуске намного проще и стиль
программирования испортить не должен-стандарту в общем соответствует.И потихоньку осваивать IAR,
имея в виду,что возможностей там больше- С++,более оптимальный компилятор и т.д.
beer_warrior
Цитата
сейчас и в меня начнут кидаться камнями

А вот и первый ...
Если человек мигрирует на С, в первую очередь он должен взять хороший учебник по _языку_. Во вторую нормальную среду разработки,
не для студенческих поделок, а на которой пишутся коммерческие проекты.В третью - изучить документацию по особенностям С для конкретного МК типа Getting Started with IAR Embedded Workbench for Atmel AVR(целых 10 страниц.).В четвертую - изучать образцы чужого кода - желательно из серьезных проектов.
И совсем не обязательно играться с виртуальными классами, перегружаемыми операторами, даже структуры с юнионами могут подождать - это потом придет, с опытом.
haker_fox
Цитата(A_Bolshev @ May 24 2006, 09:34) *
Цитата(beer_warrior @ May 23 2006, 23:09) *

Если человек мигрирует на С, в первую очередь он должен


да ни должен он НИ ЧЕГО и НИ КОМУ !

человек волен поступать как считает нужным.


bb-offtopic.gif Прошу прощения у модераторов за явный оф-топ, но мне просто тяжело промолчать. В свое время Ленин говорил: "страной может управлять кухарка или домохозяйка" (не помню точно). Теперь это звучит так: "При помощи сайта [banned], замечательного компилятора CodeVision и не менее превосходного симулятора VMLab программировать микроконтрорллеры может почти каждый. При этом он ничего и не кому не должен. Наверно даже себе." При этом, пользуясь всевозможными мастерами и библиотеками, зашитыми в CV (Code Vision) все, кому не лень начинают программировать МК. А при первой трудности, когда функций, заложенных в мастер или библиотеку становится явно не достаточно, начинаются вопросы типа: "Помогите запрограммировать таймер", "Помогите запустить DS18B20" или еще что-нибудь в подобном духе.
WHALE
2 beer_warrior Вы абсолютно правильно изложили процесс миграции,согласен по всем пунктам,
кроме 1.Если чел только начал осваивать язык,то первые пара пректов(как минимум) и будут студенчес
кими поделками.И 10 страниц Getting Started with IAR будет явно маловато.А в его хэлпе потеряться можно sad.gif .В CV ХЭЛП четко структурирован,хороший навигатор и ничего лишнего(и опущенного тоже).
Включает даже описание встроенных библиотечных фукций-как стандартных,так и самописных.Все очень четко-синтаксис,описание,пример применения.И встроенные в IDE программатор и вызов отладчика.Согласен,профи вроде вас это нафиг не нужно,но для начинающего,имхо,лишние движения
ни к чему.
haker_fox
Цитата(WHALE @ May 24 2006, 13:23) *
2 beer_warrior Вы абсолютно правильно изложили процесс миграции,согласен по всем пунктам,
кроме 1.Если чел только начал осваивать язык,то первые пара пректов(как минимум) и будут студенчес
кими поделками.И 10 страниц Getting Started with IAR будет явно маловато.

ИМХО язык (Си) осваивают не по хэлпу компилятора, а по соответсвующему мануалу, коих в инете полно.
add
Цитата
Если человек мигрирует на С, в первую очередь он должен взять хороший учебник по _языку_. Во вторую нормальную среду разработки,

Вот в этом и вопрос то был, что хотелось бы начать с "нормальной" и более доступной в плане понимания и доступности билиотек среды и т.д. что-бы потом не "переползать" еще раз!!
Цитата
В третью - изучить документацию по особенностям С для конкретного МК типа Getting Started with IAR Embedded Workbench for Atmel AVR(целых 10 страниц.).

Некоторый опыт работы с контроллерами у меня есть(в асме). Простые програмки типа мигнуть диодом, вывести в порт писал в среде CV. Но это все игрушки. Сейчас есть желание серьезно занятся С.

Цитата
В четвертую - изучать образцы чужого кода - желательно из серьезных проектов.

Вот в этом вся суть! Абсолютно с этим согласен. (вот еще бы пимеров подробно(или даже не очень подробно, но с хорошим "стилем программирования") разжеванных :-) взьть бы где...)

Цитата
И встроенные в IDE программатор и вызов отладчика.

Ведь код помойму в AVRstudio можно отладить?!
haker_fox
Цитата
Вот в этом и вопрос то был, что хотелось бы начать с "нормальной" и более доступной в плане понимания и доступности билиотек среды и т.д. что-бы потом не "переползать" еще раз!!

В случае с Code Vision переползание очень даже гарантировано. Например при переходе на другой МК. Тогда такие компиляторы, как IAR и GCC поддерживают не только AVR.

Цитата
Некоторый опыт работы с контроллерами у меня есть(в асме). Простые програмки типа мигнуть диодом, вывести в порт писал в среде CV. Но это все игрушки. Сейчас есть желание серьезно занятся С.

Если Вы желаете подучить СИ, то могу порекомендовать эти ресуры: www.natahaus.ru, www.citforum.ru и www.google.com

Цитата
Вот в этом вся суть! Абсолютно с этим согласен. (вот еще бы пимеров подробно(или даже не очень подробно, но с хорошим "стилем программирования") разжеванных :-) взьть бы где...)

ИМХО мало кто поделится своими коммерческими проектами. В качестве хорошего стиля, опять же много сказано в книгах по программированию. Могу порекомендовать одну хорошую книгу, на мой взгляд она все по "хорошему стилю": "Веревка достаточной длины, чтобы выстрелить себе в ногу. Правила программирования на Си и Си++", автор Ален И. Голуб. В формате pdf. К сожалению не знаю, где скачать.


Цитата
Ведь код помойму в AVRstudio можно отладить?!

Да. Причем, используя любой из этих компиляторов: Code Vision, IAR, GCC (WinAVR). Про остальные ничего не знаю)
defunct
Цитата([banned] @ May 24 2006, 08:31) *
Цитата(add @ May 24 2006, 08:54) *

вот еще бы пимеров подробно(или даже не очень подробно, но с хорошим "стилем программирования") разжеванных :-) взьть бы где...)

а для CVAVR в папке с примерами.

LOL, да там несомненно хороший стиль программироваия, только в кавычки следует взять не стиль программирования, а слово "хороший".
haker_fox
Цитата([banned] @ May 24 2006, 14:31) *
да уж пора бы привыкнуть - что

вся инфа на ПЕРВОЙ странице моего краткого курса.

и книги тоже - без них то никуда ...

Уважаемый [banned], при всем уважении к вам, вот цита с первой страницы, которую видят все, кто заходит на Ваш сайт:
Цитата
Краткий Курс - Самоучитель
Микроконтроллеры AVR для начинающих.
Быстрый старт, самые первые шаги ...
Чайникам от чайника !
Вам даже не нужен микроконтроллер,
провода, радиодетали и пайка !
Нужно лишь скачать компилятор - 2 Мб
и отличный симулятор МК - 4 Мб.
Обучаясь вы ни чего не спалите,
а потратите лишь трафик и свое время.
Уверен - с большой пользой !

Вот и плодите вокруг себя чайников, подобных себе!
beer_warrior
Код
CV ХЭЛП четко структурирован,хороший навигатор и ничего лишнего(и опущенного тоже).
Включает даже описание встроенных библиотечных фукций-как стандартных,так и самописных.Все очень четко-синтаксис,описание,пример применения.

В том-то и дело, что не нужно этого.
Есть язык с его логикой, операторами и типами данных и есть библиотеки, по отношению к языку внешние.
Грубо говоря, все эти printf() и memcpy() можно написать и самому, а вот умение правильно и рационально закодировать алгоритм есть принципиально.
И в принципе вообще стоит осваивать С на РС, взять например какой-нибудь Borland C 3.0,
C для МК это просто частный случай.
Мне часто попадаються на доработку проекты сляпаные такими любителями wizardов как наш друг 123,
Жена заслышав привычный мат, уже знает в чем дело smile.gif
Так вот основная проблема - привязка к узкозаточенным библиотекам, глобальные переменные раскиданные по всему тексту, паузы сделанные поочередно на всех таймерах, функции которые делают все и сразу.
Такой код трудно портировать и модифицировать.
---
2 add
Чисто практический совет.
1.Поставьте себе IAR (за любимый gcc агитировать не буду, но при случае забарахлитесь и поиграйтесь, лишним не будет)
2.Соберите тестовый проект и убедитесь, что все работает.
3.Не пожалейте купите 2 книги
3.1 Герберт Шилдт Справочник программиста С/С++ ($4)
Это полный справочник по языку, должен всегда лежать на столе.
Шилдт соавтор стандарта ANSI C
3.2 Брюс Эккель Философия С++ ($10 том) - пока достаточно первого.
Если английский хорош, можете взять здесь оригинал http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html, там же примеры кода.
Книжка написана железячником смигрировавшим на программирование, начинаеться от азов заканчиваеться очень сложными вопросами. Очень ценная особенность - объяснсняеться не только как, но и зачем и почему. Много советов по стилю программирования и проектирования.
Перечитывать можно бесконечно, всегда найдешь что-то новое.
4. Делаете свой проект и начинаете писать, на вопросы в форуме всегда ответят.
beer_warrior
Цитата
а что нельзя написать самому ?

тогда нафига вообще компиляторы ?


А какое отношение printf() имеет к компилятору?
У вас такой уровень понимания?
Сочувствую.
Может преждевременно тогда молодежь учить?
add
Цитата
2 add
Чисто практический совет.
1.Поставьте себе IAR .....
....
4. Делаете свой проект и начинаете писать, на вопросы в форуме всегда ответят.

Книжки обязательно куплю. Пасиба за советы. Скачал EWAVR-EV-412A с ftp. разбираюсь с установкой..:-( не могу найти ключ.
beer_warrior
Больше сказать нечего?
andrey_s
Цитата([banned] @ May 24 2006, 13:55) *
Цитата(beer_warrior @ May 24 2006, 14:24) *

Сочувствую.


да вы лучше руский язык подучите. Дислексия у вас налицо.

Н-н-да, Дорогая Редакция!
Вообще-то , "Дислексия" это нарушение у детей способности правильно прочесть печатный текст. Нам что, beer_warrior что-то вслух читал или пересказывал?? А! Понял! Наверное, это был случай диагностики по аватару...

P.S. неужели и этот форум "люди-домены" превратят в один большой рекламный баннер?
Или таки можно будет и дальше учиться у профессионалов хотя бы просто читая незафлуженные одними и теми же ссылками ветки?
defunct
Цитата([banned] @ May 24 2006, 10:58) *
но чайники почти все люди на земле - это нормально и не зазорно.

Если человек хочет сделать на досуге поделку на МК то почему он должен становится профессионлом ?

Ему достаточно узнать как сделать то что ему нужно.

Мой курс как раз и помогает в этом. Потому он и краткий и самоучитель.

Чайник/новичек синонимы, однако новичек(чайник) взависимости от того на чем будет учиться может:
1. Так и остаться новичком (чайником), это кстати не худший случай.
2. Стать профессионалом.
3. Стать ЛАМЕРОМ.

Ваш сайт как раз с успехом помогает новичкам(чайникам) быстро становиться ламерами. Которые в реальной ситуации не смогут ничего сделать самостоятельно, кроме как спросить "ДАЙТЕ КОД" или "ПАМАГИТЕ на ...123... нет того что мне надо!".


Цитата(add @ May 24 2006, 13:32) *
Книжки обязательно куплю. Пасиба за советы. Скачал EWAVR-EV-412A с ftp. разбираюсь с установкой..:-( не могу найти ключ.

Надо было качать с сайта IAR'а, тогда вам бы на email пришло бы письмо с ключем.. Зайдите по той ссылке которую я давал, заполните форму для скачивания Eval версии, и вам придет ключ. Лекарство ищите по ключевому слову "клизма" на фтп.
zltigo
Цитата([banned] @ May 24 2006, 13:55) *
да вы лучше руский язык подучите.

Три ошибки в одном предложении:
- предложения приято начинать с прописной буквы;
- 'русский' с двумя 'c';
- 'Вы' c прописной буквы - чай не на аглицком пишите.

С 'курсом' аналогичная проблема - в нем изрядно невидимых Вами ошибок и несуразностей.
Но всех пытаетесь с маниакальным упорством посылать 'учиться' :-(.
beer_warrior
Цитата
Судя по вопросам на этом форуме люди не делают то что я рекомендую а сразу постят вопросы в форум.


Во глупые-то а? smile.gif
Proton
Цитата([banned] @ May 25 2006, 12:54) *
да по вашим постам видно какого вы мнения о людях и о продуктах которые вы не используете.


avr123 кончайте флудить, Вам что мало предупреждений модераторов? Если Вам негде выговориться создавайте на своём ресурсе свой форум и превращайте его в помойку, а здесь если здесь не прекратите свои выходки Вас наверное надеюсь уже скоро забанят.
add
Так я и думал что тема вопроса отойдет на второй план :-( Не хотелось вызвать такую перепалку, и столько оффтопных изречений.
Выражаю огромную благодарность людям уделившим непосредственное внимание вопросу темы (и под темы про С).
ДУМАЮ ТЕМУ НАДО ЗАКРЫТЬ.
defunct
Цитата(add @ May 25 2006, 10:07) *
ДУМАЮ ТЕМУ НАДО ЗАКРЫТЬ.

Это в ваших силалах, вы же создали ветку.
Воспользуйтесь опциями модератора ;>
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.