Em::blocks IDE (EmBitz)

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Em::blocks IDE (EmBitz)

Сообщение dosikus »

ub3taf
Встал на лапы
Сообщения: 103
Зарегистрирован: Сб фев 20, 2016 17:43:39
Откуда: Нижний Новгород
Контактная информация:

Re: Em::blocks IDE (EmBitz)

Сообщение ub3taf »

[uquote="Chettuser",url="/forum/viewtopic.php?p=2568182#p2568182"]У меня кусков на SPL немало набралось, а теперь...[/uquote]
Внутри HAL сейчас есть еще LL библиотека, по факту это новая SPL. Для некоторых контроллеров куб умеет генерить код и для LL.
Ravor
Нашел транзистор. Понюхал.
Сообщения: 197
Зарегистрирован: Пн апр 25, 2016 15:43:23
Откуда: Россия , Воронеж

Re: Em::blocks IDE (EmBitz)

Сообщение Ravor »

Добрый вечер , а как добавить в embitz другой компилятор ?
Chettuser

Re: Em::blocks IDE (EmBitz)

Сообщение Chettuser »

Каким образом можно добавить поддержку F7/H7 (CMSIS)? Их форум читал, но что то не понятно как то, обрывками, как будто очевидная для тех форумчан вещь.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Em::blocks IDE (EmBitz)

Сообщение Мурик »

Закидывайте файлы в проект. В нем же указываете ядро M7.
В текущей версии STLinkGDB не поддерживает отладку F7/H7. Нужно переключится на OpenOCD. Может с ним получится.
Chettuser

Re: Em::blocks IDE (EmBitz)

Сообщение Chettuser »

[uquote="Мурик",url="/forum/viewtopic.php?p=3470085#p3470085"]В нем же указываете ядро M7.[/uquote]
Знать бы ещё как указать:
http://prntscr.com/l14lbp
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Em::blocks IDE (EmBitz)

Сообщение Мурик »

Указывать нужно в настройках проекта.
СпойлерИзображение
m7.png
(12.7 КБ) 741 скачивание
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Em::blocks IDE (EmBitz)

Сообщение Мурик »

Мурик писал(а):В текущей версии STLinkGDB не поддерживает отладку F7/H7.
Автор пишет новый GDB сервер для EmBitz, который поддерживает прошивку и отладку не только F7/H7, но и недавно появившихся G0 и G4. https://github.com/EmBitz/EBlink
На сайте находится анонс новой версии 2.0 https://www.embitz.org/
Аватара пользователя
AVI-crak
Прорезались зубы
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17
Контактная информация:

Re: Em::blocks IDE (EmBitz)

Сообщение AVI-crak »

EBlink интерфейс, кеширующая прослойка между GDB и физическим интерфейсом. На простых проектах по ощущениям значительное ускорение. На сложных (много разной памяти) - дикие тормоза при запуске, потом есно летает.
Запустить отладку программы в памяти мне так и не удалось.
И да, это по прежнему закрытый проект доступный для использования без ограничений. Использовать можно, исходников нет.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Em::blocks IDE (EmBitz)

Сообщение Мурик »

AVI-crak писал(а):исходников нет.
На сайте пишут
Source code of EBlink and Embitz will be hosted at https://git.embitz.org/
We hope to publish the EBlink code first and Embitz to follow soon.
Наверное выложат когда работа будет закончена.

AVI-crak писал(а):Запустить отладку программы в памяти мне так и не удалось.
Запустил на F103 без каких либо сложностей.
Сделал копию файла stm32-auto.script, переименовал его в stm32-auto-mem.script.
Заменил

Код: Выделить всё

        itrfApi.readMem32(0x08000000);
        targetApi.writeReg("SP", itrfApi.value32);

        // Set the Program pointer according the Vector table entry
        itrfApi.readMem32(0x08000004);
на

Код: Выделить всё

        itrfApi.readMem32(0x20000000);
        targetApi.writeReg("SP", itrfApi.value32);

        // Set the Program pointer according the Vector table entry
        itrfApi.readMem32(0x20000004);
и в командной строке указал использовать этот скрипт.

Код: Выделить всё

-D stm32-auto-mem
Работает.
Может есть баг который проявляется на других моделях МК. Попробуйте запустить на F103.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Em::blocks IDE (EmBitz)

Сообщение Мурик »

На форуме появилось обновление https://www.embitz.org/forum/thread-12.html
Поддерживаются много новых МК в том числе STM32H7, STM32G0, STM32L4, STM32L5 и другие.

Добавлено after 9 hours 54 minutes 19 seconds:
AVI-crak писал(а):Запустить отладку программы в памяти мне так и не удалось.
Если еще актуально, можете попробовать при создании проекта добавить цель сборки DebugRAM и возможно получиться запустить отладку из памяти.
Изображение
Вложения
Debug.png
(49.44 КБ) 1520 скачиваний
rusl32
Родился
Сообщения: 17
Зарегистрирован: Вс окт 25, 2015 19:09:46

Re: Em::blocks IDE (EmBitz)

Сообщение rusl32 »

Есть ли способ настроить автозаполнение в embitz 1,11 чтоб работало на таком коде
Спойлер#define ADC1 ((ADC_TypeDef *) ADC1_BASE)


typedef struct
{
__IO uint32_t SR; /*!< ADC status register, Address offset: 0x00 */
__IO uint32_t CR1; /*!< ADC control register 1, Address offset: 0x04 */
__IO uint32_t CR2; /*!< ADC control register 2, Address offset: 0x08 */
__IO uint32_t SMPR1; /*!< ADC sample time register 1, Address offset: 0x0C */
__IO uint32_t SMPR2; /*!< ADC sample time register 2, Address offset: 0x10 */
__IO uint32_t JOFR1; /*!< ADC injected channel data offset register 1, Address offset: 0x14 */
__IO uint32_t JOFR2; /*!< ADC injected channel data offset register 2, Address offset: 0x18 */
__IO uint32_t JOFR3; /*!< ADC injected channel data offset register 3, Address offset: 0x1C */
__IO uint32_t JOFR4; /*!< ADC injected channel data offset register 4, Address offset: 0x20 */
__IO uint32_t HTR; /*!< ADC watchdog higher threshold register, Address offset: 0x24 */
__IO uint32_t LTR; /*!< ADC watchdog lower threshold register, Address offset: 0x28 */
__IO uint32_t SQR1; /*!< ADC regular sequence register 1, Address offset: 0x2C */
__IO uint32_t SQR2; /*!< ADC regular sequence register 2, Address offset: 0x30 */
__IO uint32_t SQR3; /*!< ADC regular sequence register 3, Address offset: 0x34 */
__IO uint32_t JSQR; /*!< ADC injected sequence register, Address offset: 0x38*/
__IO uint32_t JDR1; /*!< ADC injected data register 1, Address offset: 0x3C */
__IO uint32_t JDR2; /*!< ADC injected data register 2, Address offset: 0x40 */
__IO uint32_t JDR3; /*!< ADC injected data register 3, Address offset: 0x44 */
__IO uint32_t JDR4; /*!< ADC injected data register 4, Address offset: 0x48 */
__IO uint32_t DR; /*!< ADC regular data register, Address offset: 0x4C */
} ADC_TypeDef;

ADC1->/*вот тут чтоб предлагалось автозаполнение*/


И второй вопрос: расположение и количество вкладок редактора не сохраняются при перезапуске. Это можно поправить? Win10.
Аватара пользователя
AVI-crak
Прорезались зубы
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17
Контактная информация:

Re: Em::blocks IDE (EmBitz)

Сообщение AVI-crak »

[uquote="rusl32",url="/forum/viewtopic.php?p=3904978#p3904978"]Есть ли способ..[/uquote]
Дело в том что embitz - это IDE для работы с абсолютно голым железом, без невидимых надстроек сверху. По этой причине embitz воспринимает строку

Код: Выделить всё

#define ADC1 ((ADC_TypeDef *) ADC1_BASE)

как рекомендацию по размещению структуры в явно указанном адресе. При явном и правильном объявлении структуры на этом адресе - размер готовой прошивки станет просто гигантским.
Невидимая надстройка в других IDE сначала публикует все структуры с окончанием _TypeDef, а потом закрывает этот диапазон памяти для линкера.
После чего в интернете появляются вопли - как разместить структуру по фиксированному адресу...

Временное решение - редактирование файла, дописать строку:

Код: Выделить всё

#define ADC1 ((ADC_TypeDef *) ADC1_BASE)
ADC_TypeDef                 ADC1;

Для пользователей embitz есть отдельный форум https://www.embitz.org/forum/ . Однако должен предупредить, хозяин форума крайне негативно реагирует на русский текст.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Em::blocks IDE (EmBitz)

Сообщение Мурик »

Code::Block также не дополняет этот код, так что это проблема не EmBitz, а Code::Block.

AVI-crak писал(а):Временное решение - редактирование файла, дописать строку:
И получим множество ошибок

Код: Выделить всё

.\inc\stm32f10x.h|1425|error: expected ')' before '*' token|
.\inc\stm32f10x.h|1426|note: in expansion of macro 'ADC1'|
.\inc\stm32f10x.h|1332|error: expected ')' before '(' token|
.\inc\stm32f10x.h|1425|note: in expansion of macro 'ADC1_BASE'|
.\inc\stm32f10x.h|1426|note: in expansion of macro 'ADC1'|
.\inc\stm32f10x.h|1425|error: expected ')' before '*' token|
.\inc\stm32f10x.h|1426|note: in expansion of macro 'ADC1'|
.\inc\stm32f10x.h|1332|error: expected ')' before '(' token|
.\inc\stm32f10x.h|1425|note: in expansion of macro 'ADC1_BASE'|
.\inc\stm32f10x.h|1426|note: in expansion of macro 'ADC1'|
||=== Сборка закончена: 4 errors, 0 warnings (0 minutes, 0 seconds) ===|

AVI-crak писал(а):Для пользователей embitz есть отдельный форум https://www.embitz.org/forum/
На котором можно найти описание этой проблемы https://www.embitz.org/forum/thread-16.html
rusl32
Родился
Сообщения: 17
Зарегистрирован: Вс окт 25, 2015 19:09:46

Re: Em::blocks IDE (EmBitz)

Сообщение rusl32 »

[uquote="Мурик",url="/forum/viewtopic.php?p=3905202#p3905202"]Code::Block также не дополняет этот код, так что это проблема не EmBitz, а Code::Block.[/uquote]
Судя по всему, автодополение реализовано отдельным сторонним плагином, видимо, достаточно древним. Так что это проблема плагина. Но радостней от этого не становится. Пойду трусдудию ковырять, а то пальцам больно..
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Em::blocks IDE (EmBitz)

Сообщение Мурик »

Аватара пользователя
AVI-crak
Прорезались зубы
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17
Контактная информация:

Re: Em::blocks IDE (EmBitz)

Сообщение AVI-crak »

Мурик, автор embitz пишет про вторую версию, но я в упор её не наблюдаю.
При этом они её тестируют...
Professor Chaos
Открыл глаза
Сообщения: 41
Зарегистрирован: Вс мар 21, 2021 11:06:04

Re: Em::blocks IDE (EmBitz)

Сообщение Professor Chaos »

[uquote="AVI-crak",url="/forum/viewtopic.php?p=4103164#p4103164"]Мурик, автор embitz пишет про вторую версию, но я в упор её не наблюдаю.
При этом они её тестируют...[/uquote]
Из первого сообщения по ссылке:
There is a Beta 2.0 version available for testing for a limited number of users.
For those who are invited:
Ключевые слова выделил жирным. Вот поэтому и не наблюдается она в свободном доступе всем желающим.
Пока только для ограниченного числа приглашенных тестеров.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Em::blocks IDE (EmBitz)

Сообщение Мурик »

Важно что дело пошло. Если выпущена бета (пусть для ограниченного числа тестеров), значит скоро будет релиз.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Em::blocks IDE (EmBitz)

Сообщение Мурик »

Ответить

Вернуться в «ARM»