Перейти к содержанию
    

Звучит почти невероятно. Всякое бывает, конечно, но не верится как-то, чтобы не всплыл такой косяк.

Ничего невероятного. Я находил баг даже в Visual Studio 7.1, правда не критичный - переменная const не воспринималась компилятором как const. А уж Кейл - не самая передовая фирма.

777777, можете озвучить версию компилятора?

µVision V4.00u

Toolchain: RealView MDK-ARM Version: 4.03a

Toolchain Path: BIN40\

C Compiler: Armcc.Exe V4.0.0.524

Assembler: Armasm.Exe V4.0.0.524

Linker/Locator: ArmLink.Exe V4.0.0.524

Librarian: ArmAr.Exe V4.0.0.524

Hex Converter: FromElf.Exe V4.0.0.524

CPU DLL: SARMCM3.DLL V4.03a

Dialog DLL: DARMSTM.DLL V1.45b

Target DLL: BIN\UL2CM3.DLL V1.62

Dialog DLL: TARMSTM.DLL V1.43

 

 

Сдается мне, что там дело вовсе не в volatile. Просто тыкая volatile куда не поподя удалось сломать оптимизацию компилятору настолько, что изначально мутный код что-то начал делать.

А вы не любите пролетариат!

 

Или же ещё вариант: если у вас только одна такая структура, то объявите её сразу:

struct {

volatile ...

volatile ...

} our_struct;

Именно так и пришлось поступить - все члены сделал volatile

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вы не любите пролетариат!

Ну так десяток РЕАЛЬНЫХ строк приведите в качестве багрепорта. Тогда и будет ясно, кто есть ху. Для меня пока очень подозрительным является вообще написание кода в котором требуется заметное количество volatile переменых. Практически видно, что Вы заставили что-то работать объявив volatile весь фрейм. Исходя из личного опыта считаю такой подход к программированию достаточно странным.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А уж Кейл - не самая передовая фирма.

ммм... А это ничего, что Кейл, собсно не фирма, а торговая марка ARM Holdings?

Да, и в RealView volatile работает правильно. В смысле, в полном соответствии со стандартом.

 

Приведите плз кусок кода и опции компилятора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...