Yaroslav Schekin
Отвратительно. Я-то надеялся, что всё это заслуженно умерло ещё лет 15 назад. :(
А почему так? Компилятора C под это железо нет, что ли?
Есть. Компилятор С любит некоторые вещи оптимизировать, это во-первых.
Например, вам нужно по определённому адресу записать определённую последовательность байт. Эту последовательность байт по шине данных пзу-шка воспримет как команду к стиранию сектора, например.
Оптимизатор имеет полное право оставить только последнюю команду, посчитав что остальные не нужны.
В прочем, с этим можно бороться при помощи volatile.
Во-вторых, есть ряд процедур по инициализации регистров железки и разных указателей. Например, если вы "живёте" без операционки, ваш си-шный код будет крайне забавно работать, пока вы не скажете где стэк и где куча