Перейти к содержанию
    

Keil C51 и Keil ARM

Как сделать так чтобы одновременно стояли Keil C51 и Keil ARM и не мешали друг другу нормально работать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как сделать так чтобы одновременно стояли Keil C51 и Keil ARM и не мешали друг другу нормально работать?

 

А каким образом они друг другу мешают нормально работать?

 

Ставте и один и второй кейл да и пользуйте в удовольсьтвие

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как они могут мешать друг другу работать?

 

У меня стоят кейлы:

- ARM,

- C51,

- C251,

- C166.

А также оболочки:

- uv2,

- uv3,

- uv4.

 

Содержимое папки C:\Wrk\Keil:

24/11/10 15:29 <DIR> ARM

05/10/06 12:03 <DIR> C166

05/10/06 12:03 <DIR> C251

21/10/09 18:09 <DIR> C51

16/02/11 13:56 <DIR> UV2

16/02/11 13:56 <DIR> UV3

16/02/11 13:56 <DIR> UV4

18/02/09 17:47 UVSetup.ini

02/03/11 18:35 TOOLS.INI

24/11/10 15:53 TOOLS.INI.BKUP

 

Оболочкой UV2 не пользуюсь давно, оставлена на всякий случай для старых проектов.

Использую UV3 и UV4, они отличаются файлами проектов, uv4 может открывать файлы проектов .uv2 (.opt),

но при закрытии предлагает сохранить в своём формате .uvproj (.uvopt).

 

Старый формат по структуре - ini-файлы, удобные для редактирования вручную, новый формат файлов проекта пос структуре - xml.

 

В фале проекта хранится тип используемого компилятора (для поддержки нужно правильно выбирать используемый "камень").

В файле "tools.ini" прописаны настройки для каждого компилятора (пути, файлы помощи, dll-ки и т.д.) и ключики (не выяснял нужны ли сейчас, но пусть

будут).

Файл "UVSetup.ini" хранит тоже самое что и "tools.ini", плюс ещё настройки.

Добавлял эти файлы вручную.

Для каждого компилятора добавлена лицензия.

 

Инсталлировал компиляторы по очереди в одну и туже папку, сохраняя после каждой установки копию папки, потом сравнивал отличия.

Также теперь выполняю обновления версий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понял достаточно установить ARM и C51 в разные папки, а лучше на разные диски, и проблем с путями не будет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понял достаточно установить ARM и C51 в разные папки, а лучше на разные диски, и проблем с путями не будет?

Будут, при запуске из среды ОС файла проекта будет стартовать последний установленный кейл.

 

Делай-делай как я! (С)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас у меня стоит C51 в C:\Keil. По этому пути 2 папки (C51 и UV4) и 2 файла TOOLS.INI и Uninstall.exe.

 

Часть соделжимого TOOLS.INI:

[C51]

PATH="C:\Keil\C51\"

VERSION=V9.00

BOOK0="HLP\Release_Notes.htm" ("Release Notes",GEN)

BOOK1="HLP\C51TOOLS.chm" ("Complete User's Guide Selection",C)

TDRV0=BIN\MON51.DLL ("Keil Monitor-51 Driver")

TDRV1=BIN\ISD51.DLL ("Keil ISD51 In-System Debugger")

TDRV2=BIN\MON390.DLL ("MON390: Dallas Contiguous Mode")

TDRV3=BIN\LPC2EMP.DLL ("LPC900 EPM Emulator/Programmer")

TDRV4=BIN\UL2UPSD.DLL ("ST-uPSD ULINK Driver")

TDRV5=BIN\UL2XC800.DLL ("Infineon XC800 ULINK Driver")

TDRV6=BIN\MONADI.DLL ("ADI Monitor Driver")

TDRV7=BIN\DAS2XC800.DLL ("Infineon DAS Client for XC800")

TDRV8=BIN\UL2LPC9.DLL ("NXP LPC95x ULINK Driver")

RTOS0=Dummy.DLL("Dummy")

RTOS1=RTXTINY.DLL ("RTX-51 Tiny")

RTOS2=RTX51.DLL ("RTX-51 Full")

LIC0=

 

Значит я должен где-то сохранить файл TOOLS.INI, установить ARM, открыть TOOLS.INI уже тот, что сделан под ARM и сам сделать файл TOOLS.INI, общий для С51 и ARM. Так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На всякий случай сделай копию после установки С51.

Потом в эту же папку накати для ARM.

Раньше точно инсталлятор добавлял записи в этот файл.

Если не добавит, то можно это сделать вручную.

 

Вот мой tools.ini:

 

 

[uV2]

ORGANIZATION="SweetCompany"

NAME="Alex", "Alex"

EMAIL="[email protected]"

BOOK0=UV3\RELEASE_NOTES.HTM("uVision Release Notes",GEN)

DEVICE_BOOKS=

ARMSEL=1

SOCKETPORT=835792213

 

[C51]

PATH="C:\Wrk\Keil\C51\"

VERSION=V9.01

BOOK0=HLP\Release_Notes.htm("Release Notes",GEN)

BOOK1=HLP\C51TOOLS.chm("Complete User's Guide Selection",C)

TDRV0=BIN\MON51.DLL ("Keil Monitor-51 Driver")

TDRV1=BIN\ISD51.DLL ("Keil ISD51 In-System Debugger")

TDRV2=BIN\MON390.DLL ("MON390: Dallas Contiguous Mode")

TDRV3=BIN\LPC2EMP.DLL ("LPC900 EPM Emulator/Programmer")

TDRV4=BIN\UL2UPSD.DLL ("ST-uPSD ULINK Driver")

TDRV5=BIN\UL2XC800.DLL ("Infineon XC800 ULINK Driver")

TDRV6=BIN\MONADI.DLL ("ADI Monitor Driver")

TDRV7=BIN\DAS2XC800.DLL ("Infineon DAS Client for XC800")

TDRV8=BIN\UL2LPC9.DLL ("NXP LPC95x ULINK Driver")

TDRV9=BIN\SiC8051F.dll ("SilLabs C8051Fxxx uV Driver")

RTOS0=Dummy.DLL("Dummy")

RTOS1=RTXTINY.DLL ("RTX-51 Tiny")

RTOS2=RTX51.DLL ("RTX-51 Full")

LIC0=...

 

[C251]

PATH="C:\Wrk\Keil\C251\"

BOOK0=HLP\RELEASE_NOTES.HTM("Release Notes",GEN)

BOOK1=HLP\GS51.PDF("uVision2 Getting Started",GEN)

BOOK2=HLP\C251.PDF("C251 User's Guide",GEN)

BOOK3=HLP\C251LIB.CHM("C251 Library Functions",C)

BOOK4=HLP\A51.PDF("Assembler/Utilities",GEN)

BOOK5=HLP\DBG251.CHM("uVision2 Debug Commands",GEN)

BOOK6=HLP\RELEASE_NOTES.HTM("Release Notes",GEN)

BOOK7=HLP\GS51.PDF("uVision2 Getting Started",GEN)

BOOK8=HLP\C251.PDF("C251 User's Guide",GEN)

BOOK9=HLP\A51.PDF("Assembler/Utilities",GEN)

TDRV0=BIN\MON251.DLL ("Keil Monitor-251 Driver")

VERSION=V3.5

SN=...

LIC0=...

 

[ARM]

PATH="C:\Wrk\Keil\ARM\"

VERSION=3.50

PATH1="C:\Program Files\CodeSourcery\Sourcery G++ Lite\"

BOOK0=HLP\RELEASE_NOTES.HTM("Release Notes",GEN)

BOOK1=HLP\ARMTOOLS.chm("Complete User's Guide Selection",C)

BOOK2=HLP\RL_RELEASE_NOTES.HTM("RTL-ARM Release Notes",GEN)

BOOK3=HLP\RVI.chm("RV Compiler Introduction",GEN)

TDRV0=BIN\UL2ARM.DLL("ULINK ARM Debugger")

TDRV1=BIN\UL2CM3.DLL("ULINK Cortex Debugger")

TDRV2=BIN\AGDIRDI.DLL("RDI Interface Driver")

TDRV3=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")

TDRV4=BIN\lmidk-agdi.dll("Luminary Eval Board")

TDRV5=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")

TDRV6=Segger\JLTAgdi.dll("J-LINK / J-TRACE")

TDRV7=Segger\JL2CM3.dll("Cortex-M3 J-LINK")

TDRV8=STLink\ST-LINKIII-KEIL.dll ("ST-Link Debugger")

LIC0=...

 

[ARMADS]

PATH="C:\Wrk\Keil\ARM\"

PATH1="BIN40\"

BOOK0=HLP\RELEASE_NOTES.HTM("Release Notes",GEN)

BOOK1=HLP\ARMTOOLS.chm("Complete User's Guide Selection",C)

BOOK2=HLP\RL_RELEASE_NOTES.HTM("RTL-ARM Release Notes",GEN)

BOOK3=HLP\RVI.chm("RV Compiler Introduction",GEN)

TDRV0=BIN\UL2ARM.DLL("ULINK ARM Debugger")

TDRV1=BIN\UL2CM3.DLL("ULINK Cortex Debugger")

TDRV2=BIN\AGDIRDI.DLL("RDI Interface Driver")

TDRV3=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")

TDRV4=BIN\lmidk-agdi.dll("Luminary Eval Board")

TDRV5=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")

TDRV6=Segger\JLTAgdi.dll("J-LINK / J-TRACE")

TDRV7=Segger\JL2CM3.dll("Cortex-M3 J-LINK")

TDRV8=STLink\ST-LINKIII-KEIL.dll ("ST-Link Debugger")

RTOS0=Dummy.DLL("Dummy")

RTOS1=ARTXARM.DLL ("RTX Kernel")

 

[KARM]

PATH="C:\Wrk\Keil\ARM\"

BOOK0=HLP\RELEASE_NOTES.HTM("Release Notes",GEN)

BOOK1=HLP\RL_RELEASE_NOTES.HTM("RTL-ARM Release Notes",GEN)

BOOK2=HLP\ARMTOOLS.chm("Complete User's Guide Selection",C)

BOOK3=HLP\RVI.chm("RV Compiler Introduction",GEN)

TDRV0=BIN\UL2ARM.DLL("ULINK ARM Debugger")

TDRV1=BIN\UL2CM3.DLL("ULINK Cortex Debugger")

TDRV2=BIN\AGDIRDI.DLL("RDI Interface Driver")

TDRV3=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")

TDRV4=BIN\lmidk-agdi.dll("Luminary Eval Board")

TDRV5=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")

TDRV6=Segger\JLTAgdi.dll("J-LINK / J-TRACE")

TDRV7=Segger\JL2CM3.dll("Cortex-M3 J-LINK")

TDRV8=STLink\ST-LINKIII-KEIL.dll ("ST-Link Debugger")

RTOS0=Dummy.DLL("Dummy")

RTOS1=ARTXARM.DLL ("RTX Kernel")

 

[C166]

PATH="C:\Wrk\Keil\C166\"

BOOK0=HLP\Release_Notes.htm("Release Notes",GEN)

BOOK1=HLP\GS166.PDF("uVision2 Getting Started (PDF)",GEN)

BOOK2=HLP\C166.PDF("C166 User's Guide (PDF)",GEN)

BOOK3=HLP\C166LIB.CHM("C166 Library Functions",C)

BOOK4=HLP\EC166.CHM("EC166 Embedded C++",GEN)

BOOK5=HLP\A166.PDF("A166 & Utilities User's Guide (PDF)",GEN)

BOOK6=HLP\DBG166.CHM("uVision2 Debug Commands",GEN)

BOOK7=HLP\OCDS.CHM("OCDS Debugging",GEN)

BOOK8=HLP\License.htm("Enter License ID",GEN)

BOOK9=HLP\C166TOOLS.chm("Complete User's Guide Selection",C)

BOOK10=HLP\UV3.chm("uVision3 User's Guide",GEN)

TDRV0=MONITOR\MON166.DLL ("Keil Monitor-166 Driver")

TDRV1=OCDS\CBC166.DLL ("OCDS Driver for C16xU/H/UTAH")

TDRV2=OCDS\OCDSXC.DLL ("OCDS Driver for XC16x")

RTOS1=RTXTINY.DLL ("RTX-166 Tiny")

RTOS2=RTXFULL.DLL ("RTX-166 Full")

RTOS3=ARTX166.DLL ("Advanced RTX-166")

VERSION=V4.2

LIC0=...

SN=...

 

 

Удалил только номера серийников и лицензий.

 

P.S. В файле куча записей для различных версий компиляторов ARM, которые поставлялись ранее с кейлом.

Выбор конкретного компилятора делает чудная строчка "ARMSEL=1".

Сейчас используется realview MDK-ARM 3.50.

Сложилось так, что для ARMов кейл давно не использую, использую IAR.

 

P.P.S.

Для проверки какой компилятор использует среда для открытого в ней проекта достаточно при открытом проекте

открыть About среды, там будет указан toolchain (используемый компилятор)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как сделать так чтобы одновременно стояли Keil C51 и Keil ARM и не мешали друг другу нормально работать?

У меня длительное время так и было, и совместно использовалось без всяких проблем ...

 

P.S. Естественно, онистояли в разных папках

Изменено пользователем kovigor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставил в разные папки, запускается последний установленный.

;)

Батенька, я же говорил выше:

 

Будут, при запуске из среды ОС файла проекта будет стартовать последний установленный кейл.

 

Делай-делай как я! (С)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При открытии проекта автоматически выбирается или C51, или ARM. Поэтому работают оба и спасибо всем за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ставьте в один каталог. В одной оболочке можно выбирать как те (ARM) так и другие (C51) проекты.

Ничего не слетает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На одном компе стоит ADS 1.2 и KEIL 5.28. ADS был поставлен раньше в C:\ADSv1_2

KEIL стоит в Z:\Keil_v528

В KEIL не могу скомпилировать проекты. Вылазят, например, таки ошибки error:  #929: incorrect use of va_arg

Оказывается KEIL  берет функцию va_arg из файла C:\ADSv1_2\Include\stdarg.h

Как ему объяснить чтобы брал из своего каталога?

Почему-то в настройках поля недоступны для изменения:

INC.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Получилось. Что делать описано тут http://www.keil.com/support/man/docs/armlink/armlink_pge1362065919777.htm?_ga=2.215686231.1535778919.1568696131-1988255517.1563455435

KEIL 5 версии при установке вовсе не прописывает переменные окружения.

Те что у меня на картинке от ADS были установлены им самим и потом при запуске KEIL их использовал

env.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...