Некоторые обновления для F4

Rogerclark
Ср. 06 мая 2015 г. 6:50 утра
Я просто быстро посмотрел на F4, и есть несколько вещей, которые, я думаю, можно сразу улучшить,

Во -первых, ему не хватает перечисления, который отображает имена PIN -контактов E.G PA0 к HE PIN_MAP [0]

Кроме того, компилятор устанавливается как Cortex-M3, но процессор является корой-м4

Я пытался изменить это, и это все еще собирается компилировать ОК.

Одна вещь, которую я заметил, это то, что иногда он не работает после загрузки через Stlink,

Я думал, что это может быть потому, что я перешел на Cortex-M4 и что компиляция не удалась, но я нажал кнопку сброса, и она загрузила OK

И следующая загрузка была в порядке

Так что я думаю, что это что -то в загрузчике Stlink, которое прерывится.

Я поднялся на загрузчик с открытым исходным источником (Texane-Stlink) вместо запатентованного загрузчика STM, но он тот же, что и мы используем на всех платформах на F103, так что он должен быть в порядке.

Re: Сериал

Да.

Очень странно. Я не уверен, почему аппаратный сериал, похоже, не работает. Насколько я могу судить, это инициализировано и настройка и т. Д., Но это определенно не работает

HW Serial 1 подключен к USB -порту OTG, поэтому мне интересно, повредил ли я его, когда -то подключив к своему компьютеру, но если это тоже не работает для вас. Тогда, возможно, мы оба попытались подключить OTG к ПК или другая проблема

В любом случае, я подтолкну изменение в репо, так что такие наброски, как эта работа
void setup() { // put your setup code here, to run once: //Serial1.begin(115200); Serial2.begin(115200); //Serial3.begin(115200); //Serial4.begin(115200); pinMode(PD12,OUTPUT); pinMode(PD13,OUTPUT); pinMode(PD14,OUTPUT); pinMode(PD15,OUTPUT); } int c; void loop() { // put your main code here, to run repeatedly: //Serial1.println("Serial"); Serial2.println("Serial1"); //Serial3.println("Serial2"); //Serial4.println("Serial3"); toggle(PD12); toggle(PD13); toggle(PD14); toggle(PD15); delay(250); } void toggle(int pin) { digitalWrite(pin,!digitalRead(pin)); }

Rogerclark
Ср 6 мая 2015 г., 7:09
Глядя на код F4, я думаю, что причина, по которой HW Serial 1 не работает, заключается в том, что он обменивается с USB -портом OTG, я.e Я думаю, что это порт хоста USB

Я предполагаю, что, возможно, что нужно сделать, это нанести на карту сериал с HW Serial 2 и использовать это для отладки

Funsailor
Вт 21 июля 2015 г. 22:09
Привет, Роджер,
Теперь я проверяю открытие STM32F4.
Я проверяю фактическую версию Gitub и у меня есть эта проблема:

C: \ arduino \ arpware \ arduino_stm32 \ stm32f4 \ cores \ maple/libmaple/spif4.H: 78: 8: ошибка: '__always_inline' не называет типа
static __always_inline void spi_gpio_cfg (uint8 as_master,

и

c: \ users \ mikel \ appdata \ roaming \ arduino15 \ packages \ arduino \ tools \ arm-none-eabi-gcc \ 4.8.3-2014q1 \ arm-none-eabi \ include \ stdlib.H: 67: 5: ошибка: ожидаемый Unkalified ID до 'int'
int _exfun (abs, (int));

любая идея?

-> в файле
..\ Stm32f4 \ cores \ maple \ arduino.час
Является ли неправильный вариант "включать" вариант.час"
Я установил это в комментарии
------------------------------
#ifndef arduino_h
#define arduino_h
#include "Wprogram.час"
#endif

//#Включить "вариант.час"
------------------------------

Rogerclark
Вт 21 июля 2015 г. 22:16
мммм

__always_inline - это одна из проблем в списке для выполнения.

Я думал, что написал Рик Кимбалл, что это встроенное имя внутри GCC

Возможно, это опечатка.

Лучший человек, который стоит спросить, это @martinayotte, так как он сделал все недавние изменения в репо F4.

Martinayotte
Ср. 22 июля 2015 г., 3:01
Для проблемы __always_inline, да, я понял, я сделал слияние от Рика, но я никогда не отталкивал ее в папку GitHub F4. (Я извиняюсь здесь ;) )
Эта строка должна быть вставлена ​​в STM32F4/Cores/Maple/Libmaple/libmaple_types.h в строке 50
#define __always_inline inline __attribute__((always_inline))

Rogerclark
Ср. 22 июля 2015 г., 4:05
Мартин

Спасибо.

Я напрямую обновил этот источник (отредактировал файл на GitHub)

Надеюсь, это исправит одну из проблем, но я согласен, я не уверен, что происходит с другой проблемой.

Возможно, если ОП пытается с изменением для __always_line, другая проблема может исчезнуть (но, вероятно, нет)

Martinayotte
Ср. 22 июля 2015 г. 16:13
Я немного копал второй выпуск, я обнаружил, что должен прокомментировать эту строку в мае.
Я не понимаю реальной проблемы, но просто комментировал ее.
arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1\arm-none-eabi\include\stdlib.h:67:5: error: expected unqualified-id before 'int' int _EXFUN(abs,(int));

Rogerclark
Ср. 22 июля 2015 г., 21:02
Мартин

Спасибо

Я помню, как видел ошибки с Exfun () раньше, но я не могу вспомнить, что я сделал, чтобы преодолеть их.

Я думаю, что, возможно, я увидел подобные проблемы при внесении некоторых других изменений (для F1), но подозреваю, что я не в конечном итоге внедрил изменения из -за проблемы Exfun ().

Эта проблема может быть чем -то, с чем столкнулся Рик, так как он исследовал здание с разными IDE и т. Д.

Но я думаю, что это лучше для ОП, чтобы вернуться к нам в первую очередь, на случай, если они решили свою собственную проблему

Martinayotte
Чт 23 июля 2015 г. 1:31
На самом деле, я не понимаю эту чисто проблему GCC, сообщение об ошибке не имеет значения.
Попытка Google об этом, я вижу только проблему синтаксиса скобок. Я ненавижу эти ошибки ! :зло: (они не в моем коде ;) )
Может, эксперт Рика прользит нам это ?
Как это работает на F1 ? :( Я предполагаю, что это зависит от контекста эскиза ...
В то же время, Funsailor, просто комментируя, как я ...

Рик Кимбалл
Пт 24 июля 2015 г. 15:25
Я взял последний источник GitHub, и когда я скомпилировал для STM32 Discovery F407, я получаю это сообщение:
/home/kimballr/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-g++ -c -g -Os -w -MMD -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -DBOARD_discovery_f407 -DVECT_TAB_BASE -DERROR_LED_PORT=GPIOD -DERROR_LED_PIN=14 -mcpu=cortex-m4 -DF_CPU=168000000L -DARDUINO=10606 -DARDUINO_STM32F4_DISCOVERY_F407 -DARDUINO_ARCH_STM32F4 -DMCU_STM32F406VG -mthumb -DSTM32_HIGH_DENSITY -DSTM32F2 -DSTM32F4 -DBOARD_discovery_f4 -I/mnt/vbox/shared/Arduino_STM32RK_Sketch/hardware/stm32duino/STM32F4/cores/maple/libmaple -I/mnt/vbox/shared/Arduino_STM32RK_Sketch/hardware/stm32duino/STM32F4/cores/maple/libmaple/usbF4 -I/mnt/vbox/shared/Arduino_STM32RK_Sketch/hardware/stm32duino/STM32F4/cores/maple/libmaple/usbF4/STM32_USB_Device_Library/Core/inc -I/mnt/vbox/shared/Arduino_STM32RK_Sketch/hardware/stm32duino/STM32F4/cores/maple/libmaple/usbF4/STM32_USB_Device_Library/Class/cdc/inc -I/mnt/vbox/shared/Arduino_STM32RK_Sketch/hardware/stm32duino/STM32F4/cores/maple/libmaple/usbF4/STM32_USB_OTG_Driver/inc -I/mnt/vbox/shared/Arduino_STM32RK_Sketch/hardware/stm32duino/STM32F4/cores/maple/libmaple/usbF4/VCP -I/mnt/vbox/shared/Arduino_STM32RK_Sketch/hardware/stm32duino/STM32F4/cores/maple -I/mnt/vbox/shared/Arduino_STM32RK_Sketch/hardware/stm32duino/STM32F4/variants/discovery_f407 /tmp/build1716864136632058487.tmp/sketch/sketch_jul24a.cpp -o /tmp/build1716864136632058487.tmp/sketch/sketch_jul24a.cpp.o In file included from sketch_jul24a.ino:1:0: /mnt/vbox/shared/Arduino_STM32RK_Sketch/hardware/stm32duino/STM32F4/cores/maple/Arduino.h:6:21: fatal error: variant.h: No such file or directory #include "variant.h" ^ compilation terminated. Error compiling.

Рик Кимбалл
Пт 24 июля 2015 г. 15:50
Я пошел вперед и добавил вариант.H до STM32F4 для совета директоров Discovery.

Тогда я получаю ошибку, которую вы видите. Мне кажется, что протирание.H должен включать stdlib.H раньше чего -либо еще... Я добавил это, а затем все компилируется правильно:

в протирке.час .... #ifndef _WIRISH_H_ #define _WIRISH_H_ #include #include "libmaple.h" ....

Rogerclark
Пт 24 июля 2015 г., 21:15
Спасибо, Рик,

Я обновлю репо.

Я не слишком уверен, как возникла эта проблема, я предполагаю, что это было неожиданным следствием одного из запросов Martins Pull, так как я не внес никаких изменений в папку F4 в течение довольно долгого времени.

Martinayotte
Сб 25 июля 2015 г. 14:24
Для варианта.H Проблема, да, это небольшая ошибка, которую я не поймал, так как большинство моих эскизов не включали Arduino.час.
Спасибо, Рик за то, что поймал его, а другой !

Rogerclark
Сб 25 июля 2015 г., 21:35
Я постараюсь обновить это сегодня.

Вчера он ускользнул от моего разума

Rogerclark
Сб 25 июля 2015 г., 23:51
Мартин

arrggghhhhh!! Сторона репо, кажется, полностью сломана.

Ардуино.H пытается включить вариант.H Но этого файла не существует.

У вас есть несколько файлов на вашей машине, которые вы не выдвинули на сервер, прежде чем сделать запрос на вытягивание ??

Похоже, вы добавили в этот коммит

https: // github.com/rogerclarkmelbourne/ ... 2A8E4C3FD5

Спасибо, Роджер

Пса. Нет смысла обновлять файл, чтобы включить stdlib до тех пор, пока эта серьезная проблема не будет решена.

Martinayotte
Солнце 26 июля 2015 г. 14:54
@Roger, как я уже говорил выше, это небольшая ошибка, которую я не поймал вовремя.
Я просто забыл добавить этот файл в резо, это копия от F1, как и все остальные.
Я добавил и отправил вам пиар для этого.

Rogerclark
Солнце 26 июля 2015 г., 21:54
Привет, Мартин

Не беспокойся

Я буду действовать по запросу на притяжение.

Madmalkav
Ср 19 августа 2015 г. 8:58 утра
Привет. Я ваш средний его, недавно я получил безработный, поэтому у меня есть свободное время, чтобы играть с Nucleo F411RE. Я не кодировщик, просто ваш типичный парень "Я исправляю ваш компьютер", и я хотел знать, есть ли какая -либо работа, которую я могу сделать, чтобы помочь поддержать эту доску.

Sheepdoll
Ср 19 августа 2015 г., 16:30
Вы можете взглянуть на https: // github.com/sheepdoll/halmx_arduino_stm32. Это ссылается в ViewTopic.PHP?F = 46&t = 499.

HALMX - это скорее «QuickStart» подход. Вместо «программирования» устройства инструмент с именем STM32Cubemx из ST используется для генерации кода шаблона. У меня нет ucleo411re, у меня есть ucleo401re. Было бы не слишком сложно добавить ucleo411re, ядро. Использование существующего ucleo401re в качестве шаблона. Несмотря на то, что у меня нет аппаратного обеспечения Nucleo411re. Я планирую добавить это ядро ​​в ближайшем будущем.

Понимание инструмента STM32Cubemx должно быть хорошим первым шагом для ИТ/кодера. Он графический, работает на всех платформах. Код 'Cowerplate: Code также можно запускать под широким спектром IDE. Многие, которые поддерживают отладки чипа (ОКР.) Я также могу предложить изучить инструмент Eclipse IDE. OpenSTM и OpenOCD - это места, где нужно сделать много объемных работ. Я использую OSX, другие платформы ОС (например, Windows) немного более зрелые, но ОС Windows больше не является аппаратным стабильным. Linux - это будущее, так как более основные компании возвращаются к модели аренды компьютеров и времени продажи 1950 -х годов.

Рик Кимбалл
Ср 19 августа 2015 г., 21:13
Sheepdoll написал:Понимание инструмента STM32Cubemx должно быть хорошим первым шагом для ИТ/кодера. Он графический, работает на всех платформах.

Madmalkav
Ср 19 августа 2015 г., 22:07
Я не искал, какой инструмент я буду использовать для кодирования так же, как помочь с портом STM32Duino. Но если я смогу помочь с вашей ветвью, я буду рад.

Sheepdoll
Ср 19 августа 2015 г., 23:18
Рик Кимбалл написал:Sheepdoll написал:Понимание инструмента STM32Cubemx должно быть хорошим первым шагом для ИТ/кодера. Он графический, работает на всех платформах.

Sheepdoll
Чт 20 августа 2015 г. 12:06
Madmalkav написал:Я не искал, какой инструмент я буду использовать для кодирования так же, как помочь с портом STM32Duino. Но если я смогу помочь с вашей ветвью, я буду рад.

Rogerclark
Чт 20 августа 2015 2:04
Я думаю, что если вы не укрепленный кодер, что попытка изменить ядро ​​будет крутой кривой обучения.

Если вы хотите, чтобы работа F4 работал, его жесткий выбор, потому что из того, что я помню, у платы F103RB есть нагрузка конкретного конфигурационного материала, который Матиас должен был написать, чтобы заставить его работать с Maple Core F1.

Вам будет лучше всего от PM'ing @Madias и спросить его причуды нуклео

Итак, у меня есть ощущение, что работать с последним ядром @Sheepdoll, возможно, стоит посмотреть, вместо того, чтобы пытаться взломать ядро ​​Maple F4 (AKA Aeroquad), чтобы работать с Nucleo F4

Но, конечно, нет библиотек для ядра @Sheepdoll. Так что, возможно, написать библиотеку SPI для этого ядра было бы хорошим использованием времени ?

Sheepdoll
Чт 20 августа 2015 г., 2:53
Rogerclark написал:
Но, конечно, нет библиотек для ядра @Sheepdoll. Так что, возможно, написать библиотеку SPI для этого ядра было бы хорошим использованием времени ?

Madmalkav
Чт 20 августа 2015 г. 15:05
Постараюсь посмотреть на это в ближайшие дни. В настоящее время я занят неожиданными работами по улучшению дома:/

Кстати, мне все еще нужно понять, как все это море вещей взаимосвязана между. Я думал, что Cubemx был всего лишь графическим интерфейсом для облегчения кода инициализации MCU, и HAL являются некоторыми предоставленными библиотеками для использования в соответствии со стандартным GCC-Arm?

И вы пишете слой, чтобы использовать этот материал со стандартными материалами Arduino, но библиотеки должны быть перенесены, правильно? Итак, мы должны искать библиотеки STM32, такие как этот и адаптировать их к стандарту Arduino?

Как видите, есть кое -что, что мне все еще нужно приклеить в правильном порядке в моей голове...

PS: Признаюсь, я немного играл с вещами Mbed, но не берите меня за предателя : D

Sheepdoll
Чт 20 августа 2015 г., 17:38
Madmalkav написал:Постараюсь посмотреть на это в ближайшие дни. В настоящее время я занят неожиданными работами по улучшению дома:/

Кстати, мне все еще нужно понять, как все это море вещей взаимосвязана между. Я думал, что Cubemx был всего лишь графическим интерфейсом для облегчения кода инициализации MCU, и HAL являются некоторыми предоставленными библиотеками для использования в соответствии со стандартным GCC-Arm?

Madmalkav
Чт 20 августа 2015 г., 22:32
Ну, просто с этим HAL PDF, который я читаю в течение нескольких дней ;)

(Кстати, у меня не было проблем с MBBE онлайн или экспортировано, возможно, MacoSX?)

Martinayotte
Пт 21 августа 2015 1:05
Madmalkav написал:(Кстати, у меня не было проблем с MBBE онлайн или экспортировано, возможно, MacoSX?)

STM32F407ZGT6 - схема Acelex ?