Цитата(aaarrr @ Aug 15 2012, 18:02)

Явная кривизна, так что не беспокойтесь.
А за то, что компилер генерит неправильный пролог и эпилог с виду обычной функции - тоже не беспокоиться? Какая-то задумка там должна быть. Как минимум, что компилер генерит разные прологи/эпилоги в зависимости от имени функции. А ведь он должен просто подставить адрес этой обычной функции в свои low level функции и не использовать заглушку __low_level_init. Остальную логику как компилятору удаётся сделать ошибку я не понимаю.
И вообще, если эту функцию вызвать уже из тела проги, то может произойти "падение чёрного ястреба". И вроде никакого криминала со стороны программера. Просто желание в процессе работы заново проинициализировать что-то типа портов, PLL, внешней рамы и прочего. Хотя может и не упадёт, если R7 (R3-R12) в теле не меняется, а R0-R2 вроде как допускается изменять.