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

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

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

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

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

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


 
Опции темы

Организация памяти.

Непрочитано 23.04.2017, 19:59  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Организация памяти.

Сообщение от locik_1 Посмотреть сообщение
когда у вас зрение станет таким,
что вы не увидите 0.25 мм,тогда захотите к старым пикам.DIP.
Какое может быть зрение в моём возрасте? Однако к ПИКам не тянет, от слова совсем. Хотя я с ними и был когда-то на ТЫ (вот же время летит!).
Реклама:
STM32F0 вне форума  
Непрочитано 23.04.2017, 20:00  
locik_1
Почётный гражданин KAZUS.RUN
 
Аватар для locik_1
 
Регистрация: 18.02.2012
Адрес: Саратов
Сообщений: 1,638
Сказал спасибо: 167
Сказали Спасибо 424 раз(а) в 344 сообщении(ях)
locik_1 на пути к лучшему
По умолчанию Re: Организация памяти.

ню-ню.посмотрим что дальше будет.
__________________
Виктор
locik_1 вне форума  
Непрочитано 23.04.2017, 20:01  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Организация памяти.

Сообщение от CERGEI1982 Посмотреть сообщение
Да по барабану
... и по литаврам! Сейчас Марк ещё чего выстрелит. И опять себе прямо в ногу!
STM32F0 вне форума  
Непрочитано 23.04.2017, 20:04  
my504
Прописка
 
Аватар для my504
 
Регистрация: 30.07.2006
Адрес: Фрязино, М.О.
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 20 сообщении(ях)
my504 на пути к лучшему
По умолчанию Re: Организация памяти.

Сообщение от STM32F0 Посмотреть сообщение

И что изменится? Ну прочитаю ноль с целого порта, какой верёвочкой эРэМВэ к нему привязывать? Ась?


Датышо! Порты это периферия от СТМ и никакого отношения к ядру не имеют. У Ф1хх порты медленнее, у Ф2хх - быстрее. А ядро у них одно и тоже - М3 ! Вот это поворот, да!?

А в чём? В твоих незнаниях?

За умом тебе к доктору или на базар на мясные ряды.
Доступ к портам ничем не отличается от доступа к ОЗУ.
Порты сидят на матрице шин и никаким образом бит не может быть изменён отдельно от порта. Линия выборки одна на минимальное слово доступа, сиречь байт. Фокус с бит-бендингом состоит в формировании псевдоадреса в виде той же маски RMW.
И в этом СТМ ровно такой же АРМ, как и иные производители.
my504 вне форума  
Непрочитано 23.04.2017, 20:21  
AR_Favorit
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Организация памяти.

Сообщение от CERGEI1982 Посмотреть сообщение
Да по барабану
Сообщение от STM32F0 Посмотреть сообщение
и по литаврам!
AR_Favorit вне форума  
Непрочитано 23.04.2017, 20:36  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Организация памяти.

Сообщение от my504 Посмотреть сообщение
Доступ к портам ничем не отличается от доступа к ОЗУ.
Порты сидят на матрице шин и никаким образом бит не может быть изменён отдельно от порта.
Да неужели? У Ф0 нет битбэндинга, а установка бит порта есть, как и сброс. У одних СТМ гарвард, у других фонньюман. У одних СТМ время установки порта 2 такта, а у других - 1 такт, Карл! А у тебя всё из одной ямы!
Сообщение от my504 Посмотреть сообщение
Линия выборки одна на минимальное слово доступа, сиречь байт.
Датышо! А мужики из СТМа то и не знали! У них слово 32 бита или 4 байта, как и порты! Всё остальное относится к методам доступа.
Сообщение от my504 Посмотреть сообщение
Фокус с бит-бендингом состоит в формировании псевдоадреса в виде той же маски RMW.
И в этом СТМ ровно такой же АРМ, как и иные производители.
И что? Так есть там атомарность в атомарности, или нет? уж определись как нибудь!
STM32F0 вне форума  
Непрочитано 24.04.2017, 06:19  
H4LF
Вид на жительство
 
Аватар для H4LF
 
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
H4LF на пути к лучшему
По умолчанию Re: Организация памяти.

Сообщение от AR_Favorit Посмотреть сообщение
то, что стоит до __schedule_barrier(), гарантированно будет выполнено раньше того, что стоит после него.
Там же ссылки на __force_stores() и __memory_changed() (тот же самый барьер плюс гарантированный апдейт в памяти измененных до этого момента переменных, в первом случае внешних для функции, в которой применено, во втором - как внешних, так и локальных).
Спасибо, скачал оттуда DUI0472M_armcc_user_guide.pdf в нём искать проще. Хотя я не настоящий программист и вообще в C нуб, так что не очень понял к какому компилятору это относится... Я сейчас использую GNU Tools ARM Embedded 5.4 2016q3 для STM32F103 и все эти __schedule_barrier() он не понимает. Это для другого компилятора или опции какие-то надо включить?
Зато есть вот эти:
PHP код:
__ISB()
__DSB()
__DMB()
__asm volatile ("" ::: "memory");
__sync_synchronize(); 
Причём первые три - это именно команды процессора (с соответствующей мнемоникой). И они, видимо, как раз для упорядочивания выполнения процессором. Не до конца ясно что и как они делают, но вроде бы понимание начинает приходить...
Четвёртая - барьер компилятора.
Пятая - даже не знаю...
Сообщение от AR_Favorit Посмотреть сообщение
По идее, процессор, умеющий менять порядок выполнения, должен сам разруливать процесс так, чтоб не было косяков...
Он, видимо, и "разруливает", но, как и компилятор, не всегда умеет определить что именно хотел программист. Потому и команды специальные есть...
Хотя это всё наверное надо обсуждать в какой-то другой теме. А то, кажется, я и так тут спровоцировал очередной асмосрач... и не только асмо...
H4LF вне форума  
Непрочитано 24.04.2017, 06:36  
H4LF
Вид на жительство
 
Аватар для H4LF
 
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
H4LF на пути к лучшему
По умолчанию Re: Организация памяти.

Сообщение от NewWriter Посмотреть сообщение
Ничего я не перепутал... А while(0) выбрасывается и без оптимизации.
Пример с while - эт для примера того, что Си может делать то, что от него не ожидается, причем один и тот же код может работать по-разному, в отличие от ассемблера. Коль уж разговор о том, какие ошибки можно допустить на Си, которых нельзя сделать на ассемблере.
Тут не только с while проблема. Для не-volatile переменных вообще выброшены арифметические операции, если компилятор видит, что других операций с переменной нет. Может, пример с while был не слишком удачным, но я хотел показать, что ошибки на Си можно делать еще более разнообразные, чем на ассемблере.
Пример не то что неудачный, а совсем ошибочный - компилятор в нём[примере] делает ровно то, что от него[компилятора] ожидается. Даже с пустым while(1), не говоря о полном. Так что плохо получилось показать. И если Вы не перепутали, значит просто не умеете признавать своих ошибок. Или мне попался особенный компилятор(причём и для AVR и для ARM).
А я только заметил, что утверждение - "на ассемблере программы без ошибок" особенно по сравнению с программами на C/C++ и других ЯВУ, просто нелепо.
H4LF вне форума  
Непрочитано 24.04.2017, 07:40  
AR_Favorit
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Организация памяти.

Сообщение от H4LF Посмотреть сообщение
Зато есть вот эти:
А про эти я уже и забыл... Да, есть же и процессорные инструкции. Причем функции, генерирующие их в скомпилированном коде, должны работать, даже если целевая платформа этих инструкций не поддерживает (в этом случае они вырождаются в барьеры компилятора).

Вот на эту тему пдф-ка, http://infocenter.arm.com/help/topic...D_acle_2_1.pdf

И эти функции, и те, что я перечислил, по идее, должны присутствовать во всех компиляторах для ARM, но, исходя из написанного выше, возможно, в GNU Tools ARM Embedded исключили фактическое дублирование...

Последний раз редактировалось AR_Favorit; 24.04.2017 в 07:45.
AR_Favorit вне форума  
Сказали "Спасибо" AR_Favorit
H4LF (24.04.2017)
Непрочитано 27.04.2017, 03:11  
ilyamp
Прописка
 
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
ilyamp на пути к лучшему
По умолчанию Re: Организация памяти.

Атомарность в STM только через танцы с бубном с использованием регистров установки/сброса бит порта и только на установку или сброс бита, на инверсию не получится. Ребята из STM подстраховались на случай прихода прерывания, разрывающего RMW инструкцию. В ПИКе прерывание RMW инструкцию, кажется, не рвёт, соответственно "атомарность" там такая же при использовании защёлки.
ilyamp вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
МСС18: корректировка файла линкера - выделение памяти urry Микроконтроллеры, АЦП, память и т.д 0 08.12.2009 10:32
А что если...прицепить к МК планку DDR памяти? vchik Микроконтроллеры, АЦП, память и т.д 9 03.06.2008 08:47
Как уменьшить размер памяти под стек? greafuger Микроконтроллеры, АЦП, память и т.д 1 03.04.2008 08:23


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.