Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ST-MLPC2468 Первый запуск
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Отладочные платы
Mr.Denis
Здравствуйте! Помогите разобраться почему не моргает светодиод.

И так, имею отладочную плату SK-MLPC2468, программатор JetLink8 c последней версией драйвера и компилятор IAR Embedded Workbench for ARM 6.30.

Подключил светодиод к ноге 134 P2.8 (светодиод рабочий и правильно подключен!!!)

Вот код:
CODE
#include <nxp/iolpc2468.h>
#define GPIOM 0x00000001

void wait()
{
int d;
for (d = 0; d < 1000000; d++)
{
}
}

int main()
{

SCS |= GPIOM;

//P2.8 Направление (Выход)
FIO2DIR = 0x00000100;

for (;;)
{
//P2.8 Сброс
FIO2CLR = 0x00000100;

wait();

//P2.8 Установка
FIO2SET = 0x00000100;

wait();
}
}

Компилирую и заливаю проект нажатием кнопки Download and Debug.
В окне состояния пишет:
Download complete.
Loaded debugee: C:\Documents and Settings\Denis\Ðàáî÷èé ñòîë\Íîâàÿ ïàïêà\Debug\Exe\cpp.out
Target reset

Подскажите вчем может быть дело? Может в коде?
Lotor
Вы отлдку-то запустили на исполнение после заливки?
Mr.Denis
To IgorKossak
Спасибо! Теперь буду знать.
To Lotor
Спасибо за ответ!
А как запустить отладку?



Посмотрите пожалуйста код, может он неправильный?

P.S. Уже не знаю что делать.(((
Lotor
Цитата(Mr.Denis @ Apr 10 2012, 14:40) *
А как запустить отладку?

P.S. Уже не знаю что делать.(((

Я не уверен, что вы понимаете, как пользоваться IARом. Поэтому совет - читайте документацию. Судя по вашему посту, вы залили отладчиком программу в контроллер, но не запустили ее. Выберите в пункте меню Debug -> Go, если этого не делали.

К вашей плате идут примеры с Кейлом, может стоит использовать его - и работоспособность проверите, и навыков наберетесь.
Mr.Denis
Вы абсолютно правы! Я действительно не умею пользоваться IAR, но очень хочу научится.

Вот моя последовательность действий:

Создаю проект->В опциях выбираю МК LPC2468-> настраиваю J-link-> Пишу код-> потом нажимаю на Make->Download and Debug.->GO.

После нажатия GO нечего не происходит, а все кнопки отладки становятся не активными, кроме Stop Debugging и Break.
Вот что пишется в Debug Log:
CODE

Wed Apr 11, 2012 13:39:03: JLINK command: ProjectFile = C:\Documents and Settings\Denis\Ðàáî÷èé ñòîë\Íîâàÿ ïàïêà\settings\2_Debug.jlink, return = 0
Wed Apr 11, 2012 13:39:03: Device "LPC2468" selected (504 KB flash, 64 KB RAM).
Wed Apr 11, 2012 13:39:03: JLINK command: device = LPC2468, return = 0
Wed Apr 11, 2012 13:39:03: DLL version: V4.44|, compiled Mar 19 2012 19:37:11
Wed Apr 11, 2012 13:39:03: Firmware: J-Link ARM V8 compiled Mar 19 2012 10:24:49
Wed Apr 11, 2012 13:39:03: JTAG speed is initially set to: 32 kHz
Wed Apr 11, 2012 13:39:03: Initial reset was performed
Wed Apr 11, 2012 13:39:03: TotalIRLen = 4, IRPrint = 0x01
Wed Apr 11, 2012 13:39:03: Found 1 JTAG device, Total IRLen = 4:
Wed Apr 11, 2012 13:39:03: #0 Id: 0x4F1F0F0F, IRLen: 4, IRPrint: 0x1 ARM7TDMI-S Core
Wed Apr 11, 2012 13:39:03: J-Link found 1 JTAG device(s). ARM core Id: 4F1F0F0F ARM7
Wed Apr 11, 2012 13:39:03: Device at TAP4294967295 selected
Wed Apr 11, 2012 13:39:03: ETM V1.2
Wed Apr 11, 2012 13:39:03: RTCK reaction time is approx. 504ns
Wed Apr 11, 2012 13:39:03: Auto JTAG speed: Adaptive
Wed Apr 11, 2012 13:39:04: J-Link: Flash download: Flash programming performed for 0 ranges (0 bytes)
Wed Apr 11, 2012 13:39:04: J-Link: Flash download: Total time needed: 0.594s (Prepare: 0.319s, Compare: 0.168s, Program: 0.000s, Verify: 0.000s, Restore: 0.106s)
Wed Apr 11, 2012 13:39:04: 400 bytes downloaded (0.57 Kbytes/sec)
Wed Apr 11, 2012 13:39:04: Loaded debugee: C:\Documents and Settings\Denis\Ðàáî÷èé ñòîë\Íîâàÿ ïàïêà\Debug\Exe\cpp.out
Wed Apr 11, 2012 13:39:04: Target reset

С чем это может быть связанно?
aaarrr
Цитата(Mr.Denis @ Apr 11 2012, 13:40) *
С чем это может быть связанно?

Программа выполняется, вот кнопки и не активны. Нажмите Break, посмотрите, где она крутится, попробуйте походить по шагам.
Mr.Denis
Спасибо за ответ!
Почему тогда светодиод не мигает?
aaarrr
Цитата(Mr.Denis @ Apr 11 2012, 13:49) *
Почему тогда светодиод не мигает?

Вы свою программу увидели, по шагам ходит?
Mr.Denis
По шагам тоже не ходит, а кнопки отладки становятся не активными.
Lotor
Цитата(Mr.Denis @ Apr 11 2012, 15:21) *
По шагам тоже не ходит, а кнопки отладки становятся не активными.

Когда вы нажмете Stop во время отладки, у вас будет показана строчка кода, в которой программа находится. Отладка для этого и нужна, чтобы выяснить, что не так с кодом программы - так что проанализируйте, куда вы вываливаетесь при отладке.
Mr.Denis
Вот что он мне выдает при нажатие на кнопку Break(
Нажмите для просмотра прикрепленного файла
Mr.Denis
Вот что он мне выдает при нажатие на кнопку Break(
Нажмите для просмотра прикрепленного файла
Lotor
Вы сваливаетесь в исключение, скорее всего в DATA ABORT. Вам нужно определить, когда конкретно это проиходит. Пройдитесь сразу же по шагам. Вместо GO жмите Step Into пока не свалитесь в исключение.

PS: Если причина именно в DATA ABORT, то можете из R14 вычесть 8 и получить адрес проблемной строки в дизассемблере.
Mr.Denis
Я и делаю по шагам, запускаю отладку курсор встает на начало (напротив строки int main()). Потом нажимаю Step Into, и ситуация повторяется. Нажимаю Break и в окне Disassembly показывает тоже самое что и на вышеприведенном скриншоте.

Что такое R14?
Что такое 8?


Проблема решена!)))
Установкой адресов.
Спасибо всем за помощь!!!)))))

Нажмите для просмотра прикрепленного файла
Lotor
Цитата(Mr.Denis @ Apr 11 2012, 17:03) *
Я и делаю по шагам, запускаю отладку курсор встает на начало (напротив строки int main()).

До main происходит много интересного. У вас в опциях просто стоит запускать отладку от туда.

Цитата(Mr.Denis @ Apr 11 2012, 17:03) *
Что такое R14?
Что такое 8?
Проблема решена!)))
Установкой адресов.
Спасибо всем за помощь!!!)))))

Боюсь, что без базовых знаний вашей архитектуры все проблемы только впереди.
Mr.Denis
Как мне настроить LPC2468 на максимальную или минимальную частоту работы?
Подскажите в IAR есть функция задержки?

Подскажите пожалуйста.)
mdmitry
Цитата(Mr.Denis @ Apr 11 2012, 17:58) *
Как мне настроить LPC2468 на максимальную или минимальную частоту работы?

Имеется в виду тактовая частота процессора? Настроить PLL.
Цитата
Подскажите в IAR есть функция задержки?

Задержка выполнения программы? Изучить примеры, идущие к компилятору.

Mr.Denis
Если я правильно понял из мануала, то для того чтобы получить тактовую частоту процессора равную 72 МГц мне надо:
Взять значение установленного кварца, у меня оно равно 12МГц, и посчитать по формуле:
Множитель = 72 / 12 = 6 – 1 = 5(Bits MSEL = 00101), а биты делителя PSEL = 00.
И в итоги получается PLLCFG=0х00000101; или PLLCFG=0х05;

Если я вставлю
CLKSRCSEL = 0x01; // Выбор внешнего источника тактирования
PLLCFG=0х05; // Настройка множителя на 6
в начале кода, у меня МК будет тактироваться от 72МГц?
Проверьте пожалуйста правильно или нет?
SII
Ещё надо не забыть запустить главный генератор от кварца -- и сделать этого до запуска PLL, естественно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.