Рик Кимбалл
Пн 12 июня 2017 г., 17:29
Я взял первый проход, добавив новый вариант с новым комбинированным ядром. Доска, которую я использую,-это Nucleo-F030R8, у нее меньший чип Cortex-M0, который имеет только 64 тыс. Флэш и 8 тыс. ОЗУ.
Вы можете найти код здесь:
https: // github.com/rickkimball/arduino_core_stm32
Если вы выполните шаги, которые я изложил в этом посте http: // www.STM32duino.com/viewtopic.PHP ... 172#P29377 (Извините за угнание конца вашей ветки @joelcrouch), вы можете увидеть, как я создал файлы в каталоге Variant/ucleo_f030R8.
Чтобы сделать это, мне пришлось взломать STM32/Analog.C, чтобы избежать всех функций ЦАП. Это может быть лучше. Я просто хотел выбросить это здесь, чтобы другие могли попробовать это.
Одно изменение, которое я сделал, потому что этот чип имеет такое небольшое количество оперативной памяти, я ограничил вариант одним серийным портом. Вы можете условно включить Serial1, если добавите определение в плату.txt file (-denable_serial1). Это изменение сокращает использование оперативной памяти, не добавив буфер USART, используемый вторым портом Serial1. Вы, вероятно, все равно не будете использовать это большую часть времени. Сериал подключен к VCP платы Nucleo и подключен к Cortex-M0 на USART2 (PA2/PA3). См. UM1724 для картирования штифта.
Я решил сделать осциллятор по умолчанию высокоскоростной внутренней один такта на 48 МГц с помощью PLL. Я играл со значением значения внутреннего генератора и измерил его с помощью применения. Значение 15 дает наиболее точные часы 48 МГц для меня. Вам, возможно, придется отрегулировать это, если ваша тактовая скорость не подходит.
https: // github.com/rickkimball/arduino_ ... Т.CPP#L152
Вы можете измерить тактовую скорость, добавив эту строку ниже в функцию setup (). Затем измерьте PA8 с областью применения, чтобы узнать свою реальную частоту Sysclk.
Вы можете найти код здесь:
https: // github.com/rickkimball/arduino_core_stm32
Если вы выполните шаги, которые я изложил в этом посте http: // www.STM32duino.com/viewtopic.PHP ... 172#P29377 (Извините за угнание конца вашей ветки @joelcrouch), вы можете увидеть, как я создал файлы в каталоге Variant/ucleo_f030R8.
Чтобы сделать это, мне пришлось взломать STM32/Analog.C, чтобы избежать всех функций ЦАП. Это может быть лучше. Я просто хотел выбросить это здесь, чтобы другие могли попробовать это.
Одно изменение, которое я сделал, потому что этот чип имеет такое небольшое количество оперативной памяти, я ограничил вариант одним серийным портом. Вы можете условно включить Serial1, если добавите определение в плату.txt file (-denable_serial1). Это изменение сокращает использование оперативной памяти, не добавив буфер USART, используемый вторым портом Serial1. Вы, вероятно, все равно не будете использовать это большую часть времени. Сериал подключен к VCP платы Nucleo и подключен к Cortex-M0 на USART2 (PA2/PA3). См. UM1724 для картирования штифта.
Я решил сделать осциллятор по умолчанию высокоскоростной внутренней один такта на 48 МГц с помощью PLL. Я играл со значением значения внутреннего генератора и измерил его с помощью применения. Значение 15 дает наиболее точные часы 48 МГц для меня. Вам, возможно, придется отрегулировать это, если ваша тактовая скорость не подходит.
https: // github.com/rickkimball/arduino_ ... Т.CPP#L152
Вы можете измерить тактовую скорость, добавив эту строку ниже в функцию setup (). Затем измерьте PA8 с областью применения, чтобы узнать свою реальную частоту Sysclk.
HAL_RCC_MCOConfig(RCC_MCO, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_1);
fpistm
Пн 12 июня 2017 г. 9:36 вечера
Привет, Рик,
Спасибо за ваш отзыв.
Я сделал запрос на то, чтобы исправить, когда DAC недоступен:
https: // github.com/stm32duino/arduino_c ... 32/тяга/28
Я также создаю вариант для Nucleo F030R8:
https: // github.com/stm32duino/arduino_c ... 32/тяга/29
Одна странная вещь, точка горы моей доски называется "node_f030r8".
О вашем варианте, в периферических.C, лучше всего сохранить только одно определение PIN -кода для той же функции (комментируя):
Спасибо за ваш отзыв.
Я сделал запрос на то, чтобы исправить, когда DAC недоступен:
https: // github.com/stm32duino/arduino_c ... 32/тяга/28
Я также создаю вариант для Nucleo F030R8:
https: // github.com/stm32duino/arduino_c ... 32/тяга/29
Одна странная вещь, точка горы моей доски называется "node_f030r8".
О вашем варианте, в периферических.C, лучше всего сохранить только одно определение PIN -кода для той же функции (комментируя):
{PA7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1
{PA7, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM17, 1, 0)}, // TIM17_CH1
{PA7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 1)}, // TIM1_CH1N
{PA7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2
Рик Кимбалл
Вт 13 июня 2017 г. 14:26
Fpistm написал:...
Одна странная вещь, точка горы моей доски называется "node_f030r8".
Одна странная вещь, точка горы моей доски называется "node_f030r8".
fpistm
Вт 13 июня 2017 г. 14:36
Рик Кимбалл написал:
Может быть, нам следует изменить приложение Massstoragepopy, чтобы сначала попробовать NODE_XXXX, и если оно не найдено, то ищите ядра?
Рик Кимбалл
Вт 13 июня 2017 г. 14:57
Fpistm написал:Рик Кимбалл написал:
Может быть, нам следует изменить приложение Massstoragepopy, чтобы сначала попробовать NODE_XXXX, и если оно не найдено, то ищите ядра?
Рик Кимбалл
Вт 13 июня 2017 г. 15:11
Fpistm написал:
Рик Кимбалл написал:
Как вы собираете подходящий таймер? Это кажется довольно произвольным. Я заметил в вашей версии периферинов.C в случае выше, вы выбрали последнюю запись PA7 с помощью TIM3_CH2 и прокомментировали все остальные.
fpistm
Вт 13 июня 2017 г. 15:31
То же самое для LSUB:
$ lsusb -d 0483: -v | head -40
Bus 004 Device 014: ID 0483:374b STMicroelectronics ST-LINK/V2.1 (Nucleo-F103RB)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x0483 STMicroelectronics
idProduct 0x374b ST-LINK/V2.1 (Nucleo-F103RB)
bcdDevice 1.00
iManufacturer 1 STMicroelectronics
iProduct 2 STM32 STLink
iSerial 3 0672FF485550755187054539
bNumConfigurations 1
fpistm
Вт 13 июня 2017 г. 15:34
Для этого случая я думаю, что это выбор пользователя/разработчика. Имеет смысл следовать.
Он обеспечивает конфигурацию сопоставления контактов, но ничто не останавливает пользователя использовать еще один таймер.
Он обеспечивает конфигурацию сопоставления контактов, но ничто не останавливает пользователя использовать еще один таймер.
Рик Кимбалл
Вт 13 июня 2017 г. 16:04
Fpistm написал:
Для этикетки у меня есть хорошо "node_f030r8" Вот почему у меня есть это как имя Mount Point. Как у вас есть «нуклео», он использует «нуклео». Это нормально, что я пытаюсь понять, это почему у вас есть этот ярлык.
Рик Кимбалл
Вт 13 июня 2017 г. 16:09
Fpistm написал:Для этого случая я думаю, что это выбор пользователя/разработчика. Имеет смысл следовать.
Он обеспечивает конфигурацию сопоставления контактов, но ничто не останавливает пользователя использовать еще один таймер.
Он обеспечивает конфигурацию сопоставления контактов, но ничто не останавливает пользователя использовать еще один таймер.
fpistm
Вт 13 июня 2017 г., 17:17
Да, так же, как mbed. Для вашей версии (без комментариев) первый в массиве.
GenpinMap Extract все возможные значения PIN для MCU. Не связан с досками.
Он не мог выбрать, какой из них использует вместо еще одного. Пользователь должен выбрать свои конфигурации.
О узле вы найдете причину.
У меня есть:
GenpinMap Extract все возможные значения PIN для MCU. Не связан с досками.
Он не мог выбрать, какой из них использует вместо еще одного. Пользователь должен выбрать свои конфигурации.
О узле вы найдете причину.
У меня есть:
od -t x1 -c -A x
Рик Кимбалл
Ср 14 июня 2017 г., 2:52
Я бы подумал, что запустить ту же прошивку, что у нас было бы тот же загрузочный сектор. Я предполагаю, что должны быть биты на более новых пересмотрах совета директоров, которые позволяют Stlink Side of Poard знать, какое ядро должно быть. У меня была эта доска долгое время. Это, наверное, один из первых.
fpistm
Ср 14 июня 2017 г., 6:54
Я перенес проблему в репо arduino_tools.
https: // github.com/stm32duino/arduino_tools/weleps/6
https: // github.com/stm32duino/arduino_tools/weleps/6
Рик Кимбалл
Ср 14 июня 2017 г. 12:21
Из UM1724 написал:
"Плата, отмечающая MB1136 C-01, соответствует плате, настроенной как HSE не используется.
Плата, отмечающая MB1136 C-02 (или выше), соответствует плате, настроенной на использование
ST-Link MCO в качестве ввода часов."
Плата, отмечающая MB1136 C-02 (или выше), соответствует плате, настроенной на использование
ST-Link MCO в качестве ввода часов."
fpistm
Ср 14 июня 2017 г. 12:26
Нет Рика.
Это должно быть хорошее улучшение.
Это должно быть хорошее улучшение.
fpistm
Пт 16 июня 2017 г. 15:51
Привет, Рик,
У меня есть Massstoragescript:
https: // github.com/stm32duino/arduino_tools/pull/8
Все еще нужно построить двоичный файл для macosx, но это нормально для Linux32/64 и Windows.
У меня есть Massstoragescript:
https: // github.com/stm32duino/arduino_tools/pull/8
Все еще нужно построить двоичный файл для macosx, но это нормально для Linux32/64 и Windows.
Рик Кимбалл
Пт 16 июня 2017 г., 16:11
Спасибо @fpistm отлично работает!