jcxz 243 15 января, 2020 Опубликовано 15 января, 2020 · Жалоба 2 часа назад, haker_fox сказал: Ибо куча постов в стиле "видновс .... и пользователи виндовс..." запомнилась, а вот полезная информация потонула за тоннами гневных изречений... жаль. Есть такая секта "Свидетелей Линуха". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 15 января, 2020 Опубликовано 15 января, 2020 · Жалоба Им можно, их "праотцы" Це придумали ;-) такштааа... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 2 15 января, 2020 Опубликовано 15 января, 2020 (изменено) · Жалоба Коль уж мы тут все равно в офтоп скатились, поделюсь своим свежим. Надоело вручную менять цель (debug/release), а cmake для STM32 использовать как-то уж чересчур... Вот и сделал такое чудовище: Spoiler # make debug adds -DEBUG -Werror # make ADDEFS="additional defs" BINARY = chrono BOOTPORT ?= /dev/ttyUSB0 BOOTSPEED ?= 115200 # MCU FAMILY FAMILY ?= F1 # MCU code MCU ?= F103x8 # density (stm32f10x.h, lines 70-84) DENSITY ?= MD # change this linking script depending on particular MCU model, LDSCRIPT ?= stm32F103xB.ld DEFS = ${ADDEFS} -DVERSION=\"0.1.0\" TARGET := RELEASE # proxy GPS output over USART1 #DEFS += -DUSART1PROXY FP_FLAGS ?= -msoft-float -mfloat-abi=soft ASM_FLAGS ?= -mthumb -mcpu=cortex-m3 -mfix-cortex-m3-ldrd ARCH_FLAGS = $(ASM_FLAGS) $(FP_FLAGS) ############################################################################### # Executables #PREFIX ?= arm-none-eabi # gcc from arm web site PREFIX ?= /opt/bin/arm-none-eabi TOOLCHLIB ?= /opt/arm-none-eabi/lib RM := rm -f RMDIR := rmdir CC := $(PREFIX)-gcc # don't replace ld with gcc: the binary size would be much greater!! LD := $(PREFIX)-ld AR := $(PREFIX)-ar AS := $(PREFIX)-as SIZE := $(PREFIX)-size OBJCOPY := $(PREFIX)-objcopy OBJDUMP := $(PREFIX)-objdump GDB := $(PREFIX)-gdb STFLASH := $(shell which st-flash) STBOOT := $(shell which stm32flash) DFUUTIL := $(shell which dfu-util) ############################################################################### # Source files OBJDIR = mk SRC := $(wildcard *.c) OBJS := $(addprefix $(OBJDIR)/, $(SRC:%.c=%.o)) STARTUP = $(OBJDIR)/startup.o OBJS += $(STARTUP) # dependencies: we need them to recompile files if their headers-dependencies changed DEPS := $(OBJS:.o=.d) INC_DIR ?= ../inc INCLUDE := -I$(INC_DIR)/Fx -I$(INC_DIR)/cm LIB_DIR := $(INC_DIR)/ld ############################################################################### # C flags CFLAGS += -O2 -g -D__thumb2__=1 -MD CFLAGS += -Wall -Wextra -Wshadow CFLAGS += -fno-common -ffunction-sections -fdata-sections -fno-stack-protector CFLAGS += $(ARCH_FLAGS) ############################################################################### # Linker flags LDFLAGS += --static -nostartfiles -nostdlibs LDFLAGS += -L$(LIB_DIR) -L$(TOOLCHLIB) LDFLAGS += -T$(LDSCRIPT) ############################################################################### # Used libraries LDLIBS += -lc $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) DEFS += -DSTM32$(FAMILY) -DSTM32$(MCU) -DSTM32F10X_$(DENSITY) ELF := $(OBJDIR)/$(BINARY).elf LIST := $(OBJDIR)/$(BINARY).list BIN := $(BINARY).bin HEX := $(BINARY).hex all: $(OBJDIR)/RELEASE all: bin list size release: all debug: CFLAGS += -DEBUG -Werror debug: TARGET := DEBUG debug: $(OBJDIR)/DEBUG debug: bin list size $(OBJDIR)/DEBUG: make clean $(OBJDIR)/RELEASE: make clean elf: $(ELF) bin: $(BIN) hex: $(HEX) list: $(LIST) ifneq ($(MAKECMDGOALS),clean) -include $(DEPS) endif $(OBJDIR): mkdir $(OBJDIR) $(STARTUP): $(INC_DIR)/startup/vector.c $(CC) $(CFLAGS) $(DEFS) $(INCLUDE) -o $@ -c $< $(OBJDIR)/%.o: %.c @echo " CC $<" $(CC) $(CFLAGS) $(DEFS) $(INCLUDE) -o $@ -c $< $(BIN): $(ELF) @echo "TARGET: $(TARGET)" @> $(OBJDIR)/$(TARGET) @echo " OBJCOPY $(BIN)" $(OBJCOPY) -Obinary $(ELF) $(BIN) $(HEX): $(ELF) @echo " OBJCOPY $(HEX)" $(OBJCOPY) -Oihex $(ELF) $(HEX) $(LIST): $(ELF) @echo " OBJDUMP $(LIST)" $(OBJDUMP) -S $(ELF) > $(LIST) $(ELF): $(OBJDIR) $(OBJS) $(LDSCRIPT) @echo " LD $(ELF)" $(LD) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $(ELF) size: $(ELF) $(SIZE) $(ELF) clean: @echo " CLEAN" @$(RM) $(HEX) @$(RM) -rf $(OBJDIR) 2>/dev/null || true flash: $(BIN) @echo " FLASH $(BIN)" $(STFLASH) --reset write $(BIN) 0x8000000 boot: $(BIN) @echo " LOAD $(BIN) through bootloader" $(STBOOT) -b$(BOOTSPEED) $(BOOTPORT) -w $(BIN) dfuboot: $(BIN) @echo " LOAD $(BIN) THROUGH DFU" $(DFUUTIL) -a0 -D $(BIN) -s 0x08000000 .PHONY: clean flash boot Изменено 15 января, 2020 пользователем Eddy_Em Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 15 января, 2020 Опубликовано 15 января, 2020 · Жалоба Какая среда? Чем плох встроенный в среду вариант? Например, в keil так: Вполне удобно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 2 15 января, 2020 Опубликовано 15 января, 2020 (изменено) · Жалоба 2 minutes ago, Forger said: Чем плох встроенный в среду вариант? Тем, что его нет, очевидно! Мне лень заморачиваться с cmake. Да и все равно я собираю в командной строке, а не клавосочетанием в IDE! В отдельном терминале приятней выхлоп смотреть, нежели в маленьком окошке, которое IDE предоставляет. Изменено 15 января, 2020 пользователем Eddy_Em Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 15 января, 2020 Опубликовано 15 января, 2020 · Жалоба 2 minutes ago, Eddy_Em said: нежели в маленьком окошке, которое IDE предоставляет. Это зависит от размера мониторов и их количества. Если моник один, то мне очень удобен широкоформатный, привык и не могу работать на обычных. Никаких крохотных окон. Мне лично гораздо удобнее исправлять ошибки, щелкая на них и среда открывает соотв. файл в соотв. месте. Но вообще - это все вкусовщина )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 2 15 января, 2020 Опубликовано 15 января, 2020 · Жалоба Вкусовщина, конечно. Я вообще в случае, когда надо удаленно немножко кода поправить, запускаю mcedit или nano, чтобы не париться с монтированием по sshfs и запуском IDE… Да и qt-creator в качестве IDE я совсем недавно начал использовать. До этого много лет на geany сидел, а он как бы и не IDE вовсе… Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 15 января, 2020 Опубликовано 15 января, 2020 · Жалоба 7 minutes ago, Eddy_Em said: Да и qt-creator в качестве IDE я совсем недавно начал использовать. До этого много лет на geany сидел, а он как бы и не IDE вовсе… Ну надо же, а я так на geany и сижу (причем специально на каком-то древнем, ибо вид свежего меня оскорбляет). А qt-creator тормознут... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 16 января, 2020 Опубликовано 16 января, 2020 · Жалоба On 1/12/2020 at 7:52 PM, haker_fox said: Уже не впервые слышу подобные хвалебные речи в адрес латекса... Но как это оценить? Может быть подскажете, где можно глянуть на пример одной и той же презентации, выполненной в разных инструментах? IEEE, SPIE предлагают одновременно шаблоны для статей в формате MS Word и стилевые файлы для LaTeX. Там же есть примеры с выходными файлами в формате pdf. При наличии математических формул (не очень простых) явно LaTeX выигрывает. Некоторые издательства (например) и конференции (ещё пример) требуют оформление в LaTeX'е. Сфер примения много. Сделать оформление не по правилам используя MS Word (LibreOffice) значительно проще (стиль абзаца использовали неверно), чем используя LaTeX (Вы только смысловую часть делаете, оформление текста не Ваше дело). Некоторым не нравится, что нет явного WYSIWYG (но да, есть специальные среды с этим режимом). LaTeX (TeX) является кроссплатформенным (Win, Mac, Linux, Dos) и поэтому перенос файлов не представляет проблемы. Quote И прочитав пару-тройку раз книжку "Все про ТеХ" Дональда нашего Кнута, можно самому всякие штуки крутые выворачивать. Не читайте эту книгу не познакомившись с LaTeX (TeX) по другим книгам! Её действительно надо читать не раз, Eddy_Em здесь абсолютно прав. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ivanyshka 0 19 января, 2020 Опубликовано 19 января, 2020 · Жалоба Извиняюсь, что поздно написал, информация на этом форуме оказалась весьма полезной! Огромное спасибо хочу Сказать https://electronix.ru/forum/index.php?app=core&module=members&controller=profile&id=4140 ( Владиславу) за помощь в освоении создания проекта в Keil на assembler! Я получил доп баллы в рейтинг , а затем смог сдать экзамен на отлично! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться