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

STM32F429 и 16-битная SDRAM 16MB /32 MB : практический опыт?

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


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

5 часов назад, ViKo сказал:

А также могу пользоваться в любом C конструкцией вида

#if (SYSTICK_LOAD_VALUE >= (1 << 24))
    #error: "Over!"
#endif

Только русских букв Keil в Build Output (у меня) не пишет.

А

#if (sizeof(int)*UART_PACKET_SIZE <= 32)
  #error ... // WTF?
#endif

сможете так? То то же:wink:

 

5 часов назад, ViKo сказал:

Подтверждаю. Достаточно в опциях файла прописать --cpp11, как появляется возможность пользовать static_assert. Откуда берется функция (и функция ли?), не нашел, в списках функций не значится.

Ага. А если в Вашем компиляторе нет такого ключика?

 

7 часов назад, ViKo сказал:

Что дают эти макросы - понятно. Не понятно, в какой форме и куда они выдают ошибку. Я в Кейле показал - как собаке пятая нога. Может, IAR больше текста выдает? Тогда ладно.

Два раза жмакаете на ошибку в Output и вуаля - Вы на строке кода, где сработал assert. Проблем не вижу...

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


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

3 часа назад, Arlleex сказал:

1. сможете так? То то же:wink:

2. Ага. А если в Вашем компиляторе нет такого ключика?

3. Два раза жмакаете на ошибку в Output и вуаля - Вы на строке кода, где сработал assert. Проблем не вижу...

1. В статье по моей ссылке расписано (что нет).

2. Есть

3. А то я не знал... :umnik2:

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


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

10 минут назад, ViKo сказал:

3. А то я не знал... :umnik2:

 

12 часов назад, ViKo сказал:

Я не вижу в Build Output ни текстового сообщения, ни номера строки, ни счетчика. Тупо "деление на ноль" или "массив не того размера". Вот и недоумеваю, зачем эти сложности?

Не противоречьте сами себе: сначала Вы говорите, что не знаете, что делать с предупреждением "Division by zero", потом утверждаете, что, оказывается, знаете прекрасно.

Вы если даже в Output выведете какой-нибудь текст, все равно жмакать по ошибке будете, чтобы залезть в участок кода, где этот ассерт выстрелил.

 

 

10 минут назад, ViKo сказал:

2. Есть

Ну а завтра появится проект с МК, под который нет компилятора с --cpp11 или как там его. Что делать будем?

 

 

10 минут назад, ViKo сказал:

1. В статье по моей ссылке расписано (что нет).

Однако - большой минус и неудобство. Если бы не это (и прочие особенности директив условной компиляции, уж не вспомню какие (по ходу набора кода обычно известны)), никаких static_assert() придумывать не надо было бы.

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


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

2. Не появится. В данном вопросе (да и в других) я не наёмный работник, а сам определяющий, что и на чем делать. Но мы же уже знаем все варианты. 

3. Кейл всегда выдаёт номер строки в своих сообщениях. И что делать с этими сообщениями, известно. Вопрос был о том, что ничего из того нагромождения трёхэтажных макросов не попадает в этот вывод. Ни __LINE__ , ни __COUNTER__ , ни имени массива или перечисления. Я-то рассчитывал, они для вывода создаются, а оказывается, только чтобы иметь несколько штук в одной области видимости. Вот, собственно, о чем весь разговор. Жаль, jcxz не смог или не захотел растолковать. 

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


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

27 минут назад, ViKo сказал:

Я-то рассчитывал, они для вывода создаются, а оказывается, только чтобы иметь несколько штук в одной области видимости. Вот, собственно, о чем весь разговор. Жаль, jcxz не смог или не захотел растолковать. 

Я не понимаю - что мешает вам написать свои макросы или добавить в мои те аргументы, которых вам не хватает???

Религия запрещает или что? Уже столько сообщений понаписали.... Мне они не нужны, но если вам нужно - зачем стенать если можно просто взять и изменить???  :dash2:

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


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

Вы, jcxz, запоздали с реакцией. Уже всё прочитано и написано. И ссылки на сайты я дал. Вас бы ко вчерашнему обеду, но вчера вы мямлили "скомпилируйте, да посмотрите" вместо объяснения сути. Да и сейчас высказываетесь неконструктивно. Вы хоть поняли, что в Build Output всё равно ничего не пролезет? 

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


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

17 минут назад, ViKo сказал:

Вы хоть поняли, что в Build Output всё равно ничего не пролезет? 

Не знаю что и куда там у вас не пролезает, но у меня всё что нужно показывает. О чём и Arlleex тоже написал.

И если Вы не можете в одной си-строке разобраться, что нужны ещё и разжёвывания примитивного - значит вам очевидно рано ещё смотреть в мои макросы. Не смотрите их - удалите и всё.

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


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

Адреса (особенно старшие) свопать нежелательно - колонны, строки и всё такое...

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


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

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

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

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

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

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

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

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

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

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