клавиатура
Чт, 01 июня 2017 г., 4:46 утра
При попытке через Arduino IDE используется Arduino_stm32-Master (29 мая 2017 г. Commit 920b57a) Чтобы загрузить эскиз для STM32F103C Generic Method загрузки STM32UINO загрузчик. Следующие сообщения Arduino отображаются:
Sketch uses 14228 bytes (10%) of program storage space. Maximum is 131072 bytes.
Global variables use 2816 bytes of dynamic memory.
/home/lubuntu/Downloads/arduino-1.8.2/hardware/Arduino_STM32/tools/linux/maple_upload: line 29: /home/lubuntu/Downloads/arduino-1.8.2/hardware/Arduino_STM32/tools/linux/upload-reset: No such file or directory
dfu-util 0.7
Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2012 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to [email protected]
No DFU capable USB device found
Filter on vendor = 0x1eaf product = 0x0003
Waiting for /dev/ttyACM1 serial...Done
AG123
Чт, 01 июня 2017 г. 14:47
Загрузить сброс Linux64 есть
https: // github.com/rogerclarkmelbourne/ ... LS/Linux64
На самом деле, даже если загрузка-резит составляет 32 бит, он все равно должен работать. Однако могут быть некоторые зависимости
https: // github.com/rogerclarkmelbourne/ ... LS/Linux64
На самом деле, даже если загрузка-резит составляет 32 бит, он все равно должен работать. Однако могут быть некоторые зависимости
Arduino_STM32/tools/linux64> ldd upload-reset
linux-gate.so.1 (0xf76f6000)
libc.so.6 => /lib/libc.so.6 (0xf74fb000)
/lib/ld-linux.so.2 (0xf76f9000)
клавиатура
Чт, 01 июня 2017 г. 15:00
@AG123
Проблема не в том, если загрузка-резит находится в каталоге Linux64. Это то, что загрузка-резец-это 32-битный бинар в каталоге для 64-битных элементов, из которых все остальные двоичные файлы на самом деле 64-битные двоичные файлы. Если кто -то хочет использовать 32 -битный двоичный, то можно использовать двоичные файлы в каталоге Linux, которые составляют 32 -битные двоичные файлы. Почему 32 -битный двоичный файл был в 32 и 64 -битных двоичных файлах? Цель 64 -битного каталога - иметь 64 -битные двоичные файлы.
С уважением,
Джон Л. Мужчины
Торонто, Онтарио
Канада
01 июня 2017 г. 15:00 EDT
Проблема не в том, если загрузка-резит находится в каталоге Linux64. Это то, что загрузка-резец-это 32-битный бинар в каталоге для 64-битных элементов, из которых все остальные двоичные файлы на самом деле 64-битные двоичные файлы. Если кто -то хочет использовать 32 -битный двоичный, то можно использовать двоичные файлы в каталоге Linux, которые составляют 32 -битные двоичные файлы. Почему 32 -битный двоичный файл был в 32 и 64 -битных двоичных файлах? Цель 64 -битного каталога - иметь 64 -битные двоичные файлы.
С уважением,
Джон Л. Мужчины
Торонто, Онтарио
Канада
01 июня 2017 г. 15:00 EDT
AG123
Чт, 01 июня 2017 г. 15:01
Я думаю, что версия на 64 бит еще не составлена, следовательно, 32 -битная версия скопирована в каталог 64 бит
Он все еще должен работать, пока в системе доступны 32 -битные динамические библиотеки ссылок.
В качестве альтернативы вы можете скомпилировать его и положить копию в свой локальный каталог Linux64.
https: // github.com/rogerclarkmelbourne/ ... нагрузка
Он все еще должен работать, пока в системе доступны 32 -битные динамические библиотеки ссылок.
В качестве альтернативы вы можете скомпилировать его и положить копию в свой локальный каталог Linux64.
https: // github.com/rogerclarkmelbourne/ ... нагрузка
AG123
Чт, 01 июня 2017 г. 15:14
Я только что собрал его и загрузил здесь
gcc -o upload-reset upload-reset.c
AG123
Чт, 01 июня 2017 г. 15:39
Для других, которые используют Linux, протестируйте его, так как есть вероятность, что эти библиотеки динамических ссылок LIBC и т. Д. В вашей системе разные.
Тем не менее, динамическое связывание позволяет ему работать над любой системой с соответствующими версиями DLL и, возможно, предотвращает «жесткую ошибку» с вызовами в ядро.
Прокомментируйте в этой теме, работает ли это для вас или нет
Тем не менее, динамическое связывание позволяет ему работать над любой системой с соответствующими версиями DLL и, возможно, предотвращает «жесткую ошибку» с вызовами в ядро.
Прокомментируйте в этой теме, работает ли это для вас или нет
Рик Кимбалл
Чт, 01 июня 2017 г., 16:03
Клавиатура написала:Проблема не в том, если загрузка-резит находится в каталоге Linux64. Это то, что загрузка-резец-это 32-битный бинар в каталоге для 64-битных элементов, из которых все остальные двоичные файлы на самом деле 64-битные двоичные файлы. Если кто -то хочет использовать 32 -битный двоичный, то можно использовать двоичные файлы в каталоге Linux, которые составляют 32 -битные двоичные файлы. Почему 32 -битный двоичный файл был в 32 и 64 -битных двоичных файлах? Цель 64 -битного каталога - иметь 64 -битные двоичные файлы.
клавиатура
Чт, 01 июня 2017 г., 16:10
Рик Кимбалл написал:Клавиатура написала:Проблема не в том, если загрузка-резит находится в каталоге Linux64. Это то, что загрузка-резец-это 32-битный бинар в каталоге для 64-битных элементов, из которых все остальные двоичные файлы на самом деле 64-битные двоичные файлы. Если кто -то хочет использовать 32 -битный двоичный, то можно использовать двоичные файлы в каталоге Linux, которые составляют 32 -битные двоичные файлы. Почему 32 -битный двоичный файл был в 32 и 64 -битных двоичных файлах? Цель 64 -битного каталога - иметь 64 -битные двоичные файлы.
AG123
Чт, 01 июня 2017 г., 16:19
По какой-то причине, что я не совсем понимаю, что фиксированный резит для загрузки, кажется, ухудшается «хуже»
Ранее это с 32-битным загрузкой 32-бил
Теперь с фиксированным 64 битами загрузки-резита, сброс казался глупым
Кажется, это не работает с определенными установленными эскизами
я.эн. Это, вероятно, не имеет ничего общего с тем, является ли это 32 бита или 64 бита загрузки
скорее сброс в самом эскизе не работает постоянно. Казалось, это зависит от эскиза, установленного на устройстве
Ранее это с 32-битным загрузкой 32-бил
Теперь с фиксированным 64 битами загрузки-резита, сброс казался глупым
Кажется, это не работает с определенными установленными эскизами
я.эн. Это, вероятно, не имеет ничего общего с тем, является ли это 32 бита или 64 бита загрузки
скорее сброс в самом эскизе не работает постоянно. Казалось, это зависит от эскиза, установленного на устройстве
клавиатура
Чт, 01 июня 2017 г., 16:42
@ AG123
Бинарник 64 бит. Мне показалось бы лучше, чем статическая связь, двойные, предназначенные для размещения диапазонов распределений и библиотек распределения, которые могут измениться. В таком месте моего собственного кода, который необходимо охватывать различные распределения и выбросы, которые уменьшают переменные, связанные с динамическими библиотеками с различными соглашениями об именах и/или бинарных интерфейсах на уровне библиотеки.
Если кто-то делает «upload-reset /dev /maple» из CLI за пределами Arduino IDE, какое ожидаемое поведение? Например, есть какие -либо визуальные показания?
Я сделал как внутри, так и снаружи IDE. Сначала вне IDE. Я задал вопрос выше, так как, кажется, смешанное поведение.
С уважением,
Джон Л. Мужчины
Торонто, Онтарио
Канада
01 июня 2017 г. 12:41 EDT
01 июня 2017 г. 13:31 EDT Small, но важная коррекция опечатки JLM
П.С. OPPS предыдущие посты сегодня я смешал, заявив EDT, когда был UTC. Извини. JLM
Бинарник 64 бит. Мне показалось бы лучше, чем статическая связь, двойные, предназначенные для размещения диапазонов распределений и библиотек распределения, которые могут измениться. В таком месте моего собственного кода, который необходимо охватывать различные распределения и выбросы, которые уменьшают переменные, связанные с динамическими библиотеками с различными соглашениями об именах и/или бинарных интерфейсах на уровне библиотеки.
Если кто-то делает «upload-reset /dev /maple» из CLI за пределами Arduino IDE, какое ожидаемое поведение? Например, есть какие -либо визуальные показания?
Я сделал как внутри, так и снаружи IDE. Сначала вне IDE. Я задал вопрос выше, так как, кажется, смешанное поведение.
С уважением,
Джон Л. Мужчины
Торонто, Онтарио
Канада
01 июня 2017 г. 12:41 EDT
01 июня 2017 г. 13:31 EDT Small, но важная коррекция опечатки JLM
П.С. OPPS предыдущие посты сегодня я смешал, заявив EDT, когда был UTC. Извини. JLM
AG123
Чт, 01 июня 2017 г., 17:17
Я бы предпочел не выполнять статическую связь, поскольку интерфейс между LIBC или несколькими библиотеками динамических ссылок с ядром Linux на самом деле отличается между разными версиями ядра. Выполнение статической ссылки может привести к тому, что она прерван / ошибка на любой другой платформе, интерфейс Syscall отличается, я думаю, что между ядрами V3 и V4 существует довольно много изменений. и статическое связывание приведет к тому, что двоичный файл V4 провалится на ядре V3 или двоичном файле V3, чтобы потерпеть неудачу на ядре V4 и т. Д.
В то время как для динамического связывания, это просто символы, и до тех пор, пока в системе находится правильная версия (обычно такая же или более поздняя версия), она просто работает, она просто работает. В то время как LIBC имеет дело с интерфейсом между собой и ядром, который может отличаться в разных системах
Обратите внимание, что LIBC и ядро имеют плотную связь, и что LIBC и ядро обычно строят довольно сложный процесс «песочницы», чтобы он заставлял конкретный LIBC работать с определенным ядром, и все другие приложения могут быть динамически связаны с LIBC (LIBC ( Обычно в основной версии). И те же самые приложения будут работать на другой версии платформы / дистрибуции / ядра, если такая же версия Libc DLL существует
https: // sourceware.org/glibc/wiki/тестирование/сборки
--------
Загрузка-резит отправляет «импульс DTR» на USB-сериал, а затем отправляет текст «1EAF»
http: // docs.Leaflabs.com/static.Leaflab ... 3-rev5-dfu IDE выполняет этот сброс автоматически, выполняя специальную последовательность изменений в серийном порту USB:
- Pulse DTR (высокий, а затем низкий, так что вы’VE создал отрицательный край)
- Писать “1 -е” в ASCII над серийной трубой.
Это приведет к сбросу Maple. Только первые 4 байта после отрицательного края DTR проверяются на эту команду, так что она’Важно вы фактически создаете негативное преимущество, а не просто гарантировать, что DTR является низким. Следовательно, бег
В то время как для динамического связывания, это просто символы, и до тех пор, пока в системе находится правильная версия (обычно такая же или более поздняя версия), она просто работает, она просто работает. В то время как LIBC имеет дело с интерфейсом между собой и ядром, который может отличаться в разных системах
Обратите внимание, что LIBC и ядро имеют плотную связь, и что LIBC и ядро обычно строят довольно сложный процесс «песочницы», чтобы он заставлял конкретный LIBC работать с определенным ядром, и все другие приложения могут быть динамически связаны с LIBC (LIBC ( Обычно в основной версии). И те же самые приложения будут работать на другой версии платформы / дистрибуции / ядра, если такая же версия Libc DLL существует
https: // sourceware.org/glibc/wiki/тестирование/сборки
--------
Загрузка-резит отправляет «импульс DTR» на USB-сериал, а затем отправляет текст «1EAF»
http: // docs.Leaflabs.com/static.Leaflab ... 3-rev5-dfu IDE выполняет этот сброс автоматически, выполняя специальную последовательность изменений в серийном порту USB:
- Pulse DTR (высокий, а затем низкий, так что вы’VE создал отрицательный край)
- Писать “1 -е” в ASCII над серийной трубой.
Это приведет к сбросу Maple. Только первые 4 байта после отрицательного края DTR проверяются на эту команду, так что она’Важно вы фактически создаете негативное преимущество, а не просто гарантировать, что DTR является низким. Следовательно, бег
>./upload-reset /dev/maple
AG123
Чт, 01 июня 2017 г., 19:51
Если вы ищете решение, в ядре Libmaple:
https: // github.com/rogerclarkmelbourne/ ... л.CPP#2297
https: // github.com/rogerclarkmelbourne/ ... л.CPP#2297
#ifdef SERIAL_USB
// Got the magic sequence -> reset, presumably into the bootloader.
// Return address is wait_reset, but we must set the thumb bit.
uintptr_t target = (uintptr_t)wait_reset | 0x1;
asm volatile("mov r0, %[stack_top] \n\t" // Reset stack
"mov sp, r0 \n\t"
"mov r0, #1 \n\t"
"mov r1, %[target_addr] \n\t"
"mov r2, %[cpsr] \n\t"
клавиатура
Чт, 01 июня 2017 г., 21:12
AG123,
Я передам динамическую и статическую связь, как вы знаете мои причины, и я знаю, почему поставщики статическая ссылка код ссылки.
Я спросил, чего ожидать, когда вы делаете «reset-reset /dev /maple» от CLI за пределами Arduino IDE, потому что у меня было смешанное поведение.
1) Впервые сделал это через CLI, и LED стал твердым.
2) После нажатия кнопки «Сбросить» на плате UC нет светодиодного света.
3) через Arduino Post (2) не очень хорошо и не светодиод.
4) После кнопки «Сбросить» на UC и USB Power Cycle IDE не было успешным и, по моему мнению, отличается от того, что требует новой темы для этой уникальной проблевой,
Загрузочный резит теперь работает в Linux64, но, по-видимому, есть и другие проблемы, которые нуждаются в новой теме.
Где найти источник для загрузки?
С уважением,
Джон Л. Мужчины
Торонто, Онтарио
Канада
01 июня 2017 г. 16: 36/17: 11
Я передам динамическую и статическую связь, как вы знаете мои причины, и я знаю, почему поставщики статическая ссылка код ссылки.
Я спросил, чего ожидать, когда вы делаете «reset-reset /dev /maple» от CLI за пределами Arduino IDE, потому что у меня было смешанное поведение.
1) Впервые сделал это через CLI, и LED стал твердым.
2) После нажатия кнопки «Сбросить» на плате UC нет светодиодного света.
3) через Arduino Post (2) не очень хорошо и не светодиод.
4) После кнопки «Сбросить» на UC и USB Power Cycle IDE не было успешным и, по моему мнению, отличается от того, что требует новой темы для этой уникальной проблевой,
Загрузочный резит теперь работает в Linux64, но, по-видимому, есть и другие проблемы, которые нуждаются в новой теме.
Где найти источник для загрузки?
С уважением,
Джон Л. Мужчины
Торонто, Онтарио
Канада
01 июня 2017 г. 16: 36/17: 11
AG123
Чт, 01 июня 2017 г., 22:12
Клавиатура написала:
Где найти источник для загрузки?