реклама на сайте
подробности

 
 
> Cortex M3, M4 - разрядность переменных.
Allregia
сообщение Jul 11 2014, 11:47
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Какую разрядность переменных, лучше выбирать в случае когда "а пофиг" ?
Например флаг, который может быть 0 или1, максимум -1, или считающий до 10 счетчик, и тому подобное, когда можно и u8, и s8, и u32б и s32.
Памяти-то в Кортексах обычно более чем достаточно, и экономить нужно не всегда, но влияет-ли это на быстродействие программы?
Есть ли разница для локальных и глобальных переменных, и для volatile?

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DASM
сообщение Jul 13 2014, 07:15
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Не очень понимаю смысл кеша, расположенного на внешней памяти. Или в ядре со сверхбыстрым доступом, или он не нужен вообще. Тогда уж покупать лицензию на М3 и городить СОЗУ для кеша. Но вроде речь про серийные камни.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jul 13 2014, 08:42
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(DASM @ Jul 13 2014, 11:15) *
Не очень понимаю смысл кеша, расположенного на внешней памяти.
А как же разгонять медленный флешь? Ведь вся соль применения CM3-4 именно в исполнении кода из FLASH на скорости не уступающей RAM. А без разного рода кешей этого бы не было. DSB я использую в реальных проектах (в обработчиках некоторых прерываний) и без этой инструкции программа была бы не так лаконична и вообще бы не работала (проверено).

Цитата(adnega @ Jul 13 2014, 11:43) *
Все поняли вопрос?
Ну да. Я могу и в третий раз повторить ответ.
Тут ведь вопрос стоит слишком глобально. Если говорить о аргументах функции, возвращаемых ей значениях, отдельных счётчиках или флагах, то наиболее переносимым вариантом является uint_fast8_t. В остальных случаях надо смотреть по задаче.

Цитата(ViKo @ Jul 12 2014, 14:33) *
Не единственный. Еще есть команды эксклюзивного доступа. LDREX и т.д. И соответствующие им интринсики для компилятора __LDREX().
И утрамбовать поля в слова можно так, чтобы не поганить одно поле при доступе к другому.
Об этом я забыл. Да и по жизни не приходилось использовать.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Allregia   Cortex M3, M4 - разрядность переменных.   Jul 11 2014, 11:47
- - ViKo   Есть. Задавайте всё int, если ОЗУ у вас с избытком...   Jul 11 2014, 12:03
- - jcxz   Цитата(Allregia @ Jul 11 2014, 17:47) Ест...   Jul 11 2014, 16:10
- - Сергей Борщ   На любом совершенно процессоре подключить к програ...   Jul 12 2014, 06:33
- - ViKo   И еще stdbool.h, и использовать bool тип.   Jul 12 2014, 07:06
|- - demiurg_spb   Цитата(ViKo @ Jul 12 2014, 11:06) И еще s...   Jul 12 2014, 08:41
|- - ViKo   Цитата(demiurg_spb @ Jul 12 2014, 11:41) ...   Jul 12 2014, 09:03
|- - demiurg_spb   Цитата(ViKo @ Jul 12 2014, 13:03) Тогда -...   Jul 12 2014, 09:56
|- - ViKo   Цитата(demiurg_spb @ Jul 12 2014, 12:56) ...   Jul 12 2014, 10:33
|- - Allregia   Цитата(demiurg_spb @ Jul 12 2014, 11:56)1...   Jul 12 2014, 10:42
|- - ViKo   Цитата(Allregia @ Jul 12 2014, 13:42) Спа...   Jul 12 2014, 10:49
|- - jcxz   Цитата(ViKo @ Jul 12 2014, 16:49) Первое ...   Jul 13 2014, 04:29
- - skripach   Разница конечно есть, но она ничтожна, нужно испол...   Jul 12 2014, 09:42
- - Allregia   Еще пара вопросов про плавающую точку: 1) как я ...   Jul 12 2014, 22:03
|- - ms1   Цитата(Allregia @ Jul 13 2014, 01:03) Отк...   Jul 12 2014, 22:22
- - DASM   Дайте пожалуйста, ссылку, где вы усмотрели write-...   Jul 13 2014, 04:40
|- - jcxz   Если Вы потрудитесь открыть например "Cortex-...   Jul 13 2014, 04:55
- - DASM   Уточню, есть ли он в однокристаллках all-in-one, т...   Jul 13 2014, 05:08
|- - jcxz   Вообще-то топик не про какой-то конкретный проц, а...   Jul 13 2014, 06:04
|- - ViKo   Цитата(jcxz @ Jul 13 2014, 09:04) Вообще-...   Jul 13 2014, 06:35
|- - jcxz   Цитата(ViKo @ Jul 13 2014, 12:35) В M3 и ...   Jul 13 2014, 06:55
- - DASM   Может и ошибаюсь.   Jul 13 2014, 06:06
- - adnega   Все поняли вопрос? ЦитатаКакую разрядность перемен...   Jul 13 2014, 07:43
|- - A. Fig Lee   Цитата(adnega @ Jul 13 2014, 03:43) Все п...   Jul 13 2014, 13:09
||- - adnega   Цитата(A. Fig Lee @ Jul 13 2014, 17:09) i...   Jul 13 2014, 15:46
||- - A. Fig Lee   Цитата(adnega @ Jul 13 2014, 11:46) Я вез...   Jul 13 2014, 17:42
||- - adnega   Цитата(A. Fig Lee @ Jul 13 2014, 21:42) Т...   Jul 13 2014, 18:37
|- - Allregia   Цитата(adnega @ Jul 13 2014, 09:43) Все п...   Jul 13 2014, 21:00
|- - AHTOXA   Цитата(Allregia @ Jul 14 2014, 03:00) В о...   Jul 14 2014, 05:40
- - andrewlekar   АНТОХА, +1. Не используйте u32, s32 и подобную ере...   Jul 14 2014, 06:40
|- - Сергей Борщ   Цитата(andrewlekar @ Jul 14 2014, 09:40) ...   Jul 14 2014, 07:23
- - andrewlekar   Будет не меньше байта: для счётчиков, флагов хвати...   Jul 14 2014, 07:27


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 13:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.014 секунд с 7
ELECTRONIX ©2004-2016