Например TDA7294

Форум РадиоКот • Просмотр темы - Ошибка в Em::Blocks / EmBitz
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 20:05:11

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Ошибка в Em::Blocks / EmBitz
СообщениеДобавлено: Ср июн 14, 2017 14:21:43 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1244
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
Сегодня обнаружил ошибку в Em::Blocks. Актуально для тех, кто, как и я, использует эту IDE. Найденное также справедливо и для EmBitz 1.11, специально проверил.

При создании проекта для STM32F100RB в определениях оказывается STM32F10X_LD_VL (low-density value line), в то время как STM32F100RB в действительности относится к medium-density value line. Это приводит к тому, что stm32f10x.h оказывается сконфигурирован неверно. Например, невозможно настроить SPI2, т.к. соответствующее определение оказывается отключено через #ifdef.

Вот так выглядит строка вызова компилятора (вывод полного пути в HTML-файл включается в настройках):

arm-none-eabi-gcc.exe -mcpu=cortex-m3 -D__HEAP_SIZE=0x0000 -D__STACK_SIZE=0x0100 -mfloat-abi=soft -Wimplicit-int -Werror-implicit-function-declaration -Wdiv-by-zero -Wall -Os -g1 -funsigned-char -Wno-main -DSTM32F100RB -fno-strict-aliasing -DSTM32F10X_LD_VL -O2 -g2 -fdata-sections -ffunction-sections -c src\main.c -o obj\release\src\main.o -MMD -I.\inc -I.\src -I.\cmsis -I"C:\Program Files (x86)\EmBlocks\2.10\share\em_armgcc\bin\..\arm-none-eabi\include" -I"C:\Program Files (x86)\EmBlocks\2.10\share\em_armgcc\bin\..\arm-none-eabi" -I"C:\Program Files (x86)\EmBlocks\2.10\share\em_armgcc\bin\..\lib\cmsis\include"

Проще всего решить проблему, отредактировав файл проекта (.ebp, текстовый файл с XML-записями) руками. В нем надо найти настройки компилятора:

<Compiler>
<Add option="-mfloat-abi=soft" />
<Add option="-DSTM32F100RB" />
<Add option="-fno-strict-aliasing" />
<Add option="-DSTM32F10X_LD_VL" />
<Add directory=".\inc" />
<Add directory=".\src" />
<Add directory=".\cmsis" />
</Compiler>

И, соответственно, поменять на -DSTM32F10X_MD_VL. Как это сделать из графического интерфейса, я не нашел.

Багрепорт разработчику не писал, т.к. не нашел простого способа это сделать. Если кто напишет - будет хорошо.

UPD:

Ошибку можно исправить коренным образом. Настройки устройств лежат в файле devices.xml, который упакован в архив st.zip, находящийся в папке %PROGRAM_FILES%\EmBlocks\2.10\share\EmBlocks\templates\wizard\arm\st (для Em::Blocks 2.10) либо %PROGRAM_FILES%\EmBitz\1.11\share\EmBitz\templates\wizard\arm\st (для EmBitz 1.11).

Там можно видеть строки:

<STM32F100R8 romAddr=0x08000000 romLen=64K ramAddr=0x20000000 ramLen=8K cpu_core=cortex-m3 serie=md_vl />
<STM32F100RB romAddr=0x08000000 romLen=128K ramAddr=0x20000000 ramLen=8K cpu_core=cortex-m3 serie=ld_vl />
<STM32F100RC romAddr=0x08000000 romLen=256K ramAddr=0x20000000 ramLen=24K cpu_core=cortex-m3 serie=hd_vl />

Соответственно, надо поменять значение "serie" на "md_vl".

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ошибка в Em::Blocks / EmBitz
СообщениеДобавлено: Ср июн 14, 2017 14:43:56 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 4
YS писал(а):
И, соответственно, поменять на -DSTM32F10X_MD_VL. Как это сделать из графического интерфейса, я не нашел.

Изображение


Вложения:
EmBitz.png [11.41 KiB]
Скачиваний: 1139
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ошибка в Em::Blocks / EmBitz
СообщениеДобавлено: Ср июн 14, 2017 15:16:53 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1244
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
ВАУ. :shock:

А я тыкал на ветку "Release" (я использую только ее) и безуспешно искал настройки в ней...

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y