Rogerclark
Пн 19 июня 2017 г. 1:52 утра
[Обновление администратора]
Это предложение было сделано для загрузчика, за исключением того, что эскиз не мигает, так как это потребовало бы другого бинарного эскиза для каждого загрузчика / платы. Таким образом, вместо этого он печатает сообщение для серийного
Ребята
Проблема, которую мы переживаем снова и снова, заключается в том, что люди ожидают получить последовательное устройство, когда они сначала загружают загрузчик
Я не предлагаю добавить даже фальшивое последовательное устройство в загрузчик, так как композитные устройства проблематичны в Windows.
Но, объединяя мигание & Ссылка графа в двоичный диапазон загрузчика, так что, когда новые пользователи загружают загрузчик, появляется плата и имеет COM -порт, который может увидеть IDE, кажется возможным решением для этого.
Я подумал о добавлении другой формы демонстрационного эскиза в загрузчик, но это должно быть просто на основе текста, или просто включать мигание или исчезновение светодиода.
У кого -нибудь есть какие -либо мысли об этом.
Также... Я не знаю простого способа слияния двоичных файлов или шестнадцатеричных файлов. У меня есть инструмент под названием MergeHex (от Nordic Semi), но он, похоже, не работает для этого (возможно, он работает только на конкретных диапазонах адресов)
Это предложение было сделано для загрузчика, за исключением того, что эскиз не мигает, так как это потребовало бы другого бинарного эскиза для каждого загрузчика / платы. Таким образом, вместо этого он печатает сообщение для серийного
Ребята
Проблема, которую мы переживаем снова и снова, заключается в том, что люди ожидают получить последовательное устройство, когда они сначала загружают загрузчик
Я не предлагаю добавить даже фальшивое последовательное устройство в загрузчик, так как композитные устройства проблематичны в Windows.
Но, объединяя мигание & Ссылка графа в двоичный диапазон загрузчика, так что, когда новые пользователи загружают загрузчик, появляется плата и имеет COM -порт, который может увидеть IDE, кажется возможным решением для этого.
Я подумал о добавлении другой формы демонстрационного эскиза в загрузчик, но это должно быть просто на основе текста, или просто включать мигание или исчезновение светодиода.
У кого -нибудь есть какие -либо мысли об этом.
Также... Я не знаю простого способа слияния двоичных файлов или шестнадцатеричных файлов. У меня есть инструмент под названием MergeHex (от Nordic Semi), но он, похоже, не работает для этого (возможно, он работает только на конкретных диапазонах адресов)
Zoomx
Пн 19 июня 2017 г., 6:06
Возможно, редактор HEX?
Rogerclark
Пн 19 июня 2017 г., 7:18
Я могу сделать это, используя инструмент Jlink Jflash, поскольку он имеет функцию слияния, но это больно делать вручную для всех файлов.
Я попробую еще раз посмотреть, смогу ли я сделать утилиту MergeHex от Nordic
Я попробую еще раз посмотреть, смогу ли я сделать утилиту MergeHex от Nordic
Даниэфф
Пн 19 июня 2017 г., 7:54 утра
Но разве это не просто добавляет одно к другому? Я знаю, что вы используете Windows, но:
cat bootloader.bin > bootloader_plus_blink.bin
truncate -s8192 bootloader_plus_blink.bin
cat blink.bin >> bootloader_plus_blink.bin
Стивестронг
Пн 19 июня 2017 г. 9:15 утра
Я использую HXD: https: // mh-nexus.de/en/hxd/
Он поддерживает среди многих интересных функций, расщепления или объединения файлов тоже.
Он поддерживает среди многих интересных функций, расщепления или объединения файлов тоже.
Rogerclark
Пн 19 июня 2017 г. 10:35 утра
[Даниэфф - Пн 19 июня 2017 г., 7:54 утра] -
Но разве это не просто добавляет одно к другому? Я знаю, что вы используете Windows, но:
cat bootloader.bin > bootloader_plus_blink.bin
truncate -s8192 bootloader_plus_blink.bin
cat blink.bin >> bootloader_plus_blink.bin
Rogerclark
Пн 19 июня 2017 г. 10:36 утра
[Стивестронг - Пн 19 июня 2017 г. 9:15] - Я использую HXD: https: // mh-nexus.de/en/hxd/Спасибо
Он поддерживает среди многих интересных функций, расщепления или объединения файлов тоже.
Я надеялся найти что -то, что я мог бы запустить из файла летучей мыши Windows
Даниэфф
Пн 19 июня 2017 г. 10:39
[Rogerclark - Пн 19 июня 2017 г. 10:35] -[Даниэфф - Пн 19 июня 2017 г., 7:54 утра] - Но разве это не просто добавляет одно к другому? Я знаю, что вы используете Windows, но:cat bootloader.bin > bootloader_plus_blink.bin truncate -s8192 bootloader_plus_blink.bin cat blink.bin >> bootloader_plus_blink.bin
Rogerclark
Пн 19 июня 2017 г. 10:41
[Даниэфф - Пн 19 июня 2017 г. 10:39] -[Rogerclark - Пн 19 июня 2017 г. 10:35] -[Даниэфф - Пн 19 июня 2017 г., 7:54 утра] - Но разве это не просто добавляет одно к другому? Я знаю, что вы используете Windows, но:cat bootloader.bin > bootloader_plus_blink.bin truncate -s8192 bootloader_plus_blink.bin cat blink.bin >> bootloader_plus_blink.bin
Стивестронг
Пн 19 июня 2017 г., 11:42
Для вашей ориентации, вот шестнадцатеричный редактор командной строки, с исходным кодом:
https: // sourceforge.net/projects/hexciting/
https: // sourceforge.net/projects/hexciting/
Zoomx
Пн 19 июня 2017 г. 14:10
[Rogerclark - Пн 19 июня 2017 г. 10:41] - Я посмотрю, есть ли у Windows есть этоЯ считаю, что на Cygwin он будет работать, так как у него есть команды кошки и усечения.
Редактировать.
Нет. У него нет этой команды.
Rogerclark
Пн 19 июня 2017 г. 22:20
У меня есть Cygwin, но это большой пакет для других людей, чтобы установить только для объединения файлов
Я написал какой -нибудь код, чтобы сделать это, но я еще не тестировал его.
Пожалуйста, скажите мне, если вы видите какие -либо ошибки
Примечание. Моему компилятору не понравился тип unit8_t, поэтому я объявил буфер как void *, и я не уверен, что это будет работать.
Мне нужно выяснить, где определяется unit8_t,
Я написал какой -нибудь код, чтобы сделать это, но я еще не тестировал его.
Пожалуйста, скажите мне, если вы видите какие -либо ошибки
Примечание. Моему компилятору не понравился тип unit8_t, поэтому я объявил буфер как void *, и я не уверен, что это будет работать.
Мне нужно выяснить, где определяется unit8_t,
#include
#include
int main(int argc, char **argv)
{
FILE *fpBootloader;
FILE *fpSketch;
FILE *fpOutput;
int sketchSize;
int bootloaderSize;
void *buf;
const int SKETCH_OFFSET = 0x2000;
if (argc!=3)
{
printf("mergebin bootloader.bin sketch.bin output.bin\nNote. The sketch start address is presumed to be 0x2000 from the start of the binary file\n");
return -1;
}
fpBootloader = fopen (argv[1], "r");
if (fpBootloader==NULL)
{
printf("Unable to open bootloader binary file %s\n",argv[1]);
return -2;
}
fpSketch = fopen (argv[2], "r");
if (fpSketch==NULL)
{
fclose(fpBootloader);
printf("Unable to open sketch binary file %s\n",argv[2]);
return -2;
}
fpOutput = fopen (argv[3], "w");
if (fpSketch==NULL)
{
fclose(fpBootloader);
fclose(fpSketch);
printf("Unable to open output file %s for writing \n",argv[3]);
return -2;
}
fseek(fpSketch, 0, SEEK_END); // seek to send of sketch to determine its length
sketchSize = ftell (fpSketch);
fseek(fpSketch, 0, SEEK_SET); // go back to start, so we can read from the beginning
buf=malloc(sketchSize + SKETCH_OFFSET);
if (buf==NULL)
{
fclose(fpBootloader);
fclose(fpSketch);
fclose(fpOutput);
printf("Unable to open allocate memoery\n");
return -3;
}
fseek(fpBootloader, 0, SEEK_END); // seek to send of bootloader to determine its length
bootloaderSize = ftell (fpBootloader);
fseek(fpBootloader, 0, SEEK_SET); // go back to start, so we can read from the beginning
fread(buf,bootloaderSize,1,fpBootloader);
fclose(fpBootloader);
fread(buf + SKETCH_OFFSET,sketchSize,1,fpSketch);
fclose(fpSketch);
fwrite(buf,sketchSize+SKETCH_OFFSET,1,fpOutput);
fclose(fpOutput);
return 0;
}
Рик Кимбалл
Пн 19 июня 2017 г. 11:04
Почему не сценарий, который просто загружает загрузчик на 0x8000000, а затем загружает мигание на 0x8000000+8192. Два шага вместо одного
Rogerclark
Пн 19 июня 2017 г. 11:06 вечера
[Рик Кимбалл - Пн 19 июня 2017 г. 11:04 вечера] - Почему не сценарий, который просто загружает загрузчик на 0x8000000, а затем загружает мигание на 0x8000000+8192. Два шага вместо одногоЗависит от того, как люди загружают файл.
Многие люди используют инструмент GUI Windows Windows
Я просто должен сделать это идиотское доказательство как можно больше для всех платформ
Rogerclark
Пн 19 июня 2017 г. 11:09
КСТАТИ.
Если у меня будет время, я сделаю утилиту общего назначения
эн.глин. Mergebin In1, Offset1, In2, Offset2, In3, Offset3, Out
Если у меня будет время, я сделаю утилиту общего назначения
эн.глин. Mergebin In1, Offset1, In2, Offset2, In3, Offset3, Out
Rogerclark
Пн 19 июня 2017 г., 11:25 вечера
Ммм.
Одна вещь, которую я не рассмотрел, это то, что я хотел мигать из светодиода, но он варьируется, поэтому я не могу использовать один и тот же эскиз, или эскиз должен определить светодиод, осматривая загрузчик.
мммм. Больше осложнений.
Если в загрузчике есть место, я могу просто положить строку CONST, которая имеет идентификацию в нем, а также использовать его для чтения контакта светодиода
Одна вещь, которую я не рассмотрел, это то, что я хотел мигать из светодиода, но он варьируется, поэтому я не могу использовать один и тот же эскиз, или эскиз должен определить светодиод, осматривая загрузчик.
мммм. Больше осложнений.
Если в загрузчике есть место, я могу просто положить строку CONST, которая имеет идентификацию в нем, а также использовать его для чтения контакта светодиода
Rogerclark
Вт 20 июня 2017 г. 12:10
Были некоторые ошибки в моей первой попытке. Я не установил режим бинарного чтения (DOH)!
Но я думаю, что это работает сейчас, и вот комбинированный бинарный (прикрепленный)
Я не уверен, является ли код кросс -платформ (и я хотел бы сделать его общей целью, если у меня будет время)
Примечание. Этот код не является эскизом, его необходимо собирать в Windows с помощью GCC или аналогичного.
Я использовал код :: блоки
Но я думаю, что это работает сейчас, и вот комбинированный бинарный (прикрепленный)
Я не уверен, является ли код кросс -платформ (и я хотел бы сделать его общей целью, если у меня будет время)
Примечание. Этот код не является эскизом, его необходимо собирать в Windows с помощью GCC или аналогичного.
Я использовал код :: блоки
#include
#include
#include
int main(int argc, char **argv)
{
FILE *fpBootloader;
FILE *fpSketch;
FILE *fpOutput;
int sketchSize;
int bootloaderSize;
uint8_t *buf;
const int SKETCH_OFFSET = 0x2000;
if (argc!=4)
{
printf("\nUsage. mergebin bootloader.bin sketch.bin output.bin - Incorrect number of args\n\n");
return -1;
}
fpBootloader = fopen (argv[1], "rb");
if (fpBootloader==NULL)
{
printf("Unable to open bootloader binary file %s\n",argv[1]);
return -2;
}
fseek(fpBootloader, 0, SEEK_END); // seek to send of bootloader to determine its length
bootloaderSize = ftell (fpBootloader);
fseek(fpBootloader, 0, SEEK_SET); // go back to start, so we can read from the beginning
printf("Opened bootloader file %s : size is %d\n",argv[1],bootloaderSize);
fpSketch = fopen (argv[2], "rb");
if (fpSketch==NULL)
{
fclose(fpBootloader);
printf("Unable to open sketch binary file %s\n",argv[2]);
return -2;
}
fseek(fpSketch, 0, SEEK_END); // seek to send of sketch to determine its length
sketchSize = ftell (fpSketch);
fseek(fpSketch, 0, SEEK_SET); // go back to start, so we can read from the beginning
printf("Opened sketch file %s : size is %d\n",argv[2],sketchSize);
buf=malloc(sketchSize + SKETCH_OFFSET);
if (buf==NULL)
{
fclose(fpBootloader);
fclose(fpSketch);
printf("Unable to open allocate memory\n");
return -3;
}
printf("Allocated %d bytes for buffer\n",sketchSize + SKETCH_OFFSET);
fread(buf,bootloaderSize,1,fpBootloader);
fclose(fpBootloader);
fread(buf + SKETCH_OFFSET,sketchSize,1,fpSketch);
fclose(fpSketch);
fpOutput = fopen (argv[3], "wb");
if (fpOutput==NULL)
{
fclose(fpBootloader);
fclose(fpSketch);
printf("Unable to open output file %s for writing \n",argv[3]);
return -2;
}
fwrite(buf,sketchSize+SKETCH_OFFSET,1,fpOutput);
fclose(fpOutput);
printf("Wrote combined file to %s \n",argv[3]);
return 0;
}
Rogerclark
Вт 20 июня 2017 г., 7:11 утра
Я отказался от идеи сделать эскиз частью комбинированного загрузчика, мигает светодиод. Потому что мне нужны отдельные наброски для каждой платы.
Я думаю, что я просто составлю пустой набросок, только один, который имеет значение и отображает сообщение, так как это будет работать для всех досок.
Я думаю, что я просто составлю пустой набросок, только один, который имеет значение и отображает сообщение, так как это будет работать для всех досок.
Ахулл
Вт 20 июня 2017 г. 11:29
Не могли бы вы указать два контакта для кнопки и светодиод в сценарии Make для загрузчика и Blink, создавая загрузчик, тогда становится чем -то вроде.
mkbootloader button_pin LED_PIN, который вызывает подпрограммы для составления загрузчика и мигания, а затем объединяет их в один .Файл корзины?
Это устранит необходимость поддерживать целую кучу предварительно скомпилированных загрузчиков в первую очередь. На самом деле вы могли бы сделать эту идею дальше на один этап и добавить таблицу поиска для общих плат, так что что -то вроде Mkbootloader blue_pill или mkbootloader maple_mini
mkbootloader button_pin LED_PIN, который вызывает подпрограммы для составления загрузчика и мигания, а затем объединяет их в один .Файл корзины?
Это устранит необходимость поддерживать целую кучу предварительно скомпилированных загрузчиков в первую очередь. На самом деле вы могли бы сделать эту идею дальше на один этап и добавить таблицу поиска для общих плат, так что что -то вроде Mkbootloader blue_pill или mkbootloader maple_mini
Rogerclark
Вт 20 июня 2017 г. 12:00 вечера
Привет, Энди
Я не уверен, что вы имеете в виду в.
У меня уже есть Makefile, который может построить все цели, хотя я недостаточно знаю о Makefiles, чтобы «делать все» делает все загрузчики
Я полагаю, что можно было бы создать пользовательский набросок мигания, но ему потребуется все ядро Libmaple и т. Д., Который в настоящее время не находится внутри папки загрузчика.
Я думаю, что легче просто иметь предварительно скомпилированный пробел.корзин для всех общих плат (не Maple Mini и т. Д.), А затем заставьте MakeFile для объединения.
Но, к сожалению, я не очень хорош в написании Makefiles.
Я не уверен, что вы имеете в виду в.
У меня уже есть Makefile, который может построить все цели, хотя я недостаточно знаю о Makefiles, чтобы «делать все» делает все загрузчики
Я полагаю, что можно было бы создать пользовательский набросок мигания, но ему потребуется все ядро Libmaple и т. Д., Который в настоящее время не находится внутри папки загрузчика.
Я думаю, что легче просто иметь предварительно скомпилированный пробел.корзин для всех общих плат (не Maple Mini и т. Д.), А затем заставьте MakeFile для объединения.
Но, к сожалению, я не очень хорош в написании Makefiles.
Ахулл
Вт 20 июня 2017 12:25
Я использовал Makebootloader в общем смысле, а не в создании файла, но я думаю, что мы могли бы использовать способности сделать что -то вроде
Сделайте загрузчик клен
или
Сделайте Bootloader BluePill
или
Сделать Bootlader PB1 PC13
или
Сделать загрузчик $ кнопка $
РЕДАКТИРОВАТЬ:
На самом деле производить использование синтаксиса
Сделайте Target foo = bar, так что приведенные выше примеры могут быть
Make Bootloader Board = Bluepill | Maple | Uglyboard и т. Д
или
Сделать кнопку загрузчика = PB1 LED = PC13
.. и так далее ...
.. и иметь Makefile выплетать то, что нам нужно, создав как загрузчик, так и мигание с одинаковыми параметрами и объединив их вместе.
https: // Stackoverflow.COM/Вопросы/282 ... ne-to-make
Первоначально я предполагал, что сценарий или программа, которая при вызове с правильными параметрами генерирует подходящий Boot+Blink в совокупности .корзина на основе деталей, которые он был передан. Однако получение работы для работы осла может быть более портативным решением, так как автономный сценарий не будет агностиком ОС, и предположительно, предположительно (по большей части).
Сделайте загрузчик клен
или
Сделайте Bootloader BluePill
или
Сделать Bootlader PB1 PC13
или
Сделать загрузчик $ кнопка $
РЕДАКТИРОВАТЬ:
На самом деле производить использование синтаксиса
Сделайте Target foo = bar, так что приведенные выше примеры могут быть
Make Bootloader Board = Bluepill | Maple | Uglyboard и т. Д
или
Сделать кнопку загрузчика = PB1 LED = PC13
.. и так далее ...
.. и иметь Makefile выплетать то, что нам нужно, создав как загрузчик, так и мигание с одинаковыми параметрами и объединив их вместе.
https: // Stackoverflow.COM/Вопросы/282 ... ne-to-make
Первоначально я предполагал, что сценарий или программа, которая при вызове с правильными параметрами генерирует подходящий Boot+Blink в совокупности .корзина на основе деталей, которые он был передан. Однако получение работы для работы осла может быть более портативным решением, так как автономный сценарий не будет агностиком ОС, и предположительно, предположительно (по большей части).
Рик Кимбалл
Вт 20 июня 2017 12:29
Если весь смысл состоит в том, чтобы сделать USB -сериал, почему бы не пропустить мигание?
Ахулл
Вт 20 июня 2017 12:35
Насколько я понимаю, идея состоит в том, чтобы включить миган.
В настоящее время, если вы установите только загрузчик и запускаете плату на своем компьюте.
Однако, если вы добавите подходящий Blinky, то, когда они впервые устанавливают загрузчик, вы можете иметь перечисление платы в виде последовательного порта, а мигающий эскиз мигает светодиод, доказывая, что что -то полезное, как было достигнуто.
Затем это удалило кучу сомнений и вопросов NOOB.
В настоящее время, если вы установите только загрузчик и запускаете плату на своем компьюте.
Однако, если вы добавите подходящий Blinky, то, когда они впервые устанавливают загрузчик, вы можете иметь перечисление платы в виде последовательного порта, а мигающий эскиз мигает светодиод, доказывая, что что -то полезное, как было достигнуто.
Затем это удалило кучу сомнений и вопросов NOOB.
Rogerclark
Вт 20 июня 2017 12:37
[Рик Кимбалл - Вт 20 июня 2017 г. 12:29 вечера] - Если весь смысл состоит в том, чтобы сделать USB -сериал, почему бы не пропустить мигание?Да.
Вот в заключение я пришел к.
Я только что собрал пустой набросок, чтобы получить серийный USB, чтобы появиться
Затем запустил мою утилиту, чтобы объединить generic_boot20_pc13.корзин с пустым.Ино.generic_stm32f103c.бин
Все, что мне нужно сделать, это добавить что -то в Makefile, чтобы он запустил утилиту Mergebin после составления корзины Bootloader Bin
Рик Кимбалл
Вт 20 июня 2017 г. 13:05
Как насчет извержения информации о сборке о загрузке на серийном выходе?
Что -то вроде:
"Успех! Версия загрузчика Blah и Blah установлены."
Тогда, возможно, выбросьте информацию об используемых светодиодах и используемых кнопках? И короткое руководство о том, как использовать все функции.
Что -то вроде:
"Успех! Версия загрузчика Blah и Blah установлены."
Тогда, возможно, выбросьте информацию об используемых светодиодах и используемых кнопках? И короткое руководство о том, как использовать все функции.
Ахулл
Вт 20 июня 2017 г. 13:30
[Рик Кимбалл - Вт 20 июня 2017 г. 13:05] - Как насчет извержения информации о сборке о загрузке на серийном выходе?Хороший ход, учебник может быть просто ссылкой на соответствующую страницу вики.
Что -то вроде:
"Успех! Версия загрузчика Blah и Blah установлены."
Тогда, возможно, выбросьте информацию об используемых светодиодах и используемых кнопках? И короткое руководство о том, как использовать все функции.
Стивестронг
Вт 20 июня 2017 г. 14:07
Возвращаясь к разделению/слиянию и другим вещам, я нашел этот пакет утилит GNU для Windows, это может быть удобно для кого -то:
http: // unxutils.Sourceforge.сеть/
http: // unxutils.Sourceforge.сеть/
Rogerclark
Вт 20 июня 2017 г. 22:24
[Рик Кимбалл - Вт 20 июня 2017 г. 13:05] - Как насчет извержения информации о сборке о загрузке на серийном выходе?
Что -то вроде:
"Успех! Версия загрузчика Blah и Blah установлены."
Тогда, возможно, выбросьте информацию об используемых светодиодах и используемых кнопках? И короткое руководство о том, как использовать все функции.
Это то, что я тоже рассмотрел.
Я изначально сделал мгновение & Считайте эскиз,. Поместите какой -то другой текст.
Но я согласен, наличие абзаца текста, который он неоднократно отправляет один раз за секунду - хорошая идея
Zoomx
Ср 21 июня 2017 г. 7:39
Классический «Быстрый коричневый лиса перепрыгивает через ленивую собаку» или «Lorem Ipsum Dolor Sit Amet Cescetur Adipiscing Elit», которая кажется латинской, но ничего не значит....
Или таблица ASCII.
Или идентификация и версия загрузчика.
Или таблица ASCII.
Или идентификация и версия загрузчика.
Rogerclark
Ср 21 июня 2017 г., 7:56 утра
[Zoomx - Ср 21 июня 2017 г. 7:39] -Я подумал об этом, но мне нужно поместить несколько магических номеров в источник загрузчика, чтобы эскиз мог искать и найти версию и т. Д
Или идентификация и версия загрузчика.
В этом случае я также положил светодиодный порт и штифт, чтобы эскиз мог прочитать эти значения, а затем мигать светодиод
victor_pv
SAT 24 июня 2017 г. 9:15 вечера
Я думаю, что это может быть легче:
1.- Возьмите Maple Mini и протрите его.
2.-Загрузить загрузчик.
3.-Загрузите мигание или любой пример наброска.
4.-Загрузите Flash до конца фактического кода со ST-Link, и у вас есть объединенная мусорная корзина, которая может быть загружена.
Если вопрос в том, как это сделать для каждого варианта, то это другая проблема. Я не думаю, что это того стоит. Может быть, лучше сделать мусорные баки доступными только на странице с большим красным баннером, предупреждающим, что плата будет показывать только как устройство DFU, пока не будет загружен эскиз.
1.- Возьмите Maple Mini и протрите его.
2.-Загрузить загрузчик.
3.-Загрузите мигание или любой пример наброска.
4.-Загрузите Flash до конца фактического кода со ST-Link, и у вас есть объединенная мусорная корзина, которая может быть загружена.
Если вопрос в том, как это сделать для каждого варианта, то это другая проблема. Я не думаю, что это того стоит. Может быть, лучше сделать мусорные баки доступными только на странице с большим красным баннером, предупреждающим, что плата будет показывать только как устройство DFU, пока не будет загружен эскиз.
Rogerclark
SAT 24 июня 2017 г. 22:54
Привет, Виктор
Я согласен, что это слишком много для загрузки на устройство, а затем прочитать его обратно, чтобы сделать комбинированный загрузчик.
Но я уже сделал Exe, чтобы объединить двоичные файлы.
Пока я использую только серийный.Печать в Shetch, он будет работать на всех досках.
Я постараюсь написать немного текста, который будет отображаться часть эскиза на 1 -секундной цикле
Я согласен, что это слишком много для загрузки на устройство, а затем прочитать его обратно, чтобы сделать комбинированный загрузчик.
Но я уже сделал Exe, чтобы объединить двоичные файлы.
Пока я использую только серийный.Печать в Shetch, он будет работать на всех досках.
Я постараюсь написать немного текста, который будет отображаться часть эскиза на 1 -секундной цикле
AG123
Солнце 25 июня 2017 г., 7:58 утра
До сих пор я вполне доволен только загрузчиком «RAW», на самом деле после того, как я установил загрузчик, я намеренно нулевой разоблачивает блоки Flash после 0x8002000
Если я правильно помню, это оставляет его в режиме «вечного» загрузки, ожидая установки эскиза
В любом случае «вечный режим» сохраняет светодиод
Тогда необходимо установить эскиз, скажем, из Arduino IDE или через DFU-UTIL
Для новых пользователей это, вероятно, должно быть первой вещей, которую им нужно учиться - для компиляции и установления миганистого эскиза
что также даст им USB-сериал
всего 2 цента
Если я правильно помню, это оставляет его в режиме «вечного» загрузки, ожидая установки эскиза
В любом случае «вечный режим» сохраняет светодиод
Тогда необходимо установить эскиз, скажем, из Arduino IDE или через DFU-UTIL
Для новых пользователей это, вероятно, должно быть первой вещей, которую им нужно учиться - для компиляции и установления миганистого эскиза
что также даст им USB-сериал
всего 2 цента
Rogerclark
Солнце 25 июня 2017 г. 10:43
[AG123 - Солнце 25 июня 2017 г. 7:58] - До сих пор я вполне доволен только загрузчиком «RAW», на самом деле после того, как я установил загрузчик, я намеренно нулевой отброс вспышки после 0x8002000Зависит от того, как люди его устанавливают, вполне возможно, что у BP уже есть бинар.
Если я правильно помню, это оставляет его в режиме «вечного» загрузки, ожидая установки эскиза
В любом случае «вечный режим» сохраняет светодиод
Тогда необходимо установить эскиз, скажем, из Arduino IDE или через DFU-UTIL
Для новых пользователей это, вероятно, должно быть первой вещей, которую им нужно учиться - для компиляции и установления миганистого эскиза
что также даст им USB-сериал
всего 2 цента
Bootloader просто ищет волшебный номер (я думаю, он ищет адрес или его часть в начале сегмента кода эскиза).
Это маловероятно, но не невозможно, чтобы он обнаружил что -то еще как действительный набросок и прыгнуть к нему, а затем сбой
Rogerclark
Сб 22 июля 2017 г., 4:36 утра
Ребята.
Я наконец -то пришел к тому, чтобы сделать версию этого.
Видеть
https: // github.com/rogerclarkmelbourne/ ... erged_bins
Я сделал простой набросок, который распечатывает сообщение
Поздравляю, вы установили загрузчик STM32Duino Bootloader
Для получения дополнительной информации об Arduino на STM32
Видеть https: // github.com/rogerclarkmelbourne/ ... загрузчик
и http: // www.STM32duino.компонент Я проверил это на синей таблетке, и это отлично работает.
Я не тестировал на Maple Mini, но он должен работать, так как я использую другой эскиз для двоичных файлов Maple
Если это, кажется, сработает для всех, я помесчу эти комбинированные двоичные файлы в папку двоичных файлов, чтобы заменить файлы, которые содержат только загрузчик.
КСТАТИ. Я не могу вспомнить, имеют ли другие более крупные кленовые доски, есть различное оборудование отключения от Maple Mini, и в этом случае мне нужен другой эскиз для них, что не то, что я сделал в данный момент.
Но это ушло на меня достаточно долго, чтобы зайти так далеко, поэтому, если у более крупных кленовых досок есть проблема, я просто удалю комбинированный двоичный файл, и эти пользователи могут использовать загрузчик без эскиза
Я наконец -то пришел к тому, чтобы сделать версию этого.
Видеть
https: // github.com/rogerclarkmelbourne/ ... erged_bins
Я сделал простой набросок, который распечатывает сообщение
Поздравляю, вы установили загрузчик STM32Duino Bootloader
Для получения дополнительной информации об Arduino на STM32
Видеть https: // github.com/rogerclarkmelbourne/ ... загрузчик
и http: // www.STM32duino.компонент Я проверил это на синей таблетке, и это отлично работает.
Я не тестировал на Maple Mini, но он должен работать, так как я использую другой эскиз для двоичных файлов Maple
Если это, кажется, сработает для всех, я помесчу эти комбинированные двоичные файлы в папку двоичных файлов, чтобы заменить файлы, которые содержат только загрузчик.
КСТАТИ. Я не могу вспомнить, имеют ли другие более крупные кленовые доски, есть различное оборудование отключения от Maple Mini, и в этом случае мне нужен другой эскиз для них, что не то, что я сделал в данный момент.
Но это ушло на меня достаточно долго, чтобы зайти так далеко, поэтому, если у более крупных кленовых досок есть проблема, я просто удалю комбинированный двоичный файл, и эти пользователи могут использовать загрузчик без эскиза
Mrburnette
Солнце 23 июля 2017 г. 15:00
[Rogerclark - Пн 19 июня 2017 г. 1:52] - Ребята
Проблема, которую мы переживаем снова и снова, заключается в том, что люди ожидают получить последовательное устройство, когда они сначала загружают загрузчик
<...>
История
Давным-давно форум был оказался от очень долгого Arduino.CC Thread от группы продвинутых пользователей Arduino; Указанная цель этого нового сайта - дать знающим пользователям UC ядро, совместимое с IDE 1.5x для поддержки STM32F103XX MAPLE MINI Недорогие китайские доски от Baite. Сказал, что Core был взломом от заброшенных усилий Leaflabs Core.
Идея состоит в том, что плата STM32F103 даст предыдущим пользователям AVR Arduino дешевое решение для расширения производительности и запасного руля, сохраняя при этом, как у Arduino'ish. В то время участники согласились с тем, что форум будет обращаться к продвинутым пользователям, поскольку 8-битный официальный официальный форум AVR Arduino был укомплектован и модерирован для новичков.
ИМО:
Новички должны начать с 8-битного Arduino Uno и изучать основные терминологии и процедуры и возможности и ограничения. Когда они познакомились с основы языка Arduino, загрузчиков, сериала, I2C, SPI и основной электроники, тогда у них есть основание для перемещения экосистемы и продуктивности с платами STM32F1XX.
Время перемещения от 8-битного Arduino к 32-битному STM32 будет зависеть от человека; Но с таким большим количеством интернет -материалов, доступного для Arduino atmega328p, сроки могут быть столь же короткими, как несколько недель отпуска. Соедините в некоторых проршенных видео на YouTube на Arduino и C/C ++, как это реализовано в экосистеме Arduino, и многие люди могут пролить ручку новичка через несколько месяцев. (Студенты на 300-400 или продвинутых классах, вероятно, имеют официальные классы, которые предоставляют необходимые основополагающие предпосылки.)
Я не думаю, что если мы предоставим истинную услугу, делая вещи надежными и дружелюбными для начинающих. У Роджера есть несколько отличных видео на YouTube, и есть вики, которая учитывается гораздо больше, чем коммерческий Maple Mini Product of Leaf Labs.
Много усилий может быть потрачено впустую на небольшой выгоду, когда мы выходим из курса и начинаем стремиться улучшить то, что работает правильно. ... Не говоря уже о том, чтобы сделать простой основной комплекс.
Мнение по Луча
AG123
Пн 24 июля 2017 г., 7:56 утра
У меня на самом деле не было AVR, я начал связываться с MCU в STM32 & очень счастлив таким,
Я думаю, что STM32F1 на самом деле является хорошим MCU, чтобы начать работу богатым, но начальная довольно крутая кривая обучения. Первоначальные дураки, казалось, что, как правило, связываются с этими кнопками «вечной загрузки» с Maple Mini и, возможно, устанавливают сам загрузчик для Bluepill
Для тех, кто действительно является «новичками» в мире MCU или даже STM32, они, вероятно, должны начать с Maple Mini, который имеет загрузчик, предварительно установленный поставщиком. Это, по -видимому, дело для досок Maple Mini от Baite & Олимекс. https: // www.Олимекс.com/products/duino/s ... E-Hardware. Я на самом деле начал с доски Olimex, которая находится на несколько премиум -класса против дешевой китайской MM и BP. Правление Olimex по -прежнему является хорошим значением, так как это STM32F103RB и что он соответствует заголовкам Arduino Uno, что делает его пригодным для использования с помощью щитов и упакована в дополнение к слоту для карт USD, отдельным LDO для аналога & Digital, на борту Lipo Charger
Но предварительно установленный загрузочный погрузчик означает, что я на самом деле начал без ST-Link, FT232 USB-сериал и т. Д., Я начал прямо устанавливая мигающий набросок через USB с оригинальным загрузчиком Maple, установленным Olimex. Я предполагаю, что это в значительной степени сократило первоначальную кривую обучения.
& Из всех вещей, которые я на самом деле использовал «Древний» *Maple IDE *, простой беззаботный, маленький след, работает прямо из коробки на Maple Mini & Правление Олимекс
Я думаю, что STM32F1 на самом деле является хорошим MCU, чтобы начать работу богатым, но начальная довольно крутая кривая обучения. Первоначальные дураки, казалось, что, как правило, связываются с этими кнопками «вечной загрузки» с Maple Mini и, возможно, устанавливают сам загрузчик для Bluepill
Для тех, кто действительно является «новичками» в мире MCU или даже STM32, они, вероятно, должны начать с Maple Mini, который имеет загрузчик, предварительно установленный поставщиком. Это, по -видимому, дело для досок Maple Mini от Baite & Олимекс. https: // www.Олимекс.com/products/duino/s ... E-Hardware. Я на самом деле начал с доски Olimex, которая находится на несколько премиум -класса против дешевой китайской MM и BP. Правление Olimex по -прежнему является хорошим значением, так как это STM32F103RB и что он соответствует заголовкам Arduino Uno, что делает его пригодным для использования с помощью щитов и упакована в дополнение к слоту для карт USD, отдельным LDO для аналога & Digital, на борту Lipo Charger
Но предварительно установленный загрузочный погрузчик означает, что я на самом деле начал без ST-Link, FT232 USB-сериал и т. Д., Я начал прямо устанавливая мигающий набросок через USB с оригинальным загрузчиком Maple, установленным Olimex. Я предполагаю, что это в значительной степени сократило первоначальную кривую обучения.
& Из всех вещей, которые я на самом деле использовал «Древний» *Maple IDE *, простой беззаботный, маленький след, работает прямо из коробки на Maple Mini & Правление Олимекс