Replies: 2 comments
-
|
It will be great that developers who are familiar with the code base can shed lights on the functions of the core common files. Thanks. |
Beta Was this translation helpful? Give feedback.
-
|
I think you've pretty much presented the main organising principles of the AVRDUDE source very well. Worth mentioning the separation
The library functions historically were part of the stand-alone CLI, so they need a lot of work to get into library "shape": removing exit(n), making the functions re-entrant, thread-safe, fix memory leaks (though they will not be significant), Also worth pointing out that avrdude.conf, config_gram.y, lexer.l and config.c are a very important part, the "knowledge base" of AVRDUDE and actually almost 40% of the code (in terms of number of lines). If you want to get familiar with the code I recommend starting to read the files you mentioned. For example, follow through what happens when someone types Whilst there is an excellent documentation of the stand-alone CLI, there is only scarce documentation of the libavrdude functions (as far as I can see), and the latter are "in flow". |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
If we look at the avrdude source codes, other than the
doc,msvchelper files, then there are CMake/Autotools scripts, programmer/bootloader specific files, libusb/hidapi/serial/parallel transport files, avrdude.conf related files, some help files (likelist.c) and some core common files.https://github.com/avrdudes/avrdude/tree/main/src
I think the core common files include the following. Please help to see if I miss any other important files.
avr.c
avrpart.c
developer_opts.c
fileio.c
main.c
pgm.c
pgmtype.c
term.c
update.c
Beta Was this translation helpful? Give feedback.
All reactions