Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 24.06.2019, 15:59  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от NewWriter Посмотреть сообщение
никто и не утверждал, что const защищает стопроцентно данные
Если компилятор положит это в секцию text, то данные уже будут 100% защищены. Другое дело, что при жесткой оптимизации компилятор может вообще не обращать на const и запихать данные в память...
Реклама:
__________________
Смерть бандеровской мразоте!
eddy вне форума  
Непрочитано 24.06.2019, 16:20  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,509
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Изначально я об этом и писал, что const-данные в конечной прошивке будут лежать во флеше. Случаи запуска из RAM не рассматриваем.
Но тут кто-то начал возмущаться, что const че-то там оптимизирует в передаче параметров, перепутав поведение при static и volatile.
Затем всё это перемешалось в кучу и хрен пойми кто о чем говорит.
Ну а если передавать в фцию с const-параметром не-const переменную, то компилятор конечно предупредит о бесполезности const в параметре.

Я же говорю - скрины экспериментов фстудию. А неразбериха получилась из-за того, что спорщики опираются на общеуниверсальные рассуждения, без привязки к особенностям эмбедда и микроконтроллеров. В эмбедде с жёсткой прошивкой - свои особенности.

Последний раз редактировалось NewWriter; 24.06.2019 в 16:38.
NewWriter вне форума  
Непрочитано 24.06.2019, 16:42  
ProtAS-13
Прописка
 
Регистрация: 17.03.2015
Сообщений: 287
Сказал спасибо: 0
Сказали Спасибо 209 раз(а) в 121 сообщении(ях)
ProtAS-13 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Вот упоротые
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic4.jpg
Просмотров: 0
Размер:	68.7 Кб
ID:	142873  
ProtAS-13 вне форума  
Непрочитано 24.06.2019, 16:45  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,509
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Эксперимент поставлен неправильно. Буду дома, объясню, кто тут упоротый.
NewWriter вне форума  
Непрочитано 24.06.2019, 17:35  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от ProtAS-13 Посмотреть сообщение
Вот упоротые
вот упоротый...
Ты попробуй это скомпилять при -Wall -Werror -Wextra! Понятно, что ты ложил на варнинги. А компилятор предупреждал же, что const в аргументе бесполезен!
И, кстати, const в аргументах функции обычно - гарантия того, что входные данные не будут внутри этой функции меняться. А здесь налицо противоречие. Ну и на кой черт тогда const писать? Западлостроением чтобы заниматься?
Да, еще веселей будет, если в эту функцию передадут реально константу, лежащую во флеше. UB обеспечено! А кое-где МК может и в hardfault уйти...
__________________
Смерть бандеровской мразоте!
eddy вне форума  
Непрочитано 24.06.2019, 19:01  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,509
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Такс... Ну вот, я дома, поужинал, и теперь можно немного времени выделить.
Есть такое дело, значить.. Ну и что вы теперь скажете, мм? Ну, думайте, думайте, думайте!
А пока скрипите мозгами, скажу, что в первом случае вы имеете массив переменных, инициализованных константными значениями из флеша. Во втором случае, вы имеете массив константных переменных, размещенный во флеше. Как видите на втором скрине, в обоих случаях во флеше находятся эти самые массивы констант.
Вооот, пока изучайте эту часть до просветления, а позже я вам наглядно обрисую и остальные моменты.
Миниатюры:
Нажмите на изображение для увеличения
Название: 000.png
Просмотров: 0
Размер:	8.4 Кб
ID:	142875   Нажмите на изображение для увеличения
Название: 001.png
Просмотров: 0
Размер:	5.1 Кб
ID:	142876  
NewWriter вне форума  
Непрочитано 24.06.2019, 20:46  
scorpi_0n
Прописка
 
Регистрация: 10.03.2016
Сообщений: 114
Сказал спасибо: 14
Сказали Спасибо 46 раз(а) в 41 сообщении(ях)
scorpi_0n на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Случай - частный, бред - общий. Ждём новый откровений от самого себя.
scorpi_0n вне форума  
Непрочитано 24.06.2019, 20:50  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,509
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Ну зато про самого ТЕБЯ мы хорошо знаем, что ты ни одного реального примера работы за все время и не приводил, сколько тебя не ловили на этом, ни разу кроме бреда ты не генерировал )) Можешь даже не отвечать - мне то это не надо доказывать ))

Кста, то есть, это ты щас пытаешься доказать, что строка "Message" НЕ хранится во флеше при нормальной работе проги из флеша? )) Так-таааак.. Что, уже совсем маразм забил моск?
NewWriter вне форума  
Непрочитано 25.06.2019, 00:03  
ProtAS-13
Прописка
 
Регистрация: 17.03.2015
Сообщений: 287
Сказал спасибо: 0
Сказали Спасибо 209 раз(а) в 121 сообщении(ях)
ProtAS-13 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от eddy Посмотреть сообщение
Ты попробуй это скомпилять при -Wall -Werror -Wextra
Конструкция, указанная в примере, соответствует стандарту, поэтому никаких ни error, ни warning нет.
Сообщение от eddy Посмотреть сообщение
А компилятор предупреждал же, что const в аргументе бесполезен!
Допустим, не предупреждал, а давал ошибку, что изменяется переменная, помеченная квалификатором const, о чем, собственно здесь уже несколько страниц талдычат.
Сообщение от eddy Посмотреть сообщение
А кое-где МК может и в hardfault уйти...
А кто ж говорит, что так нужно делать - это же пример, чтобы показать, что квалификатор const можно обойти.
Сообщение от NewWriter Посмотреть сообщение
... в первом случае ... Во втором случае ...
Вы, похоже, уже с собой разговариваете. Я нифига не понял, что за случаи?
Если Вы говорите про свой пример, приведенный ранее, и мой, то мой отличается от Вашего лишь двумя строчками. При этом, все квалификаторы const остались на месте.
А если уж, Ваш компилятор, при этом, разложил переменные в разные (!!!) области, то сами и думайте, что Вы там нарукаблудили.
Сообщение от NewWriter Посмотреть сообщение
в обоих случаях во флеше находятся эти самые массивы констант.
Вы что, издеваетесь? А откуда литералы возьмутся в программе - их что, святым духом надует после отключения от программатора.

А вообще то, советую вспомнить, с чего начался спор:
Сообщение от NewWriter Посмотреть сообщение
const char *buffer - это указатель на константный буфер, который неизменно находится во флеше (ну раз он константа)
Сообщение от NewWriter Посмотреть сообщение
А const завсегда означал неизменяемую константу
Сообщение от OldDriver Посмотреть сообщение
const, в данном контексте, никакого отношения к месту расположению не имеет.
Вам и было показано, что Вашу "неизменяемую константу" вполне себе можно изменить, и квалификатор const, совсем необязательно указывает только на флеш.
Я не понимаю, что еще нужно доказывать, когда уже все разжевано.
ProtAS-13 вне форума  
Непрочитано 25.06.2019, 00:12  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,509
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

А вы не рассуждайте. Я же просил - без натурных экспериментов - молчите и молча слушайте )
А вот вам еще одна картинка, наглядно показывающая, что и как берется и откуда чего приходит и куда уходит.
Смотрите за стрелочками, вкуривайте до просветления. Не переживайте, всё получится и вы поймете, что там куда движется Как только просветлитесь, пойдем дальше, к более сложным материям. Не волнуйтесь.
Миниатюры:
Нажмите на изображение для увеличения
Название: 001.jpg
Просмотров: 0
Размер:	279.2 Кб
ID:	142889  
NewWriter вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 22:12.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot