Я пытаюсь использовать свой atmel ICE с platformIO и VS Code вместо Atmel Studio, так как это программное обеспечение вызывает боль, когда я хочу использовать Arduino.h с библиотеками.
Однако я не могу загрузить с помощью своего программиста. Я пробовал с 32-контактным ATmega328.
Сначала я использовал документацию PIO о том, как использовать с ним Atmel-ICE на этой странице: https://docs.platformio.org/en/latest/plus/debug-tools/atmel-ice.html
If you would like to use this tool for firmware uploading, please change upload
protocol:
[env:myenv]
platform = ...
board = ...
debug_tool = atmel-ice
upload_protocol = atmel-ice
Вот что я написал в своем файле:
[env:ATmega328P]
platform = atmelavr
board = ATmega328P
framework = arduino
upload_protocol = atmel-ice
И я получаю это сообщение, когда запускаю команду загрузки на PIO:
DATA: [ ] 0.4% (used 9 bytes from 2048 bytes)
PROGRAM: [ ] 1.4% (used 444 bytes from 32256 bytes)
Configuring upload protocol...
AVAILABLE: atmel-ice
CURRENT: upload_protocol = atmel-ice
Looking for upload port...
Error: Please specify `upload_port` for environment or use global `--upload-port` option.
For some development platforms it can be a USB flash drive (i.e. /media/<user>/<device name>)
*** [upload] Explicit exit, status 1
На данный момент я не уверен, что попробовать. Я попробовал пару вещей, описанных ниже, но не уверен, что иду по правильному пути. Программатор atmel ICE, по сравнению, например, с Arduino, не имеет связанного с ним номера USB-ПОРТА, поэтому я не знаю, как я должен указывать свой аргумент upload_port в моем файле .ini.
Некоторые параметры описаны в документации по платформеIO https://docs.platformio.org/en/latest/projectconf/section_env_upload.html, но я полностью потерялся. Мне кажется, что сообщение, которое я получаю: для некоторых платформ разработки это может быть USB-накопитель (например, / media //), который может быть хорошей подсказкой. Любая идея, что мне следует изменить в моем файле .ini, чтобы мой atmel ICE работал? Благодарность!
Другие вещи, которые я пробовал: я прочитал сообщение (извините, я больше не могу найти ссылку), в котором добавляется
upload_port = usb
может решить проблему. При добавлении этой строки в свой platformio.ini я получаю другое сообщение об ошибке:
avrdude: Can't find programmer id "atmel-ice"
Valid programmers are:
2232HIO = FT2232H based generic programmer
4232h = FT4232H based generic programmer
arduino = Arduino
И список продолжается..
Я искал и нашел этот пост с тем же сообщением об ошибке !: https://community.platformio.org/t/atmega-328-internal-8mhz-oscillator-atmel-ice-upload-troubles/10416
Решением здесь было добавить
upload_flags = -e
Но для меня это ничего не изменило.
Он также упомянул, что внес изменения в файл 328p8m.json, которым в моем случае будет ATmega328P.json. Я даже не знаю, где это найти. Было бы это актуально?