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

 
 
> lpc2367: hello led, Нужен набросок программы "Hello led"
whiteTigr
сообщение Jul 25 2011, 11:41
Сообщение #1


Участник
*

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



В наличии:
Микроконтроллер lpc2367, который запаян вручную (с помощью печки) на самопальную плату
Загрузка по Com-порту, с помощью программый FlashMagic
Среда программирования Eclipse + компилятор Yagarto

Все это свалили на меня сразу же на новой работе и сказали запустить. Сижу мучаюсь уже третий день и, думается, что глюки могут быть везде: как в непропаях на плате, неправильных настройках програматора или компилятора, неправильной программы.

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

И второй вопросик: как добраться до любой пользовательской ножки на контроллере? Насколько я понял для этого можно использовать IODIR для задания in/out и IOSET/IOCLR для управления.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 14)
haker_fox
сообщение Jul 25 2011, 12:45
Сообщение #2


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

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



QUOTE (whiteTigr @ Jul 25 2011, 20:41) *
Набросайте пожалуйста минимальную программу моргания светодиодом (с любой ножки на ваш выбор), чтобы уменьшить вероятность неправильной работы программы и грешить на другие части.

На одной ножке замигает, на другой не замигает. Нужно железо хорошее.
Прошивка через usart работает? Если работает, значит МК работает. Можно двигаться дальше.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jul 25 2011, 14:00
Сообщение #3


Гуру
******

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



Цитата(whiteTigr @ Jul 25 2011, 14:41) *
Среда программирования Eclipse + компилятор Yagarto


Скачайте Keil. С ним в комплекте идут примеры простейших программ, и для LPC23xx - в том числе есть пример мигания лампочкой, и не только. Настройки проекта и компилятора оставьте пока по умолчанию - те, которые предлагаются в примере. Откомпилируйте и залейте в МК тем же FlashMagic'ом. Eclipse + Yagarto, мягко говоря, не лучшее решение для старта с нуля. Наигравшись с Keil и доказав работоспособность аппаратуры, вы потом сможете перейти на что угодно. А пока сосредоточтесь собственно на программировании и на аппаратуре МК и вашей платы, а не на настройке компилятора, тулчейнов и проч. ...

Сообщение отредактировал kovigor - Jul 25 2011, 14:02
Go to the top of the page
 
+Quote Post
whiteTigr
сообщение Jul 25 2011, 14:10
Сообщение #4


Участник
*

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



Цитата(haker_fox @ Jul 25 2011, 16:45) *
На одной ножке замигает, на другой не замигает. Нужно железо хорошее.
Прошивка через usart работает? Если работает, значит МК работает. Можно двигаться дальше.


Зашивается нормально.
Тестировал еще ручную синхронизацию через HyperTerminal с платой. Откликается sm.gif

Цитата(kovigor)
Скачайте Keil. С ним в комплекте идут примеры простейших программ, и для LPC23xx - в том числе есть пример мигания лампочкой, и не только. Настройки проекта и компилятора оставьте пока по умолчанию - те, которые предлагаются в примере. Откомпилируйте и залейте в МК тем же FlashMagic'ом. Eclipse + Yagarto, мягко говоря, не лучшее решение для старта с нуля. Наигравшись с Keil и доказав работоспособность аппаратуры, вы потом сможете перейти на что угодно. А пока сосредоточтесь собственно на программировании и на аппаратуре МК и вашей платы, а не на настройке компилятора, тулчейнов и проч. ...


Требуют именно eclipse. Хорошо, скачаю, попробую на добровольной основе.
Я бы с радостью начал програмирование с какого-нибудь стартер кита, и нормальной среде, заточеной именно под эту плату. Разобраться с платой, особенностями програмирования, набить себе небольшую базу шаблонов в голову. И только потом потихоньку переходить на другие варианты.
Но начальнику хочется сразу и всего. sad.gif

Сообщение отредактировал whiteTigr - Jul 25 2011, 14:14
Go to the top of the page
 
+Quote Post
R.A.K.
сообщение Jul 25 2011, 15:22
Сообщение #5


Участник
*

Группа: Validating
Сообщений: 55
Регистрация: 6-04-11
Пользователь №: 64 180



Цитата(whiteTigr @ Jul 25 2011, 18:10) *
Требуют именно eclipse. Хорошо, скачаю, попробую на добровольной основе.
Я бы с радостью начал програмирование с какого-нибудь стартер кита, и нормальной среде, заточеной именно под эту плату.

IDE, "заточенных под плату", не бывает sm.gif
А Eclipse - хорошая IDE, мне лично нравится.
Если JTAG-эмулятора у Вас нету (то купите! sm.gif ), то могу предложить вариант использовать симулятор Кейла. Делаете в Кейле пустой проект (типа void main(void) { while(1); } ... ), настраиваете как надо, запускаете дебаг (симулятор), а потом грузите в него elf, полученный ягартой. Ограничения есессно есть (почитаете что из периферии симулируется, а что нет), но для отладки ногодрыгания сойдет.. Вариант, возможно, корявый, но когда-то я так делал (только брал elf от ИАР-а).
Собсно ничего не мешает выполнить тестовый проект польностью в Кейле, если не стоит задача изучения make и ld-scripts.

Go to the top of the page
 
+Quote Post
whiteTigr
сообщение Jul 25 2011, 16:37
Сообщение #6


Участник
*

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



Цитата(R.A.K. @ Jul 25 2011, 19:22) *
IDE, "заточенных под плату", не бывает sm.gif

Ну в любом случае в Eclipse настроек побольше будет.

Цитата(R.A.K. @ Jul 25 2011, 19:22) *
А Eclipse - хорошая IDE, мне лично нравится.

Когда я уверюсь в правильности тестового проекта. sm.gif А не буду думать из-за чего он не работает: из-за ошибки в программе или из-за неправильно поставленной галочки в настройках.

Цитата(R.A.K. @ Jul 25 2011, 19:22) *
Если JTAG-эмулятора у Вас нету (то купите! sm.gif )

Нет выведеных ножек JTAG'а sad.gif

Цитата(R.A.K. @ Jul 25 2011, 19:22) *
Собсно ничего не мешает выполнить тестовый проект польностью в Кейле, если не стоит задача изучения make и ld-scripts.

Завтра попробую.

Сообщение отредактировал whiteTigr - Jul 25 2011, 16:37
Go to the top of the page
 
+Quote Post
R.A.K.
сообщение Jul 25 2011, 20:59
Сообщение #7


Участник
*

Группа: Validating
Сообщений: 55
Регистрация: 6-04-11
Пользователь №: 64 180



Попутно замечу, что кейл не моделирует работу flash boot loader. Так что если (вдруг!) у Вас по адресу 0х14 отсутствует checksum (если Вы пишете свой вариант "blink led" с "нуля"), то в симуляторе кейла Ваша программа все равно будет работать. А вот на реальной железке - фиг!
Кстати, а скрипт линкера и startup.s - Вы взяли готовые из каких-нибудь примеров или сами написали? (это на тему о "неправильных настройках програматора или компилятора"). sm.gif
Go to the top of the page
 
+Quote Post
yakub_EZ
сообщение Jul 26 2011, 05:55
Сообщение #8


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

Группа: Свой
Сообщений: 1 329
Регистрация: 6-12-08
Из: Москва
Пользователь №: 42 252



Цитата(R.A.K. @ Jul 25 2011, 19:22) *
...для отладки ногодрыгания сойдет.. Вариант, возможно, корявый, но когда-то я так делал (только брал elf от ИАР-а).
Собсно ничего не мешает выполнить тестовый проект польностью в Кейле, если не стоит задача изучения make и ld-scripts.

Подскажите пожалуйста, как сделать elf в IAR-е? Это файл .out?
Go to the top of the page
 
+Quote Post
whiteTigr
сообщение Jul 26 2011, 08:16
Сообщение #9


Участник
*

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



Попробовал написать моргание диодом на Keil.
Стартап он выбрал сам, при создании проекта.

Задумывается моргание диодом на ножке P0.27.
Код
#include <LPC23xx.H>                       /* LPC23xx definitions */

void wait (void)  {                        /* wait function */
  int  d;

  for (d = 0; d < 100000; d++);           /* only to delay for LED flashes */
}

int main (void)
{
  IODIR0 = (1 << 27);                     /* P0.27 defined as Outputs */

  while (1)                                /* Loop forever */
  {  
    IOSET0 = (1 << 27);                          /* Turn on LED */
    wait();                             /* call wait function */
    IOCLR0 = (1 << 27);                          /* Turn off LED */    
  }
}


В этом коде еще какие-нибудь инициализации нужны?

Сообщение отредактировал whiteTigr - Jul 26 2011, 08:17
Go to the top of the page
 
+Quote Post
toweroff
сообщение Jul 26 2011, 08:36
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Поставьте wait() после IOCLR, а то моргание увидите только осциллографом
Go to the top of the page
 
+Quote Post
whiteTigr
сообщение Jul 26 2011, 08:41
Сообщение #11


Участник
*

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



Цитата(toweroff @ Jul 26 2011, 12:36) *
Поставьте wait() после IOCLR, а то моргание увидите только осциллографом

Упс, мозг в расплавленном состоянии допускает глупые ошибки. sad.gif

Поправил, проверил. Все равно пусто.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jul 26 2011, 09:29
Сообщение #12


Гуру
******

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



Цитата(whiteTigr @ Jul 26 2011, 11:16) *
В этом коде еще какие-нибудь инициализации нужны?


Возьмите готовый проект, поставляемый с Кейлом (...\ARM\Boards\Kei\MCB2300\Blinky) для вашего МК, и попробуйте в нем разобраться. Или же в вашем проекте пройдитесь по настройкам в Configuration wizard (именно он автоматически корректирует .s - файл) и поправьте их в соответствии с требованиями и возможностями вашей самодельной платки. а также посмотрите настройки проекта (Project -> Options for Target 'XXX' -> ...)

Сообщение отредактировал kovigor - Jul 26 2011, 09:31
Go to the top of the page
 
+Quote Post
yakub_EZ
сообщение Jul 26 2011, 09:51
Сообщение #13


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

Группа: Свой
Сообщений: 1 329
Регистрация: 6-12-08
Из: Москва
Пользователь №: 42 252



В стартрап визарде надо убрать галку External Mem Controller Set-p.
Подскажите как из IAR-а или Эклипса прогнать код на Keil-овском симуляторе?
whiteTigr Вот ваш проект, под ваш контроллер. Проверил на железе. Правда на 2478, они, с 23хх по 24хх, по этим пунктам мало отличаются. Можете просто залить hex в свой контроллер
Прикрепленные файлы
Прикрепленный файл  tigr.zip ( 91.25 килобайт ) Кол-во скачиваний: 16
 
Go to the top of the page
 
+Quote Post
whiteTigr
сообщение Jul 26 2011, 11:18
Сообщение #14


Участник
*

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



Цитата(yakub_EZ @ Jul 26 2011, 13:51) *
В стартрап визарде надо убрать галку External Mem Controller Set-p.
Подскажите как из IAR-а или Эклипса прогнать код на Keil-овском симуляторе?
whiteTigr Вот ваш проект, под ваш контроллер. Проверил на железе. Правда на 2478, они, с 23хх по 24хх, по этим пунктам мало отличаются. Можете просто залить hex в свой контроллер

Спасибо огромное. Запустилось, работает. sm.gif
Go to the top of the page
 
+Quote Post
Lotor
сообщение Jul 26 2011, 11:22
Сообщение #15


Местный
***

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



Может пригодятся пару сылок по Eclipse:
http://www.ibm.com/developerworks/ru/libra...form/index.html
http://www.terraelectronica.ru/notes.php?ID=1107
http://www.terraelectronica.ru/notes.php?ID=1161


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:28
Рейтинг@Mail.ru


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