Показать сообщение отдельно
Непрочитано 09.11.2009, 14:58  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
Счастье Re: Здравствуй, ARM. Запуск "на коленке"

"Железо" готово, теперь поговорим о программе, которая будет мигать нашим светодиодом.

Для ее создания я буду использовать среду Keil. В ее состав входят С/С++ компилятор и интегрированная среда разработки. Демо-версия доступна для скачивания прямо с сайта производителя https://www.keil.com/demo/eval/arm.htm. Внешний вид среды показан на картинке внизу.

Вот что получилось:
Код:
#include ‹LPC23xx.H›

#define GPIOM 0x00000001

/* Задержка около 300 мс */
void wait()
{
  int d;
  for (d = 0; d ‹ 1000000; d++)
  {
  }
}

int main()
{
	/* Выключение режима совместимости с LPC21XX */
	SCS |= GPIOM;

	/* Установка направления порта. P1[0] - выход */
	FIO1DIR = 0x00000001;

	for (;;)   /* Бесконечный цикл */
	{
		/* Сброс P1[0]. На выходе лог. 0 */
		FIO1CLR = 0x00000001;
		/* Пауза */
		wait();
		
		/* Установка P1[0]. На выходе лог. 1 */
		FIO1SET = 0x00000001;
		/* Пауза */
		wait();
	}
}
Программа выполняет инициализацию портов ввода-вывода, а потом входит в бесконечный цикл, переключая логический уровень на ножке 95 (P1[0]) микроконтроллера, и светодиод, подключенный к ней, мигает.

Все оказалось просто. Единственное с чем пришлось повозиться, так это с некоторыми опциями проекта, без которых он не хотел "заводиться". Рабочие опции удалось найти в примерах от производителя NXP.

Регистры FIO1DIR, FIO1CLR, FIO1SET подробно описаны в руководстве пользователя для моего микроконтроллера LPC2368.

После сборки проекта (см. вложенный архив) у него на выходе получается файл HelloWorld_LPC2368.hex, который нужно выбрать в утилите внутрисхемного программирования Flash Magic и нажать кнопку Start. Сразу после нажатия, прошивка будет "зашита" в микроконтроллер и светодиод начнет мигать

Я сделал небольшое видео по такому случаю:
Миниатюры:
Нажмите на изображение для увеличения
Название: Keil 1.png
Просмотров: 733
Размер:	146.0 Кб
ID:	1903   Нажмите на изображение для увеличения
Название: Keil Linker.png
Просмотров: 465
Размер:	42.8 Кб
ID:	1904  
Вложения:
Тип файла: zip HelloWorld_LPC2368.zip (71.9 Кб, 483 просмотров)

Последний раз редактировалось alexgap; 09.11.2009 в 17:54.
alexgap вне форума  
Эти 34 пользователя(ей) сказали Спасибо alexgap за это сообщение:
artyomugr (09.07.2011), brunql (19.06.2010), dimka11 (09.11.2009), Djakovskij (07.01.2012), Eleman11 (08.12.2009), fantom732 (13.06.2010), fiberline (14.03.2011), FreshManGood (03.01.2015), Jora_fat (20.11.2009), Katran-tayfun (05.02.2010), mousew1 (15.04.2010), NurAnion (09.09.2010), pisto (09.11.2009), revector (13.09.2010), sanstan (10.08.2010), savarez (09.11.2009), Simbr (25.11.2009), sytyi (18.02.2011), ua4nfx (11.12.2009), vitamin01 (10.11.2009), wildbrain (15.12.2009), Zeman1979 (24.09.2010), Zorhan (16.03.2011), Кот Баюн (10.11.2009)