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

 
 
> c чего начинать?
shide_3
сообщение Jun 13 2012, 08:07
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 314
Регистрация: 27-04-10
Пользователь №: 56 923



приветствую. начал осваивать АРМ. скачал IAR. решил поразбирать встроенные примеры для отладочных плат. первой жертвой выбрал USB Mouse.
почитал даташит, вроде все понятно, описание регистров тоже. но вот эти готовые проекты без поллитра не разбереш. много-много готовых всяких функций, дофига файлов в проекте, usb_hw, usb_t9 и т .п. Хватает меня на 5 минут не больше, дальше мозг просто отключается. может, я просто не по правильному пути пошел? реално ли создать свой проект без разбора этой байды? у кого какой опыт хотелось бы узнать. очень тяжко разбираться в чем-то готовом, особенно когда мало комментариев.
ни книжек ни мануалов нормальных то нигде и нет!
премного благодарен за любую помощь
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3 >  
Start new topic
Ответов (15 - 29)
kovigor
сообщение Jun 15 2012, 10:49
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(shide_3 @ Jun 15 2012, 11:39) *
а в плане кристалла что легче осваивать (Atmel, NXP)?
смотрю, взять тот же USB, у всех NXP есть DMA, у Атмела он только на самых крутых чипах (samg45), да и регстров вроде меньше у атмела..
у STM вообще usb без dma


Atmel и NXP по сложности освоения примерно одинаковы. Только берите плату с предустановленным Линуксом. STM в освоении заметно сложнее. Да и Линукс вы на нем не запустите, только ucLinux ...
Go to the top of the page
 
+Quote Post
Lotor
сообщение Jun 15 2012, 11:03
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Цитата(kovigor @ Jun 15 2012, 14:49) *
Только берите плату с предустановленным Линуксом.

Не ради холивара, но Вы так активно агитируете за линукс, что отдает фанатизмом... sm.gif Новичкам имхо лучше начать с cortex'ов или классических 7 армов.


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jun 15 2012, 11:29
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Lotor @ Jun 15 2012, 14:03) *
Не ради холивара, но Вы так активно агитируете за линукс, что отдает фанатизмом... sm.gif Новичкам имхо лучше начать с cortex'ов или классических 7 армов.


Вы меня не поняли. Я не агитирую за Линукс, ни в коем случае. Более того, множество задач решаются вообще без привлечения ОС Но я опираюсь на свой опыт и смотрю в будущее. Если человек будет заниматься АРМ, то рано или поздно его задачи достигнут такого уровня, что без ОС (Линукс, например) они в разумное время станут неразрешимыми. Поэтому я всего лишь навсего предлагаю взять отладочую плату "с запасом", ибо в будущем это может очень пригодиться. И пригодится почти наверняка.

С ARM7 начинал я сам, но это было лет 5 назад. После этого работал и с АРМ9, и с Кортексами. Сейчас осваиваю Линукс на Cortex-A8. Я считаю, что начинать с ARM7 вполне допустимо. Если есть желание или необходимость в будущем запустить ОС, то начать лучше все же как минимум с ARM9 ...
Go to the top of the page
 
+Quote Post
Lotor
сообщение Jun 15 2012, 11:54
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Цитата(kovigor @ Jun 15 2012, 15:29) *
Вы меня не поняли. Я не агитирую за Линукс, ни в коем случае. Более того, множество задач решаются вообще без привлечения ОС Но я опираюсь на свой опыт и смотрю в будущее. Если человек будет заниматься АРМ, то рано или поздно его задачи достигнут такого уровня, что без ОС (Линукс, например) они в разумное время станут неразрешимыми. Поэтому я всего лишь навсего предлагаю взять отладочую плату "с запасом", ибо в будущем это может очень пригодиться. И пригодится почти наверняка.

С ARM7 начинал я сам, но это было лет 5 назад. После этого работал и с АРМ9, и с Кортексами. Сейчас осваиваю Линукс на Cortex-A8. Я считаю, что начинать с ARM7 вполне допустимо. Если есть желание или необходимость в будущем запустить ОС, то начать лучше все же как минимум с ARM9 ...

Вы всё верно говорите, просто плата "с запасом" с Линуксом может скрыть от начинающего важные базовые аспекты. Хотя опять-так все имхо.
А на счет будущего - никогда не угадаешь. sm.gif Я вот, например, еще год назад о nios ничего не знал, а сейчас жизнь заставляет заниматься PSoC.


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jun 15 2012, 12:00
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Lotor @ Jun 15 2012, 14:54) *
Вы всё верно говорите, просто плата "с запасом" с Линуксом может скрыть от начинающего важные базовые аспекты. Хотя опять-так все имхо.


Не скроет. Можно ввобще ОС не грузить, даже U-Boot'ом не пользоваться, а просто грузить свое Standalone - приожение из Flash, что я и делал. А ОС начинать осваивать по мере необходимости. Т.е., человек ничем не рискует. Не нужен Линукс ? Ну и не надо, просто не грузим его, и все ...
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Jun 15 2012, 15:04
Сообщение #21


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(kovigor @ Jun 15 2012, 14:29) *
Если человек будет заниматься АРМ, то рано или поздно его задачи достигнут такого уровня, что без ОС (Линукс, например) они в разумное время станут неразрешимыми. Поэтому я всего лишь навсего предлагаю взять отладочую плату "с запасом", ибо в будущем это может очень пригодиться. И пригодится почти наверняка.

С ARM7 начинал я сам, но это было лет 5 назад. После этого работал и с АРМ9, и с Кортексами. Сейчас осваиваю Линукс на Cortex-A8. Я считаю, что начинать с ARM7 вполне допустимо. Если есть желание или необходимость в будущем запустить ОС, то начать лучше все же как минимум с ARM9 ...


Отладочная плата с запасом (ориентированая на Linux, ARM9) может оказаться тяжелой для освоения. ИМХО ARM7/CORTEX-M3 больше подходят для начального освоения - этому способствует более простая по сравнению с ARM9 структура процессора (но по сравнению с AVR всёравно довольно сложная), развитая переферия и достаточное кол-во примеров в сети. А когда у человека встанут задачи связанные с Linux, то тот кто эти задачи ставит сам предоставит нужные отладки или платы под рабочие проекты. По собственному опыту - надо было освоить AT91SAM7S - купили отладку, для LPC23xx, LPC17xx и STM32F100 - дали готовую плату. Когдато для старта покупал отладку с LPC2468. Поморгал светодиодом и забыл. Сам себе не придумал задачи которые можно былобы решить на ней. А вот когда пошёл работать, тогда были поставлены конкретные задачи с привязкой к конкретному процессору (первым был SAM7S, до него только AVR). Тогда и наметился некоторый вектор в освоении. GPIO, PLL, прерывания и таймеры, USART, наконец первая рабочая версия проекта.
Если выбирать ATMEL vs NXP то я отдаю предпочтение NXP. Ихни CORTEX-M3 LPC17xx оставили хорошие впечатления как по производительности, так и по сложности освоения. С ними приятнее работать чем с ARM7 LPC23xx или AT91SAM7S. STM32 пока не впечатлил из-за привязки к CMSIS (просто небыло времени разбираться с переферией).
В качестве компилятора использую IAR с самого начала. Да он сложнее чем KEIL в настройках, но по примерах легко можно во всём разобраться. Огромный плюс - подержка огромного кол-ва производителей и семейств процессоров.

Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jun 16 2012, 14:14
Сообщение #22


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (shide_3 @ Jun 14 2012, 22:44) *
странная контора СтартерКит.. что-то там все подозрительно дешево. J-Link там 4000, в Терраэлектронике 10000 р. и платы дешевые страшно
похоже торгуют неликвидом чтоли

Вы нашу птичку не обижайте! rolleyes.gif
С 2007 у них покупал несколько плат. Все было в норме.

На счет дешевизны. Все относительно. Вы сравниваете с Террой. А почему с ней? Я вот помню одна деталька в терре стоила x рублей, а в чип-дипе - 1,5x. Это же не значит, что я должен брать ее в ЧД.

Более того, Терра является официальным дистрибьютером плат стартеркита. Отсюда и наценка.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Alexey K
сообщение Jun 18 2012, 05:35
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 14-07-11
Пользователь №: 66 220



Цитата
По моему скромному мнению, для старта гораздо предпочтительнее Keil


Полностью согласен и присоединяюсь.

Насчет Linux думаю, что это следующий шаг.

Starterkit - хорошая контора. Так что есть смысл присмотреться.
Go to the top of the page
 
+Quote Post
shide_3
сообщение Jun 18 2012, 07:31
Сообщение #24


Местный
***

Группа: Участник
Сообщений: 314
Регистрация: 27-04-10
Пользователь №: 56 923



Цитата(mempfis_ @ Jun 15 2012, 18:04) *
ИМХО ARM7/CORTEX-M3 больше подходят для начального освоения - этому способствует более простая по сравнению с ARM9 структура процессора

а обязательно разбираться в структуре процессора, чтобы программить МК на Си?
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jun 18 2012, 07:55
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(shide_3 @ Jun 18 2012, 10:31) *
а обязательно разбираться в структуре процессора, чтобы программить МК на Си?


Глубоко - нет. Но представление об архитектуре вы иметь обязаны, и даташит (или Reference Manual) прочесть также придется. Еще очень желательно базовое знание ассемблера для вашего МК (это поможет разбираться в содержимом Startup - файлов (.s - файлов)) ...

Кстати, про ARM7 очень хорошо (и по-русски) написано у Мартина Тревора. Во многом эти сведения приложимы и к ARM9 ...
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Jun 18 2012, 08:28
Сообщение #26


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(shide_3 @ Jun 18 2012, 10:31) *
а обязательно разбираться в структуре процессора, чтобы программить МК на Си?


Структуру процессора с которым работаеш всегда необходимо знать. Одно ядро (ARM7/9/CORTEX-M3) это не весь контроллер - там ещё достаточное кол-во переферии на борту бывает. Си не будет за вас разбираться с настройками таймеров, уартов, FLASH-акселераторов, DMA и т.д.

Как показала практика нет необходимости глубоко разбираться в самом ядре. Достаточно научиться подключать корректный стартап и разбираться в memory-map чтобы редактировать файл линкера под нужные процессоры, ну и для ARM7 понимать разницу в __arm __thumb __irq __fiq. Более важно понимать как работать с переферией.
Go to the top of the page
 
+Quote Post
Lotor
сообщение Jun 18 2012, 12:28
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Еще добавлю про стартеркит, что примеры, идущие с их девайсами, подходят скорее для проверки исправности плат, но не для изучения. Так что начинающему придется самостоятельно адаптировать проекты, найденные в сети от других демоборд. Это полезно. =)


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
shide_3
сообщение Jun 18 2012, 13:48
Сообщение #28


Местный
***

Группа: Участник
Сообщений: 314
Регистрация: 27-04-10
Пользователь №: 56 923



Цитата(Lotor @ Jun 18 2012, 15:28) *
Так что начинающему придется самостоятельно адаптировать проекты, найденные в сети от других демоборд. Это полезно. =)

а про встроенные примеры IAR вы что можете сказать?

Цитата(mempfis_ @ Jun 15 2012, 18:04) *
Если выбирать ATMEL vs NXP то я отдаю предпочтение NXP.

я вот не пойму почему у атмела, к примеру sam9g45 usb device port 23 регистра, а у равного ему lpc3250 аж 38 регистров. значит lpc сложнее будет для освоения?
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jun 18 2012, 15:07
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(shide_3 @ Jun 18 2012, 16:48) *
а про встроенные примеры IAR вы что можете сказать?


Примеры, те, что я исследовал, вполне рабочие. Что от Кейла, что от ИАРа. Но напрямую использовать их код, скорее всего, не получится. Хотя бы уже потому, что они являются чисто учебными и обычно до совершенства не доводятся. Зато их можно и нужно использовать для обучения работы с подсистемами МК.


Цитата(shide_3 @ Jun 18 2012, 16:48) *
я вот не пойму почему у атмела, к примеру sam9g45 usb device port 23 регистра, а у равного ему lpc3250 аж 38 регистров. значит lpc сложнее будет для освоения?


Сложность примерно одинакова. В обоих случаях есть своя специфика. Просто USB-движки у LPC и ATMEL сделаны по-разному ...


Go to the top of the page
 
+Quote Post
Hamster1979
сообщение Jul 11 2012, 10:22
Сообщение #30


Участник
*

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



Цитата(shide_3 @ Jun 14 2012, 18:44) *
странная контора СтартерКит.. что-то там все подозрительно дешево. J-Link там 4000, в Терраэлектронике 10000 р. и платы дешевые страшно
похоже торгуют неликвидом чтоли

стартер кит продает JET-link собственного производства- это клон J-linka и нигде и никогда он 10 000 не стоил. Ребята находятся в ижевске, в элитане(там же в ижевске) покупают детали, насчет плат не знаю, сами все производят поэтому у них все и недорого.

Что касается с чего начать - ИМХО stm32 cortex M3/M4 - у ST Microelectronics есть все для этих процессоров для быстрого старта - библиотека переферии, демо проекты, операционки. И все проекты под несколько сред (IAR, Keil и другие). Демо плату лучше подбирать ту, что сразу поддерживается демо примерами от ST Microelectronics .
Go to the top of the page
 
+Quote Post

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

 


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


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