‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

worklog: графикс(3a).

АХАХАХАХ

НАШЁЛ

АХАХАХАХ

виноват -O3 !! если поставить -O1, то всё работает как должно

Я понял это, когда в отладчике стал смотреть инициализацию DMA по шагам. В сишном коде все операции записаны в том порядке, в котором они ДОЛЖНЫ быть - сначала устанавливаем регистры адресов, затем настраиваем транзакцию, затем включаем... а оптимизатор решил, что всё это хуйня и в итоге получилось так: сначала блок DMA включается на передачу, успевает что-то передать (тот самый мусор!), а затем уже исполняются инструкции, которые его настраивают и дальше высылаются корректные данные.

Не понимаю: в чём смысл оптимизации, если она ломает порядок исполнения инструкций, от которых зависит корректность работы железа?
А можно ли внутри исходника как-то отключать перемешивание инструкций для участка кода, типа сделать его "атомарным", но без ассемблера?
Subscribe

  • Короче, записывайте

    Баночка красной фасоли (200 гр вполне достаточно, но можно и больше). Можно и белой. Можно даже зелёный горошек, но фасоль лучше. Черешок-другой…

  • И о погоде

    С одной стороны, день обещает быть шикарным и надо бы воспользоваться такой возможностью для дополнительных съёмок места "Ш". С другой стороны,…

  • А ещё и инфракрасные

    поставками оружия Киеву западные страны пересекают не только красные, но и "бордовые" линии

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 24 comments

  • Короче, записывайте

    Баночка красной фасоли (200 гр вполне достаточно, но можно и больше). Можно и белой. Можно даже зелёный горошек, но фасоль лучше. Черешок-другой…

  • И о погоде

    С одной стороны, день обещает быть шикарным и надо бы воспользоваться такой возможностью для дополнительных съёмок места "Ш". С другой стороны,…

  • А ещё и инфракрасные

    поставками оружия Киеву западные страны пересекают не только красные, но и "бордовые" линии