ATmega328 and PlatformIO - no Arduino!
Вставка
- Опубліковано 28 сер 2024
- Should I abandon Microchip (Atmel) Studio for programming AVR microcontrollers?
PlatformIO, an extension for VSCode, allows not only to program Arduino code, but also plain avr-gcc including the upload with an USBasp programmer.
A student of mine showed me how to configure platformio and I had to find out that the avrdude which comes with platformio is somewhat limited in its functionality.
The necessary changes to the project's platformio.ini which I used in the video are:
[env:ATmega328P]
platform = atmelavr
board = ATmega328P
board_build.f_cpu = 1000000UL
upload_protocol = custom
upload_flags = -pm328p
-Pusb
-B4
-cusbasp
upload_command = "C:\Program Files (x86)\AVRDUDESS\avrdude.exe" $UPLOAD_FLAGS -U flash:w:$SOURCE:i
I couldn't figure out why PlatformIO and AVRdude weren't playing nice with each other, I was just about done trying when I found this video.
Good explanations and very useful information!
Arduino framework increases RAM usage a lot and I don't like cpp files.
This is exactly what I was looking for, hopefully I'll be able to compile it into a much smaller size
Thank you so much!! Had so much problem with microchip studio so I really needed this😁
Tack Uwe!! du är bäst!!!
Thanks it was much needed , was searching for the same everywhere , very well explained.
Thanks a lot, your video saves a lot of my time. I am just switching from Arduino IDE to PlatformIO.
worked like a charm in Ubuntu, thanks!
With the same tweaks or out of the box?
"I know I write code, I don't need comment" 😂Thanx for the tutorial!
Hey sir GREAT video! Btw what is the programmer you use to flash the chip? I would like to find an alternative to the expensive Atmel Ice
I have my own construction based on Thomas Fischl's USBasp which is open source. There a lot of commercial clones of the USBasp available from Aliexpress, eBay etc. They cost somewhere between 3$ and 10$
thanks so much , can you help me !! how can i set linker options like (-wl,-u,vfprintf) to support floating inside platormio using vscode
I haven't tried it yet, but I am just starting again for this autumn now with my students, so I might soon have a chance to explore it more... But essentially you should be able to add build_flags in platformio.ini
docs.platformio.org/en/latest/projectconf/section_env_build.html#projectconf-build-flags
@@uwezimmermann5427 thanks so much
4:24 - "board_build.f_cpu" is part of the AVR's SDK syntax?
it's part of the PlatformIO configuration syntax, but essentially it sets the F_CPU macro in gcc.
Thank you for good explanations. I wonder whether I can use simulate this led blinking under platformio? (I use linux.)
It is very difficult to realistically simulate microcontroller code. The microcontroller is supposed to react to events from the outside in realtime...
There are emulation/simulation tolls around, but as far as I know none is integrated into PlatformIO.
@@uwezimmermann5427 Thank you
Can you please tell me how program AT89S52 using platformio in linux without kiel
Sorry, no, I have no experience with x52-microcontrollers. Everything is different from the AVR-family.
Hi! how to make in macos with attiny13 microcontroller?
Firstly, I don't know why anyone would want to program something using a Mac...
Secondly, you start a new project in VSCode/PlatformIO and select ATtiny13 as a platform. All you then need is a programmer which is supported by avrdude, grant the necessary access (however that is done on a Mac I don't know, but you can try the different Linux-tips from my previous videos), connect the ATtiny to the programmer's MOSI/MISO/SCK and flash your code.
How close is this to CMake?
I have absolutely no insight into CMake, but in this video I present a plugin to VSCode - a complete IDE, which can be easily used even by people who feel uncomfortable on the commandline.
I would say it has nothing to do with CMake and is not comparable in any way - apart from the fact that both can be used to produce code.