Використовуємо налагодження LPC-Link без CodeRed IDE
Працюємо в консолі
По-перше, сама CodeRed нам знадобиться, буде вона виступати в якості донора gdb-сервера і клієнта. Gdb-сервер необхідний нам із зрозумілих причин, т.к. інших, які працюють з lpc-link'ом не спостерігається. А ось із клієнтом не все так просто. Теоретично повинен працювати будь-який, але з клієнтом від yagarto чомусь у мене не вийшло нічого – прошивка не стартує, при спробі зробити step, проц падає в HardReset interrupt. Тому поки що експериментую з рідним, з ним успіхів більше.
параметр hid вказує спосіб з'єднання з адаптером, у разі Windows 7 використовується hid, для winxp - winusb, здається.
Стремо прошивку з каменю і запишемо нову:
flash-load-exec відразу ж стартує виконання прошивки, flash-load лише завантажує її. Вже навіть це непогано ми можемо прати і завантажувати прошивку без CodeRed. Але хочеться все-таки налагодження.
Тому після цього ми можемо стартувати сам сервер:
опція -4 задає максимальну кількість налагоджувальних повідомлень, -server говорить про те, на якому порту ми чекатимемо коннекту від gdb - в даному випадку на localhost:3333. Бачимо наступне обнадійливе повідомлення:
Сервер займає консоль намертво, тому подальші дії робимо в новій.
Стартуємо GDB. Судячи з усього, gdb тут йде підхажений NXP або CodeRed (бо як я сказав вище, з yagarto мені не вдалося поки нічого досягти), але оскільки це GPL, то десь повинні бути сорці. Будемо шукати.
Бачимо запрошення GDB
підключаємося до сервера
Як видно, з'єднання з сервером встановлено, і ми можемо навіть прочитати значення змінної та степати за кодом. Працюють брейкпоінти
можна ходити всередину функцій
Втім, топік великого практичного сенсу не несе, т.к. в консоліпрацювати не дуже зручно, проте головну свою мету він виконує - використовувати налагодження LPC-Link поза CodeRed IDEможна!
Включаємо налагодження в CoIde
Як ми вже з'ясували раніше, для налагодження нам потрібен GDB-сервер і клієнт. Що стосується CoIde клієнтом виступає сам Екліпс, а сервер нам треба запустити примусово. 1. Ідемо в меню Debug-Debug Configuration. Вибираємо Adapter - Other adapter (SWD). 2. Port number ставимо довільний, наприклад, 3333 3. GDBServer commandline - C:\nxp\LPCXpresso_4.0.6_152\lpcxpresso\bin\crt_emu_cm3_nxp.exe -wire=hid -pLPC1768 -server=:3333 4. У GDB init script пишемо target extended-remote :3333 set remotetimeout 60000 set mem inaccessible-by-default off mon ondisconnect cont set arm force-mode thumb load "C:/Users/marvin/Dropbox/!Projects/LPC1768_LCD/Debug/bin/LPC1768_LCD.elf" tb main monitor reset 8 -1 -1 run continue 5 . Запускаємо налагодження, радіємо.
Якщо не працює, перевіряємо, чи ми завантажили прошивку в LPC-Link (див. перший пункт першої частини)