Не понял вопроса. А, в смысле что я попутал порядок аргументов? Да, каюсь, виноват.
Сделал тестовую программу, посмотрел листинг. argc, argv заполняются в cstartup перед вызовом main(). В проектах для контроллеров под gcc cstartup у меня самописный, поскольку argc, argv не использую - то и не заполняю. В реализации от STM32Cube они тоже не используются и не заполняются, а других компиляторов у меня не осталось. Увы, не помог.