Я пытаюсь использовать свой Atmel ICE с платформойIO и 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 PORT, связанного с ним, поэтому я не знаю, как мне указать мой аргумент upload_port в моем файле .ini.
Некоторые параметры описаны в документации к платформеIO https://docs.platformio.org/en/latest/projectconf/section_env_upload.html, но я полностью растерялся. Я чувствую, что получаю сообщение: для некоторых платформ разработки это может быть USB флэшка sh (т.е. / 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. Я даже не знаю, где его найти. Это будет актуально?