Переоценить мини-булавки клено

Вассилис
Пн июня 08, 2015, 11:45
Я увидел, что если вы используете простые числа (0, 1, 2 и т. Д.) Вместо синтаксиса PXXX (PA0, PA1, PB2 и т. Д.) Компилятор не назначает вывод в соответствии с схема схемы клена доска.

Итак, я сделал изменение в файлах:

Arduino_stm32 \ stm32f1 \ variants \ generic_stm32f103c \доска.CPP

и

Arduino_stm32 \ stm32f1 \ variants \ generic_stm32f103c \ poard \доска.час


Эти файлы предназначены только для плат на основе STM32F103C. Различные платы STM32 могут иметь более или менее номера контактов, чем номер контакта, назначаются в этих двух файлах.


Этот эскиз выключает отключение, светодиод подключен к контакту 33 (PB1 PIN) каждые 0.5 секунд.
/* Blink LED */ #define LED 33 //The LED is connected to PB1 pin. void setup() { pinMode(LED, OUTPUT); // initialize digital pin 33 as an output. } void loop() { digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level) delay(500); // wait for a second digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW delay(500); // wait for a second }

Mrburnette
Пн, 08 июня 2015 13:09
Вассилис написал:Я увидел, что если вы используете простые числа (0, 1, 2 и т. Д.) Вместо синтаксиса PXXX (PA0, PA1, PB2 и т. Д.) Компилятор не назначает вывод в соответствии с схема схемы клена доска.

Вассилис
Пн июня 08, 2015, 14:20
Привет, Рэй,

Я использую такую ​​доску Maple-Mini
Изображение

Если вы подключите светодиод, например, на выводе 22 этой платы и попытаетесь включить его, /* Blink LED */ #define LED 22 void setup() { pinMode(LED, OUTPUT); } void loop() { digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level) delay(500); // wait for a second digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW delay(500); // wait for a second }

Рик Кимбалл
Пн июня 08, 2015, 14:24
Вассилис написал:Итак, я сделал изменение в файлах:
Arduino_stm32 \ stm32f1 \ variants \ generic_stm32f103c \доска.CPP
и
Arduino_stm32 \ stm32f1 \ variants \ generic_stm32f103c \ poard \доска.час

Вассилис
Пн июня 08, 2015, 14:33
Рик Кимбалл написал:Вассилис написал:Итак, я сделал изменение в файлах:
Arduino_stm32 \ stm32f1 \ variants \ generic_stm32f103c \доска.CPP
и
Arduino_stm32 \ stm32f1 \ variants \ generic_stm32f103c \ poard \доска.час

Рик Кимбалл
Пн июня 08, 2015, 14:38
Хорошо, тогда понятно.

@RogerClark, я тоже столкнулся с этим. Тем не менее, я не модифицировал доску. Я добавил методы загрузки ST-Link и BMP в платы.TXT для Maple Mini вход.

-рик

Вассилис
Пн июня 08, 2015, 14:44
Я думаю, что лучший способ - изменить доску.Компания CPP.H Файлы общей платы, потому что «Mini Mini Board Selection» использует 8 КБ флэш -памяти для загрузчика.
Адрес начала компилятора: 0x8002000 вместо 0x8000000

Не очень хорошо в случае использования ST-Link.

Рик Кимбалл
Пн июня 08, 2015, 14:46
Да, я изменил доски.txt, поэтому он использовал всю память, используя другую .LD -файл и изменение вектора. Честно говоря, у меня больше нет загрузчика на моем клене-минини.

victor_pv
Пн июня 08, 2015, 14:48
Я думаю, что решение Рика проще и удобнее. Все, что вам нужно сделать, это изменить доски.TXT, чтобы добавить другой метод загрузки и скопировать сценарий линкера с общей платы в Maple Mini Polder, который устанавливает адреса Flash и RAM в полное пространство, доступное в MCU.
Таким образом, не только номера PIN -код, но и USB -перечисление, зарезервированные булавки и т. Д. Все будут работать, как и ожидалось в Maple Mini.

Рик, возможно, вы можете отправить Roger с этими изменениями? Я предполагаю, что больше людей могут быть заинтересованы в использовании целых 128 КБ, как Вашилис.

victor_pv
Пн июня 08, 2015, 14:54
Vassilis, это как пример, является скриптом линкера с настройкой для адреса памяти:
https: // github.com/rogerclarkmelbourne/ ... Ader_20.лд

Сделайте копию этого файла с каким -либо именем, которое вы хотите. Затем отредактируйте эту строку: rom (rx) : ORIGIN = 0x08002000, LENGTH = 120K

Вассилис
Пн июня 08, 2015, 15:04
Со второй мыслью я согласен с тем, что лучше добавить поддержку ST-Link в Maple Mini, а не изменять все общие файлы платы ...

Виктор, я попробую предложенные вами изменения.

Рик Кимбалл
Пн июня 08, 2015, 15:05
victor_pv написал:Рик, возможно, вы можете отправить Roger с этими изменениями? Я предполагаю, что больше людей могут быть заинтересованы в использовании целых 128 КБ, как Вашилис.

Вассилис
Пн июня 08, 2015, 15:30
Рик Кимбалл написал:victor_pv написал:Рик, возможно, вы можете отправить Roger с этими изменениями? Я предполагаю, что больше людей могут быть заинтересованы в использовании целых 128 КБ, как Вашилис.

Mrburnette
Пн июня 08, 2015, 16:14
Вассилис написал: <...>
Я думаю, что все платы (Maple Mini или Generic) должны иметь одинаковую карту штифта для совместимости вывода.
Очень важно, если мы хотим, чтобы все наброски и библиотеки работали на всех досках без каких -либо изменений.

Rogerclark
Вт. 09 июня 2015 10:21 утра
Ребята,

Василлис только что связался со мной об этом.

(1): макет карты штифров для общих против кленовых плат

Первоначально мы использовали вариант Maple Mini для общих досок STM32F103C8 и F103CB, но люди жаловались на то, что макет карты PIN не имеет никакого смысла.
Что было правильно, это вообще не имеет смысла для плат с именами портов / выводов на шелкостном экране.

Поэтому я взял вариант Maple Mini и сделал универсальный вариант STM32F103C и переупорядочил карту штифта и изменил перечисление, которое определяет номера портов / контакт E.глин. PA0 - PC14 и т. Д

Я не вижу никаких проблем с этим.

2. Методы загрузки и сценарии линкеров

Это было проблемой некоторое время. Я помню, что смотрел на это несколько месяцев назад.

Проблема в том, что меню Arduino не каскад. я.E они не взаимосвязаны.

Работа должна была использовать сценарий линкера для платы Top Spec, с любыми методами загрузки, которые необходимо переопределить сценарий линкера для условия по умолчанию.
Я вспоминаю сценарий линкера для F103Z -> STM32duino Bootloader должен был основываться на сценарии линкера F103Zet

Я исследовал, возможно ли динамически переопределить информацию о блоке памяти в сценарии линкера, в команде Link Line.
Однако в основном линкер GCC не поддерживает это (ну, это серая область, но, похоже, не работает, и из того, что я читал, это известная проблема, которую GCC, кажется, не спешит исправить)


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

Но загрузка загрузчика должна иметь на 8 тысяч меньше вспышки

Вещи начинают становиться довольно запутанными, но, возможно, можно будет выполнять имя файла, конкатенация сценариев линкеров на платформе.TXT, но мне нужно сделать это для всех сценариев линкера :-(

я.E имеет первую часть имени сценария в качестве варианта e, g. F103ZE и вторая часть в качестве загрузчика / не загрузчика

так

Linker_f103ze_full.лд
Linker_f103ze_bootloader.лд


В любом случае, это может быть возможно, но не 5 -минутная работа, чтобы изменить все это

Вассилис
Вт, 09 июня 2015 г., 10:54 утра
Rogerclark написал:Первоначально мы использовали вариант Maple Mini для общих досок STM32F103C8 и F103CB, но люди жаловались на то, что макет карты PIN не имеет никакого смысла.
Что было правильно, это вообще не имеет смысла для плат с именами портов / выводов на шелкостном экране.

Поэтому я взял вариант Maple Mini и сделал универсальный вариант STM32F103C и переупорядочил карту штифта и изменил перечисление, которое определяет номера портов / контакт E.глин. PA0 - PC14 и т. Д