a human pattern is to ask a question, then iterate and follow up.
Except most don't do the "follow up" bit because
- they can't be bothered
- they are working in some company which prohibits posting
- they abandoned the project
- they are working on a product and don't want to give away too much
BTW you can find out a lot about someone by googling on their forum nickname
I regularly do this on the one I run, where the poster was quite smart but probably malicious.
Also there are sites which can identify ChatGPT output with a high probability.
constant data goes to the .rodata section, not .data.
This varies, even by version of the same CPU compiler. From my project notes:
With ARM GCC, statics are categorised thus:
int fred; goes into BSS (used to go into COMMON in GCC versions before v10)
int fred=0; goes into BSS (which by definition is zeroed by startup code)
int fred=1; goes into DATA (statics initialised to nonzero, copied to RAM at start)
I don't think anything goes into .rodata in current arm32 GCC although the original ST-supplied linkfile contains loads of code referencing it.
Another reason for freezing the compiler version on a given project, but that's another debate... I have frozen Cube IDE on 1.14.1, due to issues with the GCC tools which Cube 1.15.0 introduces. Cube itself is also broken at 1.15 - can't drive the debugger!