Полная версия этой страницы:
Keil C51 и Keil ARM
011119xx
Sep 26 2011, 04:29
Как сделать так чтобы одновременно стояли Keil C51 и Keil ARM и не мешали друг другу нормально работать?
SergeyDDD
Sep 26 2011, 04:44
Цитата(011119xx @ Sep 26 2011, 07:29)

Как сделать так чтобы одновременно стояли Keil C51 и Keil ARM и не мешали друг другу нормально работать?
А каким образом они друг другу мешают нормально работать?
Ставте и один и второй кейл да и пользуйте в удовольсьтвие
В свое время слетали пути, если оба стояли на одном диске.
richie
Sep 26 2011, 05:12
Как они могут мешать друг другу работать?
У меня стоят кейлы:
- 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", плюс ещё настройки.
Добавлял эти файлы вручную.
Для каждого компилятора добавлена лицензия.
Инсталлировал компиляторы по очереди в одну и туже папку, сохраняя после каждой установки копию папки, потом сравнивал отличия.
Также теперь выполняю обновления версий.
011119xx
Sep 26 2011, 05:20
Я так понял достаточно установить ARM и C51 в разные папки, а лучше на разные диски, и проблем с путями не будет?
richie
Sep 26 2011, 05:30
Цитата(011119xx @ Sep 26 2011, 09:20)

Я так понял достаточно установить ARM и C51 в разные папки, а лучше на разные диски, и проблем с путями не будет?
Будут, при запуске из среды ОС файла проекта будет стартовать последний установленный кейл.
Делай-делай как я! (С)
011119xx
Sep 26 2011, 05:41
Сейчас у меня стоит 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. Так?
richie
Sep 26 2011, 06:45
На всякий случай сделай копию после установки С51.
Потом в эту же папку накати для ARM.
Раньше точно инсталлятор добавлял записи в этот файл.
Если не добавит, то можно это сделать вручную.
Вот мой tools.ini:
[UV2]
ORGANIZATION="SweetCompany"
NAME="Alex", "Alex"
EMAIL="asdf123@mm3mn.com"
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 (используемый компилятор)
kovigor
Sep 26 2011, 06:48
Цитата(011119xx @ Sep 26 2011, 07:29)

Как сделать так чтобы одновременно стояли Keil C51 и Keil ARM и не мешали друг другу нормально работать?
У меня длительное время так и было, и совместно использовалось без всяких проблем ...
P.S. Естественно, онистояли в разных папках
011119xx
Sep 26 2011, 10:39
Поставил в разные папки, запускается последний установленный.
richie
Sep 26 2011, 14:00
Цитата(011119xx @ Sep 26 2011, 14:39)

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

Батенька, я же говорил выше:
Цитата(richie @ Sep 26 2011, 09:30)

Будут, при запуске из среды ОС файла проекта будет стартовать последний установленный кейл.
Делай-делай как я! (С)
011119xx
Sep 27 2011, 02:47
При открытии проекта автоматически выбирается или C51, или ARM. Поэтому работают оба и спасибо всем за помощь.
defunct
Sep 27 2011, 20:06
Ставьте в один каталог. В одной оболочке можно выбирать как те (ARM) так и другие (C51) проекты.
Ничего не слетает.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.