Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2292
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК
elek-tronshik
Привет всем,
поставлена задача разработать код для контроллера LPC2292.
Думаю использовать LPCXpresso так как там вроде все в одном флаконе есть,
проблема заключается в том что этот контроллер на ARM7 и для этого ядра я не нашел что то на подобие CMSIS или LPCopen
(все это добро только для ядер Cortex M)
прийдется все в ручную все настраивать периферию и тд а это много времени займет.
Подскажите пожалуйста как быть,
может LPCXpresso не совсем правильный выбор ?
Obam
CMSIS-а и быть не может, т.к. это Cortex Microcontroller Software Interface Standard

А, ну да "…(все это добро только для ядер Cortex M)…"

Один хрен, периферию изучать придётся, так что не быстрее этого процесса всё будет.
elek-tronshik
Спасибо!

а LPCXpresso нормальный выбор ?
Obam
"Не копенгаген", но по опыту, чем лучше владеешь, тем и пользуйся.
zltigo
QUOTE (elek-tronshik @ Nov 14 2016, 14:43) *
а LPCXpresso нормальный выбор ?

Очень плохой, как и все IDE поделки производителей железа над компиляторами делающиеся с целью посадить потребителя жестко на свой продукт. В данном случае вообще дурь полная подсаживаться на открытый гнутый компилятор с платной IDE.
elek-tronshik
что посоветуете ?
Сергей Борщ
QUOTE (elek-tronshik @ Nov 14 2016, 23:18) *
что посоветуете ?
gcc (с lauchpad)+eclipse+cdt+openocd. То же самое, но совершенно бесплано и не привязано к отладчику на платах LPCexpresso.
AHTOXA
Цитата(Сергей Борщ @ Nov 15 2016, 12:32) *
gcc (с lauchpad)

Дам на всякий случай ссылку на это дело: https://launchpad.net/gcc-arm-embedded
zltigo
QUOTE (AHTOXA @ Nov 15 2016, 10:47) *
Дам на всякий случай ссылку на это дело: https://launchpad.net/gcc-arm-embedded

Только LPC2xxx это ни разу ни кортексы.
scifi
Цитата(zltigo @ Nov 15 2016, 11:39) *
Только LPC2xxx это ни разу ни кортексы.

Можно попробовать Sourcery: тут.
Сергей Борщ
QUOTE (zltigo @ Nov 15 2016, 11:39) *
Только LPC2xxx это ни разу не кортексы.
А эта ветка ни разу не про кортексы - она прекрасно компилит под всю линейку ARMов. Была проблема в паре предыдущих версий с nano.specs, но в версии от 19.09.16 она решена, собранные этой версией проекты у меня работают и на кортексах, и на AT91SAM7, и на LPC2214.
Genadi Zawidowski
Цитата(zltigo @ Nov 15 2016, 11:39) *
Только LPC2xxx это ни разу ни кортексы.

Набор с Launchpad прекрасно компилирует под ARM7TDM - проверялось на AT91SAM7Sxxx.
Я думаю, их выпиливать из поддерживаемых будут не скоро, как близкого родственника Cortex-A9 например.
scifi
Цитата(Сергей Борщ @ Nov 15 2016, 12:57) *
А эта ветка ни разу не про кортексы - она прекрасно компилит под всю линейку ARMов. Была проблема в паре предыдущих версий с nano.specs, но в версии от 19.09.16 она решена, собранные этой версией проекты у меня работают и на кортексах, и на AT91SAM7, и на LPC2214.

Стандартная библиотека для ARMv4 там есть в комплекте?
zltigo
QUOTE (Сергей Борщ @ Nov 15 2016, 12:57) *
А эта ветка ни разу не про кортексы - она прекрасно компилит под всю линейку ARMов. Была проблема в паре предыдущих версий с nano.specs, но в версии от 19.09.16 она решена, собранные этой версией проекты у меня работают и на кортексах, и на AT91SAM7, и на LPC2214.

Радует! Я просто пошел по ссылке и прочитал описание "ветки". Тогда, пожалуй и себе в коллекцию компиляторов ее добавлю.

Сергей Борщ
QUOTE (scifi @ Nov 15 2016, 13:41) *
Стандартная библиотека для ARMv4 там есть в комплекте?
Должна быть.
scifi
Цитата(Сергей Борщ @ Nov 15 2016, 16:26) *
Должна быть.

Интересный ответ. То есть, сие есть тайна, покрытая мраком?
Код
Directory of C:\Program Files (x86)\GNU Tools ARM Embedded\4.8 2014q3\arm-none-eabi\lib

[.]                         [..]                        aprofile-validation.specs
aprofile-ve.specs           [armv6-m]                   [armv7-ar]
[armv7-m]                   [armv7e-m]                  [cpu-init]
crt0.o                      [fpu]                       iq80310.specs
[ldscripts]                 libc.a                      libc_s.a
libg.a                      libgloss-linux.a            libg_s.a
libm.a                      libnosys.a                  librdimon.a
librdimon_s.a               librdpmon.a                 libstdc++.a
libstdc++.a-gdb.py          libstdc++_s.a               libsupc++.a
libsupc++_s.a               linux-crt0.o                linux.specs
nano.specs                  nosys.specs                 pid.specs
rdimon-crt0.o               rdimon.specs                rdpmon-crt0.o
rdpmon.specs                redboot-crt0.o              redboot-syscalls.o
redboot.ld                  redboot.specs               [thumb]
              32 File(s)      9,670,173 bytes
              10 Dir(s)
elek-tronshik
А как на счет Keil ?
elek-tronshik
пытаюсь компилить один из этих примеров в Keil 5 не получается
постаянно на что то ругается так как проекты были созданы старым Кайлом наверное.
LPCXpresso компилит но полученный бинарник не кажется корректным потому что J-Flash ругается на то что контрольная сумма не правильная
и программа не будет выполнятся процессором (и не врет)
Eclipse + gcc пока боюсь пробовать
думаю опять провал будет какой нибудь crying.gif
Genadi Zawidowski
Цитата(scifi @ Nov 15 2016, 13:41) *
Стандартная библиотека для ARMv4 там есть в комплекте?


В аргументе -march допустимы такие слова:
arm-none-eabi-gcc.EXE: note: valid arguments to '-march=' are: armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5e armv5t armv5te armv6 armv6-m armv6j armv6k armv6s-m armv6t2 armv6z armv6zk armv7 armv7-a armv7-m armv7-r armv7e-m armv7ve armv8-a armv8-a+crc armv8-m.base armv8-m.main armv8-m.main+dsp iwmmxt iwmmxt2 native

Вроде libc и libmath на все варианты должны поставляться... А какое торговое навзвание процессора с интересующей Вас архитектурой?

Посмотрел в википдии... Упоминают процессор от DEC и нечто от Faraday Technology...
Попробуйте... Думаю, оптимизации современных версий Вас порадуют.
Kabdim
Цитата(elek-tronshik @ Nov 19 2016, 01:28) *
LPCXpresso компилит но полученный бинарник не кажется корректным потому что J-Flash ругается на то что контрольная сумма не правильная

Правая кнопка мыши на проекте->properties->C/C++ Build->settings->build steps->post-build steps->edit...->раскоментировать все строки начинающиеся с #, а именно:
Код
arm-none-eabi-objcopy -v -O binary "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin"
checksum -p ${TargetChip} -d "${BuildArtifactFileBaseName}.bin

Прошивать *.bin, а не *.axf
elek-tronshik
Да именно так и сделано прошиваю bin но всеравно не заводиться,
но и черт с ним с этим Xpresso.
Я проблему уже решил в целом, остановился на Keil uVision с фирменным компилятором для ARM
теперь все нормально компилиться прошиваеться и работает.

Спасибо всем.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.