Keil uvision 5 linux

Is there anybody using Keil MDK on Linux through wine?

I’ve been having trouble using keil MDK on ubuntu 18.04. After doing a couple of trial I am able to use uVision IDE of keil on my ubuntu os. Everything working fine but while trying to program my mcu it shows «No ST-Link Found». But as I insisted to be using linux I tried to install stm32cube Programmer hopping try to do somehting with hex file, but didn’t work out. But somehow I managed st-link utility(which works on command line). Now If I convert eclipse’s elf file to bin or hex and load to my stm32f103vet though st-link utility, it works just nice! But when I flash hex file generated from keil, it shows nothing. Doesn’t work. I am tired to try to program stm32 using keil MDK. So if there is anybody who is using Keil MDK on his linux os please knock here. Please help me out!

1 Answer 1

This isn’t exactly an answer to your question directly per se, but it may still get you where you need to go in the end, and it’s more than a comment, so I’ll post it as an answer:

ST Development cross-platform tools with native Linux support:

I develop on Linux. I highly recommend you just switch to native Linux tools and drop Keil. ST has a full suite of natively-supported Linux Tools, which is one of the reasons I love ST so much (they are truly supporting Linux in everything they do):

STM32_Programmer_CLI -c port=SWD -w path/to/myhex.hex -v -s 

Other tools you may be interested in:

  1. Segger J-Link debug and programming probes: https://www.segger.com/products/debug-probes/j-link/
  2. Work nicely with their free Ozone software, which can debug FreeRTOS applications too: https://www.segger.com/products/development-tools/ozone-j-link-debugger/
  3. Can also be used to upload code from the command-line. Heres how to upload code in a single command using the Segger J-Link:
JLinkExe -device STM32F777VI -if SWD -speed 12000 -AutoConnect 1 \ -CommandFile /path/to/mycommandfile.txt 
# reset mcu; Note to self :): You MUST do this before attempting to call # `loadfile` or else it will fail; this reset command is in place of # power cycling which I otherwise used to have to do all the time when # using the Segger programmer! r # flash a hex file to your chip loadfile /path/to/myhex.hex # reset no halt (ie: reset the mcu and start running your application # you just loaded to it) rnh exit 

Another note about running Windows tools in Ubuntu: Wine rarely works well for me except on the simplest of programs. Usually what I do is install Virtual Box (no cost) inside Ubuntu, install Windows 10 inside Virtual Box (no-cost download straight from Microsoft), then install whatever Windows software I need inside Windows 10.

That being said, I still recommend you ditch Keil and use native STM32 Linux tools, but the Virtual Box trick really comes in handy when there’s some piece of software that otherwise truly cannot be run and has no good substitute. Linux Ubuntu is my primary OS on all my home computers now, so I’ve had to use my Windows 10 virtual machine inside Virtual Box on occasion.

Источник

Keil uvision 5 linux

Далее описание процесса по шагам под Ubuntu 20.04 на примере Keil v5.34. Подразумевается, что вы уже установили себе wine [1].

1. Найдите папку drive_c, которая соответствует диску C: для wine. Обычно это папка ~/.wine/drive_c:

$ locate -b drive_c /home/домен/имяпользователя/.PlayOnLinux/wineprefix/bkwr01/drive_c /home/домен/имяпользователя/.wine/drive_c $ ls ~/.wine/drive_c/ ProgramData 'Program Files' 'Program Files (x86)' temp users windows 

2. Распакуйте в любой временный подкаталог папки drive_c дистрибутив Keil. Предположим, что это папка temp:

$ ls ~/.wine/drive_c/temp KeilMDK534.exe 

3. Выполните команду wine explorer из домашнего каталога ~. Отобразится окно Проводника Windows. Разверните в Проводнике папку C:\temp.

Ubuntu Keil install explorer fig01

4. Двойным щелчком на файле инсталлятора KeilMDK534.exe запустите установку Keil, ответьте на все вопросы по умолчанию. Запомните, где находится корневой каталог Keil (например C:\Keil_v5), и куда будут записаны дополнительные пакеты для поддержки разных микроконтроллеров (C:\users\имяпользователя\Local Settings\Application Data\Arm\Packs). Как вариант можно запустить инсталлятор из командной строки через тот же wine (например wine ~/.wine/drive_c/temp/KeilMDK534.exe).

Ubuntu Keil install fig02

После установки Keil вылечите его, предложив правильную таблетку. Таблетку запускайте вместе с тем же wine.

5. Предположим, Keil был установлен в каталог C:\Keil_v5. Тогда GUI среды Keil можно запускать командой wine из каталога ~/.wine/drive_c/Keil_v5/:

$ cd ~/.wine/drive_c/Keil_v5/ $ wine UV4/UV4.exe 

6. Установку поддержки процессоров делайте через все ту же команду wine. Вот так, к примеру, устанавливается поддержка для процессоров «Legacy support for Arm7, Arm9 & Cortex-R devices» [2]:

$ cd ~/.wine/drive_c/temp/ $ wine MDK79525.EXE 

1. How to Install Wine on Ubuntu site:phoenixnap.com.
2. MDK v4 Legacy Support site:keil.com.

Источник

Кто-нибудь использует Keil MDK в Linux через вино?

У меня возникли проблемы с использованием keil MDK на ubuntu 18.04. После нескольких пробных испытаний я могу использовать uVision IDE keil на своей операционной системе Ubuntu. Все работает нормально, но при попытке запрограммировать мой микроконтроллер показывает «Нет ST-Link найден». Но поскольку я настаивал на использовании Linux, я попытался установить stm32cube. Программист прыгнул, попытался сделать что-то с шестнадцатеричным файлом, но не сработало. Но каким-то образом мне удалось справиться с утилитой st-link (которая работает в командной строке).

Теперь, если я конвертирую файл elf eclipse в bin или hex и загружаю в свой stm32f103vet через утилиту st-link, он работает просто отлично! Но когда я прошиваю шестнадцатеричный файл, сгенерированный из keil, он ничего не показывает. Не работает. Я устал пытаться программировать stm32 с помощью keil MDK.

Итак, если есть кто-нибудь, кто использует Keil MDK на своей ОС Linux, пожалуйста, постучите сюда. Пожалуйста, помогите мне!

1 ответ

Это не совсем ответ на ваш вопрос сам по себе, но он все равно может привести вас туда, куда вам нужно, в конце, и это больше, чем комментарий, поэтому я отправлю его в качестве ответа:

Кроссплатформенные инструменты ST Development с встроенной поддержкой Linux:

Разрабатываю на Linux. Я настоятельно рекомендую вам просто переключиться на собственные инструменты Linux и отказаться от Keil. ST имеет полный набор инструментов Linux с встроенной поддержкой, что является одной из причин, по которой я так люблю ST (они действительно поддерживают Linux во всем, что они делают):

  1. STM32CubeIDE — https://www.st.com/en/development-tools/ stm32cubeide.html
  2. STM32CubeProgrammer — https://www.st.com/en/development-tools/ stm32cubeprog.html JLinkExe -device STM32F777VI -if SWD -скорость 12000 -AutoConnect 1 \ -CommandFile /путь/к/mycommandfile.txt Где mycommandfile.txt содержит просто 4 команды: # reset mcu; Примечание для себя :): вы ДОЛЖНЫ сделать это, прежде чем пытаться позвонить # `loadfile`, иначе произойдет сбой; эта команда сброса вместо # включение и выключение питания, которое в противном случае мне приходилось делать все время, когда # с помощью программатора Segger! р # прошить шестнадцатеричный файл на ваш чип файл загрузки /путь/к/myhex.hex # сбросить без остановки (т.е. перезагрузить микроконтроллер и запустить приложение # вы только что загрузились в него) р-н выход
  3. Вы можете использовать Eclipse в Linux в качестве IDE — купите эту электронную книгу (Mastering STM32, от Carmine Noviello), чтобы увидеть полные инструкции по установке — https://leanpub.com/mastering-stm32

При этом я по-прежнему рекомендую вам отказаться от Keil и использовать собственные инструменты STM32 Linux, но трюк с Virtual Box действительно пригодится, когда есть какое-то программное обеспечение, которое иначе действительно не может быть запущено и не имеет хорошей замены. Linux Ubuntu сейчас является моей основной ОС на всех моих домашних компьютерах, поэтому время от времени мне приходилось использовать виртуальную машину с Windows 10 внутри Virtual Box.

Источник

5 минут про IDE для микроконтроллеров

Существует большое количество средств разработки для микроконтроллеров. В этой статье пойдет речь, как на стороне Linux развернуть, те среды которые раньше можно было запускать только на ОС Windows, но с появлением wine, эти программы так же стало возможно запускать их и на Linux. Сегодня разберем как запустить на Linux MDK KEIL и IAR, а так же сделаем тесты сколько нужно времени IDE на сборку проекта.

Установка IAR 7 версии под Wine (kubuntu 18.04):

WINEARCH=win32 WINEPREFIX=~/win32_iar winetricks -q msxml3 dotnet40 corefonts ie7

WINEARCH=win32 WINEPREFIX=~/win32_iar wine ~/IAR_EWARM/EWARM-7502-10505.exe

WINEARCH=win32 WINEPREFIX=~/win32_iar wine ~/win32_iar/drive_c/Program\ Files/IAR\ Systems/Embedded\ Workbench\ 7.3/common/bin/IarIdePm.exe

Установка MDK KEIL 5 версии под Wine (kubuntu 18.04):

WINEARCH=win32 WINEPREFIX=~/win32_keil winetricks -q msxml3 dotnet40 corefonts ie7

WINEARCH=win32 WINEPREFIX=~/win32_keil winecfg

и выберете windows 7 (WINEARCH=win32 WINEPREFIX=~/win32_keil winetricks -q win7)

WINEARCH=win32 WINEPREFIX=~/win32_keil wine ~/MDK\ ARM\ 5.24a\ +\ Legacy\ Support\ +\ packs\ \&\ HLP/MDK5.24a/MDK524a.EXE

WINEARCH=win32 WINEPREFIX=~/win32_keil wine ~/win32_keil/drive_c/Keil_v5/UV4/UV4.exe

MDK KEIL 5 версии под Wine

Program Size: Code=342332 RO-data=5204704 RW-data=3128 ZI-data=285268 FromELF: creating hex file. "STM32F7-DISCO\Exe\STM327x6G-DISCO_Demo.axf" - 0 Error(s), 0 Warning(s). Build Time Elapsed: 00:01:03

Лог при сборки проекта STM32746G-Discovery/Demonstrations/STemWin с помощью MDK KEIL 5

linking QT-STM32746G-Discovery.elf [QT-STM32746G-Discovery] converting to BIN: QT-STM32746G-Discovery.elf -> QT-STM32746G-Discovery.bin [QT-STM32746G-Discovery] 21:46:07: Elapsed time: 00:07.

Лог при сборки проекта STM32746G-Discovery/Demonstrations/STemWin с помощью Qt Creator + QBS.

Для IAR v7 — 48c (STM32746G-Discovery/Demonstrations/STemWin). Так же я установил sw4stm32, это среда разработки на eclipse. Время сборки выбранного проекта STM32746G-Discovery/Demonstrations/STemWin составило 45с для sw4stm32.

Параметры моего ПК AMD Ryzen 7 2700, 16GB RAM DDR4, SSD. Измеренные показатели могут отличиться в зависимости от Вашего оснащения ПК, поэтому цифры могут отличаться в разы.

Categories

  • ARDUINO (1)
  • ARM (56)
  • AVR (16)
  • Embedded Linux (10)
  • FPGA (19)
  • Industrial automation and robotics (4)
  • LLVM (7)
  • RISC-V (1)
  • RoboCUP (6)
  • RTOS (15)
  • Rust (6)
  • Разработка проекта под ключ (3)
  • С++ (3)

Recent Comments

  • qwerty on Старт ARM. STM32CubeMX. STM32 GPIO. HAL
  • Roman Shulenkov on Yocto: Создание дистрибутива Yocto с meta-altera
  • milano on Yocto: Создание дистрибутива Yocto с meta-altera
  • thanhtung on Yocto: Создание дистрибутива Yocto с meta-altera
  • Roman Shulenkov on Yocto: Создание дистрибутива Yocto с meta-altera

Источник

Читайте также:  Linux mint remmina нет rdp
Оцените статью
Adblock
detector