LPCXpresso в Keil uVision4

Поэтому я решил попробовать перейти на кейл.

На моей LPCXpresso установлен LPC1114/302.
Файлы CMSIS для LPC1114 лежат в папке кейла NXP/LPC11xx/

Чтобы можно было обращаться к портам нужно добавить их в файл.
Осталось прописать прошивальщик от NXP в настройках команды FLASH

здесь test.axf — это имя прошивки в формате elf.
Все. Жмем Build и затем Flash. Светодиод на плате начинает весело мигать.
На Арме есть системный таймер, но проще использовать старый добрый холостой цикл для задержки.

Ах да, так как у контроллера на стороне JTAG совсем нет flash, то надо сначала залить в него прошивку. Делается это так:
I:\nxp\lpcxpresso_3.6.3_317\bin\dfuapp.exe /f LPCXpressoWIN.enc /tl 250
Прошивка закодирована, раскодируется на лету в LPC3154. Ключ зашит в OTP-памяти контроллера, так что использовать для своих целей его не получится.
Чтобы не перезаливать каждый раз можно установить микросхему U3 AT45DB321D-SU, предварительно запрограммировав.
- 0
- 11 июня 2011, 22:25
- AlexX1810
на сколько я понял саму «тормознутую и неудобную» среду тоже при этом пирйдется ставить, т.к. используется её прошивальщик?
как дела с отладкой (бряки, просмотр значений переменных)?
есть ли возможность кеил использовать бесплатно без всевозможных таблеток?
как дела с отладкой (бряки, просмотр значений переменных)?
есть ли возможность кеил использовать бесплатно без всевозможных таблеток?
не, 16 мало. у меня проектик уже 22к прошивки занимает, так что я дальше поторможу на кодеред. в ний отладка работает, а без неё былибы пляски с бубном.
На кейл легко найти лекарство, это раз. К нему вроде мона прикрутить GCC_ARM (по крайней мере, у меня была старая версия, еще на uV3, к ней шли родной ARM тулчей и GCC-шный), это два.
Впрочем, отладка — это очень даже веский аргумент.
Впрочем, отладка — это очень даже веский аргумент.
«Недопустимость» лекарства я отдельно специально упомянул. Интересует полностью легальный софт.
Тот же кодеред я могу юзать с экспрессо на халяву и абсолютно легально и ещё и поддержка есть. Смысла переходить на нелегально ПО не вижу.
Месяц назад отсутствие внитрисхемного отладчика меня бы не смутило, был бы простой. А сейчас, вычленив парочка очень «приятных» багов, нет уж, отладчик необходим.
Тот же кодеред я могу юзать с экспрессо на халяву и абсолютно легально и ещё и поддержка есть. Смысла переходить на нелегально ПО не вижу.
Месяц назад отсутствие внитрисхемного отладчика меня бы не смутило, был бы простой. А сейчас, вычленив парочка очень «приятных» багов, нет уж, отладчик необходим.
так и есть, при установке пишет
— GNU-based C/C++ compilation tools and documentation
— GNU-based C/C++ compilation tools and documentation
- marvin_yorke
- 13 июня 2011, 12:03
- ↑
- ↓
Programs start at offset 0x0800. Programs generated with the evaluation software may not be programmed into single-chip devices with less than 2 Kbytes of on-chip ROM.Садисты) А я думал, в бесплатной версии мою прошивку для ванночки скомпилить можно.
Нет генерации листингаХм, а на лабе (мы ее делали в ознакомительной версии кейл-арм, правда древней) я как-то делал расчепятко ассемблерного листинга. Хотя, возможно скопипастил из отладчика.
В этой программе отлаживать нечего. А вообще умею баги искать и без отладчика(хватит пары if и одного светодиода). В IAR есть GDB, но там через него подключиться не получилось. Еще пробовал подключить GDB в SlickEdit. При подлкючении, GDB-сервер (создается этой же программой от NXP) сворачивается с непонятной ошибкой.
Раньше на РФ5 с жестким ультрафиолетом для стирания отлаживали и радовались что микросхему менять не надо.
Раньше на РФ5 с жестким ультрафиолетом для стирания отлаживали и радовались что микросхему менять не надо.
Создаем сервер:
crt_emu_lpc11_13_nxp -g -2 -pLPC1114/302 -wire=winusb -server=:3333 -mi
arm-none-eabi-gdb.exe — запуск GDB-клиента в консоли
(gdb) target remote localhost:3333 — подключение к цели
(gdb) info registers — показывает значения регистров
(gdb) continue — продолжает работу программы (тормозится по Ctrl+C)
в SlickEdit тоже заработало, но он почему то регистры выводит с именами х86.
crt_emu_lpc11_13_nxp -g -2 -pLPC1114/302 -wire=winusb -server=:3333 -mi
arm-none-eabi-gdb.exe — запуск GDB-клиента в консоли
(gdb) target remote localhost:3333 — подключение к цели
(gdb) info registers — показывает значения регистров
(gdb) continue — продолжает работу программы (тормозится по Ctrl+C)
в SlickEdit тоже заработало, но он почему то регистры выводит с именами х86.
Нашел ошибки в шелкографии на плате. Дизайн платы для LPC1343, USB в LPC1114/302 нету. USB-DM — это P2.4; USB-DP — это P2.5; А там, где написано P2.4 и P2.5 на самом деле должно быть P3.4 и P3.5; Еще можно в плату впаять микросхему U3 AT45DB321D-SU и тогда не надо будет каждый раз при подключении загружать прошивку для LPC3154(флэша у него нет).
А если впаять эту флэшку на место и распилить плату, получим две отладочные борды, так? 1114 можно и через УАРТ исползовать.
Исправлю себя: сделать это скорее всего не получится, т.к. в LPC3154, судя по даташиту, есть область OTP, в которую можно прошить бит, запрещающий грузиться с чего-либо кроме UART и USB, и то, прошивка д.б. зашифрована, а ключ 128 бит. Если уж разработчики LPCXpresso додумались воткнуть в бесплатную IDE активацию, то вряд ли они упустят такой случай подмешать говнеца в кашку.
Вот что меня удивляет — GCC же работа непосредственно проекта GNU, а он под достаточно суровой лицензий GPL, которая всячески препятствует закрыванию системы. Как при этом Microchip ухитряется сделать платный компилятор C32 на основе GCC? Ну и прочие ограниченные среды на основе открытых Eclipse, GCC, etc.
Не подскажете как настроить LPCXpresso в Eclipse? У меня получилось настроить его для компиляции бинарного файла. Прошивку плата сьела при помощи строчки вида:
crt_emu_lpc11_13_nxp.exe -wire=winusb -pLPC1114/302 -flash-load-exec=blinky.axf
Сервер вроде тоже создается при помощи команд из поста выше, но со стороны Eclipse прикрутить его не выходит.
Помогите кто знает, ато среда от CodeRed какая-то урезанная, причем они пытаются пропихнуть разработчику свои библиотеки без исходников, настроек для компиляции с++ не видно и т.д.
crt_emu_lpc11_13_nxp.exe -wire=winusb -pLPC1114/302 -flash-load-exec=blinky.axf
Сервер вроде тоже создается при помощи команд из поста выше, но со стороны Eclipse прикрутить его не выходит.
Помогите кто знает, ато среда от CodeRed какая-то урезанная, причем они пытаются пропихнуть разработчику свои библиотеки без исходников, настроек для компиляции с++ не видно и т.д.
- maksim9889
- 14 июня 2011, 13:58
- ↓
axf — это не бинарник, это elf. LPC-утилита понимает их по расширению, и обрабатывет по разному. Все что отлично от axf, для нее бинарник. Попробуйте в SlickEdit настроить отладку we.easyelectronics.ru/AlexX1810/lpcxpresso-otladka-v-slickedit.html#comment12202, в еклипсе должно быть примерно также. В слике также можно и компиляцию настроить, но это надо самому и файлы линкера создать и makefile и start_up. В кейле проще.
В SlickEdit debug настроил, но программа триал. Eclipse сам неплохо компилит. Я просто взял работающий пример из CodeRed и, убрав в линкере упоминания их фирменных библиотек и заменив в некоторых заголовочных файлах <> на "" с первого раза все собрал :-). У CodeRed вообще в папках внутри лежит Eclipse вместе с Java и GCC, но, т.к. его переделали, настройки подсмотреть не могу.
- maksim9889
- 14 июня 2011, 21:36
- ↑
- ↓
Комментарии (33)
RSS свернуть / развернуть