STM32 Linux, Makefile, прошивка средствами ST-LINK, DFU

Для тех, кто программирует в Linux может быть не актуально, кто изучает возможно пригодится.
Сюда буду выкладывать примеры, как это делается в среде Linux, начну с ST-LINK.

Makefile дополним секцией с командами программирования:

#*************************************
# VIA ST-LINK
#*************************************

flash: all
	st-flash --reset write build/$(TARGET).bin 0x8000000
	
erase:
	st-flash --reset erase
	
uart:
	screen /dev/stlinkv2_2

Для программирования в режиме DFU:

#*************************************
# VIA DFU-UTIL
#*************************************

flashdfu: all

	dfu-util -a 0 -U $(TARGET)_old.bin
	dfu-util -a 0 --dfuse-address 0x8000000 -D build/$(TARGET).bin

Те, кто выкладывает примеры - хорошо разбираются в том что выкладывают. Ты уверен, что без «воды», отсылок к непонятным книгам (вообще не имеющим отношения ни к программированию, ни к данному форуму) и так далее САМ сможешь ответить на них?

Я почему спрашиваю - у меня вопрос уже был, но ты на него так и не ответил. Повторю его сразу: Почему ты бинарный файл (его занятое место в файловой системе линукс) приравниваешь тому же объему, что будет занято во флэш микроконтроллера?

на этот вопрос достаточно просто ответить сравнив бинарник с файлом считанным из флэша ардуино, линукс считает размер файла побайтно

Значит ответ на мой вопрос:

И ответ - нет.

MC показывает размер файла, а не занятое в файловой системе место, ты хоть знаешь какая у меня файловая система?

1 лайк

поясни, что сказать хотел?

BIN Reflects the data exactly as it is in FLASH, at the chosen address.

я думаю @BOOM не об этом спрашивал, думаю он имел ввиду сколько памяти bin файл занимает в файловой системе, хотя, что он хотел спросить знает только он, хотя твоя ссылка лишний раз подвердила что размер bin файла равен размеру занимаемому им во флэше, да выше я скрины прикладывал, их ALEXANDER восстановил после его жалобы, мой гнев зачистив )))

Давайте только попытаемся избежать путаницы и не отождествлять размер файла месту, занимаемому им в файловой системе. В файловой системе он почти всегда будет занимать больше места. Например, файл длиной 1 байт может занимать в файловой системе от 512 до 65536 байт. В частности, часть файла может располагаться в каталоге, а часть - в теле файла. Все зависит от файловой системы.

отож, есть жеж SquashFS

Файловые системы со сжатием, а также надстройки над файловыми системами со сжатием известны уже не один десяток лет. Только ведь речь не о них, а о том, что размер файла и место, занимаемое им в файловой системе, - вещи совершенно разные и, кроме того, зависящие от самой файловой системы.

1 лайк

Для STM32F103 табличка распиновки serial с выделением пинов, толерантным к 5 вольтам:

UART Pinout

Signal Direction UART1 UART2 UART3
RX IN PA10 PA3 PB11
TX OUT PA9 PA2 PB10
RTS OUT PA15 PA1 PB14
CTS IN N/A PA0 PB13
DSR IN PB7 PB4 PB6
DTR OUT PA4 PA5 PA6
DCD IN PB15 PB8 PB9
RI IN PB3 PB12 PA8
TXA OUT PB0 PB1 PA7

Note: 5 V tolerant input pins are shown in bold.

Для решивших освоить контроллеры STM32 весьма полезной будет

книга Кармина Новиелло -Освоение STM32 в переводе Дмитрия Карасёва

откуда табличка? Сплошные ошибки
У F103 все пины толерантны к 5в, за исключением входов ADC
Так что в твоей табличке например пины PB10 PB14 должны быть болдом, а PB0 PB1 - как раз нет

Тролишь? там жеж ссылка на источник есть

В этом “источнике” просто эта же табличка без каких-либо ссылок на документацию. я не знаю что это за перец с одним единственным проектом и стоит ли ему верить.
Стандартная картинка распиновки блюпила с ним несогласна

ты жеж знаешь - верить никому нельзя, мне можно )))
PS глядя на код проникаешься доверием, разве нет?

понимаешь, в правиле “все пины толерантны, кроме ADC” - есть логика. А в его таблице логике не видно.
Раз нет логики, должно быть какое-то более значимое обьяснение, чем его личный авторитет.