Comments 15
Связка Qt Creator + GCC + OpenOCD прекрасно работает под Windows. И не нужно использовать никакие виртуальные машины
Автор упомянул автоматизацию прошивки в продакшене. Это явно лучше делать на Linux. Работать в Linux во многих аспектах в разы комфортнее.
Интересно, как повлияет на поставки ARM чипов от Atmel недавняя новость о продаже Atmel Microchip?
Мы много чего на них делаем, вопрос острый.
никак. армы — растущий бизнес у Атмела. Никто его не будить рубить. Да и у Майкрочипа нет армов, а в современных реалиях это серьезный недостаток.
а вот это точно нет — AVR огромный бизнес. Зачем убивать легкие деньги. Производи чипы и грузи их, всё что требуется от Майкрочипа.
Такое встречается довольно часто, когда на рынке есть несколько конкурирующих продуктов, но на самом деле они принадлежат одному концерну. Яркий пример VW AG, продает автомобили под брендами VW, Audi, Porsche, SEAT и т.д. Или например электроинструменты AEG, Ryobi и Milwaukee, как бы конкуренты, но все принадлежат одной Techtronic Industries.
ну тут несколько иначе: бренд Атмел умрет, как, например, стало с Dallas. Но их продукты останутся.
Подскажите, связка jlink+openOCD может работать по интерфейсу SWD? или только классический JTAG?

Для nrf51 точно работает, т.к. там без вариантов. Например:


source [find interface/jlink.cfg]
transport select hla_swd
set WORKAREASIZE 0x4000
source [find target/nrf51.cfg]
Советую автору не пользоваться «make install» так как потом могут возникнуть проблемы с удалением этой программы. Лучше создавать свой пакет используя:
./configure
make
sudo checkinstall
а потом уже устанавливать его.

А также что бы не вводить каждый раз длинную команду при программировании или старинии памяти — можно воспользоваться утилитой make. Ниже я привожу фрагмент из makefile для STM32F4.
фрагмент из makefile для STM32F4
FLASHER = openocd

OPENOCD_PARAMS = -c "source [find interface/stlink-v2.cfg]"
OPENOCD_PARAMS += -c "transport select hla_swd"
OPENOCD_PARAMS += -c "source [find target/stm32f4x.cfg]"

OPENOCD_PARAMS_LOAD = $(OPENOCD_PARAMS)
OPENOCD_PARAMS_LOAD += -c "program $(ELF)"
OPENOCD_PARAMS_LOAD += -c "verify_image $(ELF)"
OPENOCD_PARAMS_LOAD += -c "reset run"
OPENOCD_PARAMS_LOAD += -c "exit"

OPENOCD_PARAMS_RESET = $(OPENOCD_PARAMS)
OPENOCD_PARAMS_RESET += -c "reset run"
OPENOCD_PARAMS_RESET += -c "shutdown"
OPENOCD_PARAMS_RESET += -c "exit"

OPENOCD_PARAMS_DEBUG = $(OPENOCD_PARAMS)
OPENOCD_PARAMS_DEBUG += -c "gdb_port 3333"
OPENOCD_PARAMS_DEBUG += -c "debug_level 2"
OPENOCD_PARAMS_DEBUG += -c "set WORKAREASIZE 0x2000"
OPENOCD_PARAMS_DEBUG += -c "reset_config srst_only"

.PHONY: program reset debug


program:
	@echo - programming with $(FLASHER)...
ifeq ($(FLASHER),openocd)
	$(FLASHER) $(OPENOCD_PARAMS_LOAD)
endif

reset:
	@echo - resetting device...
ifeq ($(FLASHER),openocd)
	$(FLASHER) $(OPENOCD_PARAMS_RESET)
endif

debug:
	@echo - openocd server is running...
	$(FLASHER) $(OPENOCD_PARAMS_DEBUG)


После чего досточно просто вводить в командную строку: «make program» или «make debug» или что вы сами захотите.
Only those users with full accounts are able to leave comments. Log in, please.
Information
Founded

1 October 1992

Location

Россия

Website

r-ng.ru

Employees

31–50 employees

Registered

21 August 2015