Манкан
Солнце 30 октября 2016 г. 15:52
Планируется подключить к моей таблетке Si5351 к моей синей таблетке, но пример двоичных файлов становится все больше, чем доступная вспышка, около 70 кб.
Сначала я подумал, что это что -то с моей установкой Arduino, компьютер с Windows 7, у меня было несколько версий и ароматов Arduino, установленных (и до сих пор есть), поэтому я взял свой Arduino Free Naptop 10 и установил 1.6.9, Добавленные платы, установленные пакет ARDUINO_STM32, установленная библиотека Etherkit SI5351 и начал создавать эскиз SI5351Example.
После исправления ошибки компиляции, которая, как я предполагаю, состоит в том, чтобы изменить интерфейс провода, я еще раз получил двоичный файл 70+кб. Гуглил и нашел следующее http: // danieleff.com/stm32/результат.PHP?не ... T%20SI5351 что указывает на то, что пример кода должен быть около 18 КБ.
Куда мне начать искать?
Сначала я подумал, что это что -то с моей установкой Arduino, компьютер с Windows 7, у меня было несколько версий и ароматов Arduino, установленных (и до сих пор есть), поэтому я взял свой Arduino Free Naptop 10 и установил 1.6.9, Добавленные платы, установленные пакет ARDUINO_STM32, установленная библиотека Etherkit SI5351 и начал создавать эскиз SI5351Example.
После исправления ошибки компиляции, которая, как я предполагаю, состоит в том, чтобы изменить интерфейс провода, я еще раз получил двоичный файл 70+кб. Гуглил и нашел следующее http: // danieleff.com/stm32/результат.PHP?не ... T%20SI5351 что указывает на то, что пример кода должен быть около 18 КБ.
Куда мне начать искать?
Пито
Солнце 30 октября 2016 г. 16:44
Много 64 -битной математики там.. Например, в Si5351.час:
/* NOTE: macro parameter n is evaluated multiple times,
* beware of side effects!
*/
# define do_div(n,base) ({ \
uint64_t __base = (base); \
uint64_t __rem; \
__rem = ((uint64_t)(n)) % __base; \
(n) = ((uint64_t)(n)) / __base; \
__rem; \
})
Манкан
Солнце 30 октября 2016 г., 17:31
Хорошо, так что обновление с 1.6.9 не решит это. Может быть вариантом, чтобы увидеть, было ли и когда оно было введено? Любые конкретные версии, которые рекомендуют?
Пито
Солнце 30 октября 2016 г., 17:33
Скорее всего, вы должны удалить «новый» из источника, он может загрузить тонны C ++ дерьма (Alloc, Malloc) в код..
void Si5351::set_ms(enum si5351_clock clk, struct Si5351RegSet ms_reg, uint8_t int_mode, uint8_t r_div, uint8_t div_by_4)
{
uint8_t *params = new uint8_t[20];
Манкан
Солнце 30 октября 2016 г., 17:59
Я никогда не думал, что кто -то использовал новое в встроенное код, я доказал неправильный. Я, конечно, попробую, но это не объясняет, почему код в ссылке, которую я предоставил, составляет 18 КБ.
Пито
Солнце 30 октября 2016 г. 18:03
Лучше спросить Даниэффа
Манкан
Солнце 30 октября 2016 г. 18:28
Я заменил два «новых утверждения» на распределение стека, а также удалил соответствующие удаления и закончил следующими размерами:
ST Link 19 716
Сериал 14 316
Загрузчик: 19 732
BMP: 14 300
Гораздо более разумно по сравнению с Дэниелсом 18 868 байтов.
И пример тоже работает Большое спасибо, пито.
ST Link 19 716
Сериал 14 316
Загрузчик: 19 732
BMP: 14 300
Гораздо более разумно по сравнению с Дэниелсом 18 868 байтов.
И пример тоже работает Большое спасибо, пито.
Rogerclark
Солнце 30 октября 2016 г. 8:52 вечера
КСТАТИ. Причина того, что загрузка Stlink будет больше, заключается в том, что USB Serial собирается в код (поскольку большинство людей хотят использовать встроенный USB при использовании Stlink, а не подключать другой USB к последовательному адаптеру)
Но, как вы знаете, вы можете удалить USB -серий.TXT и перезапуск IDE.
Я знаю, что у нас может быть еще один вариант меню, чтобы позволить людям выбирать, если они хотят USB -сериал на STLINK, BMP, JLINK и т. Д., Но у нас уже есть одна из самых сложных систем меню для любого ядра Arduino, и я думаю, что это может закончить более запутанно и потенциально раздражает многих пользователей
Но, как вы знаете, вы можете удалить USB -серий.TXT и перезапуск IDE.
Я знаю, что у нас может быть еще один вариант меню, чтобы позволить людям выбирать, если они хотят USB -сериал на STLINK, BMP, JLINK и т. Д., Но у нас уже есть одна из самых сложных систем меню для любого ядра Arduino, и я думаю, что это может закончить более запутанно и потенциально раздражает многих пользователей
Манкан
Солнце 30 октября 2016 г., 8:57 вечера
Понял и также согласился с вами Роджером. Достаточно легко добавить варианты меню для продвинутых пользователей, а не загромождать для новых и промежуточных пользователей.
Даниэфф
Пн, 31 октября 2016 г., 6:02
Манкан написал:
После исправления ошибки компиляции, которая, как я предполагаю, состоит в том, чтобы изменить интерфейс провода, я еще раз получил двоичный файл 70+кб. Гуглил и нашел следующее http: // danieleff.com/stm32/результат.PHP?не ... T%20SI5351 что указывает на то, что пример кода должен быть около 18 КБ.
Куда мне начать искать?
Куда мне начать искать?
Rogerclark
Пн, 31 октября 2016 г., 7:03
Даниэфф написал:
Скомпилирование примера кода с Maple Core дает мне 77 КБ. Компиляция Just "void setup () {new int ();}" - 71 КБ.
Компиляция с новым ядром STM Пример - 18 КБ, а "new int ()" 8 КБ.
Скомпилирование примера кода с Maple Core дает мне 77 КБ. Компиляция Just "void setup () {new int ();}" - 71 КБ.
Компиляция с новым ядром STM Пример - 18 КБ, а "new int ()" 8 КБ.
Даниэфф
Пн, 31 октября 2016 г., 7:31 утра
Rogerclark написал:Даниэфф написал:
Скомпилирование примера кода с Maple Core дает мне 77 КБ. Компиляция Just "void setup () {new int ();}" - 71 КБ.
Компиляция с новым ядром STM Пример - 18 КБ, а "new int ()" 8 КБ.
Скомпилирование примера кода с Maple Core дает мне 77 КБ. Компиляция Just "void setup () {new int ();}" - 71 КБ.
Компиляция с новым ядром STM Пример - 18 КБ, а "new int ()" 8 КБ.
Rogerclark
Пн, 31 октября 2016 г., 7:33 утра
Интересный
Интересно, что такое недостаток...
Интересно, что такое недостаток...
Даниэфф
Вторник 01 ноября 2016 г., 4:02
Rogerclark
Вторник 01 ноября 2016 г., 4:53 утра
ХОРОШО
Я попробую добавить его в ядро F103 и посмотрю, строит ли он и т. Д
Я попробую добавить его в ядро F103 и посмотрю, строит ли он и т. Д