ARM7 с нуля

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

ARM7 с нуля

Сообщение ARM7 »

Наигравшись с AVR-ами решил начать изучать ARM-ы. Сделать плату под столь мелкую микросхему и припаять хоть и можно,но уж больно неохота было, вот и купил отладочную плату с микроконтроллером с АРМ ядром LPC2387, и цена не такая уж большая, тем более если всё, что там есть покупать по отдельности, то и дороже обойдется и в таком качестве не соберешь.
Изображение
Плюс к этому заказал еще плату с GSM модулем SIM300Z-есть кое какие задумки-ну это потом,пока будем изучать АРМ.
Изображение
Программатор для заливки HEX прошивки для АРМ не нужен-с завода в каждый контроллер зашивается загрузчик, подключаешь через ком порт к компу и с помощью программы Flash Magic программируешь. Можно и через JTAG программатор-отладчиком, навсякий случай я и его купил,хотя она стоит почти как сама оценочная плата. На диске в комплекте с платой есть несколько проектов, одна из них- веб-сервер EasyWEB был уже прошит на мк, немного изменил и заново прошил- соединил к компу,набрал в браузере ай-пи адрес и вот что получилось-
Изображение]
Есть еще проекты, будем пробовать их и дальше изучать...
Последний раз редактировалось ARM7 Сб мар 26, 2011 16:24:22, всего редактировалось 1 раз.
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

.
Последний раз редактировалось ARM7 Сб мар 26, 2011 16:24:52, всего редактировалось 1 раз.
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Хоть и не измеряет с описанных выводов-это не главное,суть-соединяется и т.д.,не стал разбираться по этому поводу.
Кстати Ethernet на этой плате железный,что это значит?-значит то,что установлена спец микросхема для этого, поэтому если даже стереть мк, все равно сетевая лампочка будет моргать и будет подключение с сетевым адаптером компа.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ARM7 с нуля

Сообщение Satyr »

Нафига антиквар брать ?
Кортекс М0/М3 текущее поколение.
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Как только что спрыгнувший с AVR-ок, напишу некоторые различия между авр и арм. Ну кроме мощности- 72 мгц и память-512 кб и оперативку- 64 кб- что сразу бросается в глаза- нет фьюзов-это уже хорошо, нет EEPROM-а зачем он нам нужен, питание 3,3 вольта, внутри кроме всего прочего-встроенные часы- каленьдарь до 2099 года вроде :))) -можно например по прерываниям часов по расписанию делать что то..
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ARM7 с нуля

Сообщение Satyr »

ARM7 писал(а):Кстати Ethernet на этой плате железный,что это значит?

А где то есть софтовый ? -))) покажи.

на плате распаян тупо PHY передатчик. MAC часть в контроллере.
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Satyr писал(а):Нафига антиквар брать ?
Кортекс М0/М3 текущее поколение.

ну так подожди-дай изучить "антиквар" сначала.
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Satyr писал(а):
ARM7 писал(а):Кстати Ethernet на этой плате железный,что это значит?

А где то есть софтовый ? -))) покажи..
я не знаю где есть-я просто факт говорю, до этого не встречался, вот и Америку открыл :))
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ARM7 с нуля

Сообщение Satyr »

ARM7 писал(а):ну так подожди-дай изучить "антиквар" сначала.

Это не перспективно. для разработчика не так уж чтоб сильно с АРМ7ТДМИ отличались, скорее в ньюансах (ну и производительности прилично).
А разбираться в ньюансах одного, а потом другого, причем той же сложности... зачем ?
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Просьба суперпрофессионалов не читать мою тему-знаю,вы всё знаете, а мне как начинающему пока и этот арм пойдет.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ARM7 с нуля

Сообщение Satyr »

Да ладна, это из добрый побуждений, так сказать -))
Спрашивай елси чего.

Самое что интересное после AVR будет, так не само ядро, а GPIO LPC'шный с кучей вариантов функций на ножку, режимов, подтяжек, да еще в некоторых оно есть "старое" и "быстрое" - там интересно.

Ну и PLL с делителями и куче разных частот на разную перифирию, после AVRских пары-тройки фюзов тоже поначалу озадачивает. Аналогично и с пауэрменеджером.
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Вот-вот... Вопросов,конечно много, без них никак. Самое первый вопрос у меня возник-а как выводы назначаются или просто как вывести 1 на какую нибудь ножку. Ну с этим разобрался по даташиту и умным книжкам+еще примеры помогают,а их много,на всю перифирию внутри примеры есть.
Значит так- назначить ножку(и) порта входом или выходом-
IODIR0- Задает направление выводов GPIO (0-вход, 1-выход). Бит 0 соответствует P0.0 ... Бит 31 соответствует P0.31
Порты здесь 32-битные, открываем калькулятор винды в инженерном виде, ставим единицыb нули в BIN 32 раза, переводим в HEX- например ножки Р0.0-Р0.7 назначить выходами будет так- IODIR0=0x000000FF Более изящные способы в виде подсказки приветствуются :))
Пойдем дальше...
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Есть еще и такое FIO2DIR =0x00000001; FIO-это значит FastIO- я так понял сконфигурировать вывод(здесь- Р2.0) на выход в быстром режиме, а поточнее понять как это и почему-не дошел пока, то же самое- приветствуются подсказки..

Если есть Fast- т.е. быстро, зачем нужен медленно,хм.. :beer:
Последний раз редактировалось ARM7 Вс апр 10, 2011 18:34:19, всего редактировалось 1 раз.
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

IOSETx
FIOxSET
Регистр вывода(установить в 1). Запись 1 дает высокий уровень на соответствующем пине. Запись 0 не имеет эффекта. Нулевой бит соответствует порту Px.0 …. 31й – Px.31. Используется для записи и чтения, чтения-хм,интересно..
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

IOCLRx
FIOxCLR
Очищающий регистр вывода. Этот регистр контролирует состояние вывода пинов. Запись 1 дает низкий уровень на выходе и очищает соответствующий бит в регистре IOхSET. Запись 0 не имеет эффекта. Нулевой бит соответствует порту Px.0 …. 31й – Px.31. Используется только для записи.
IOCLR0=0x00000001- это значит установить в Р0.0=0, так вроде
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Ну значит, если нужно поморгать светодиодом на ноге Р0.7 нужно будет написать такой код
IODIR0= 0x00000080;
IOSET0 = 0x00000080;
delay(1); // функция задержки
IOCLR0 = 0x00000080;
ну там еще вечный цикл..
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

А как, спрашивается, установить ножку в третье состояние,т.е. подтяжка внутренним резистором к плюсу? :shock:
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ARM7 с нуля

Сообщение Satyr »

ARM7 писал(а):Есть еще и такое FIO2DIR =0x00000001; FIO-это значит FastIO- я так понял сконфигурировать вывод(здесь- Р2.0) на выход в быстром режиме, а поточнее понять как это и почему-не дошел пока, то же самое- приветствуются подсказки..

Вот здесь кроется западло. За все LPC2*** не скажу, а с какими имел дело было так - порты 2 и выше всегда в Fast режиме. А порты 0 и 1 битом либо в Fast, либо в Legacy режиме. Определяется в регисте, насколько помню, SCS или похжем по названи. Cоот работает или FIO1DIR и прочее FIO1***, или IO1DIR и IO1***. А НЕ так что любой из комплектов регистров. Если выбрано Fast, то всякие регистры IO0*** и IO1*** просто игнорируются. И наоборот.
Последний раз редактировалось Satyr Сб мар 26, 2011 19:18:29, всего редактировалось 1 раз.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ARM7 с нуля

Сообщение Satyr »

ARM7 писал(а):А как, спрашивается, установить ножку в третье состояние,т.е. подтяжка внутренним резистором к плюсу? :shock:

FIO*MODE - подтяжка вверх, вниз, никакой.
FIO*SEL - выбор режима ноги. GPIO либо альтернативная функция.
Как на AVRе, просто проинитить какой то перифирийный контроллер, не достаточно. Надо еще ноги переключить.

Режиме входа (регистр ***DIR) и без подтяжки - вот оно и Z-состояние.
Аватара пользователя
ARM7
Встал на лапы
Сообщения: 85
Зарегистрирован: Пн мар 07, 2011 19:52:52

Re: ARM7 с нуля

Сообщение ARM7 »

Вот еще примеры с даташита-
IO0DIR = 0x0000 0080 ; pin P0.7 configured as output
IO0CLR = 0x0000 0080 ; P0.7 goes LOW
IO0SET = 0x0000 0080 ; P0.7 goes HIGH
IO0CLR = 0x0000 0080 ; P0.7 goes LOW
А вот FIO*MODE и FIO*SEL ни в даташите,ни в литературе пока не встретил,ну ладно будем искать.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»