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

 
 
> Стэк в scmRTOS
spongebob
сообщение Apr 24 2012, 18:19
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 126
Регистрация: 14-11-10
Пользователь №: 60 879



Всем привет!

Поясните, пожалуйста, есть ли какая-нибудь взаимосвязь между стеком программы и стеками процессов в ОС?
И между их размерами...
Что конкретно хранится в стеках процессов?

Допустим, правильно ли следующее.

В системе два процесса (П1 и П2).
П1 завершает работу.
Планировщик копирует содержимое стека программы в стек П1, а содержимое стека П2 в стек программы и передает управление П2.
П2 работает, потом завершает работу.
Планировщик копирует содержимое стека программы в стек П2, а содержимое стека П1 в стек программы и передает управление П1.
Далее все повторяется по кругу...
Стеки процессов не должны превышать размеры стека программы. Допустим, если в mega1280 во внутренней памяти размещается только стек программы, то стеки каждого из процессов не должны превышать 8192 байт.

Бьюсь который день со спонтанной перезагрузкой, никак баг поймать не могу sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ReAl
сообщение Apr 28 2012, 17:00
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Точно. Давненько я туда не заглядывал. Работает, да и ладно :-)
Когда-то давно-давно, до avr-libc 1.6, как я сейчас выяснил, было
Код
#define FLTBUFLEN 40
...
#if PRINTF_LEVEL >= PRINTF_FLT
    int8_t    decpt;
    char    fb[FLTBUFLEN];    /* floating point buffer */
#endif
остатки от форматтера, который и double умел.
Сейчас они 1) жёстко урезали до float с максимум 7 значащими цифрами и написанная на ассемблере __ftoa_engine в тот 11-байтовый буфер складывает флаги результата преобразования (в т.ч. NAN) и преобраованную мантиссу, а порядок возвращает в vfprintf как число, которое там уже выводится отдельно. Итого к стеку в самом vfprintf добавляется адрес возврата при вызове __ftoa_engine и шесть байтов для сохраняемых в ней регистров. Очень хорошо (то-то я как пример 4-debug написал, так удивился, что отладочній процесс с printf-ом ест меньше стека, чем яожидал :-) ).


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- spongebob   Стэк в scmRTOS   Apr 24 2012, 18:19
- - _Артём_   Цитата(spongebob @ Apr 24 2012, 21:19) До...   Apr 24 2012, 18:40
|- - spongebob   Цитата(_Артём_ @ Apr 24 2012, 22:40) Это ...   Apr 24 2012, 18:52
|- - _Артём_   Цитата(spongebob @ Apr 24 2012, 21:52) На...   Apr 24 2012, 19:05
|- - spongebob   Цитата(_Артём_ @ Apr 24 2012, 23:05) У ва...   Apr 24 2012, 19:28
|- - _Артём_   Цитата(spongebob @ Apr 24 2012, 22:28) Аг...   Apr 24 2012, 20:04
|- - ReAl   Цитата(_Артём_ @ Apr 24 2012, 23:04) Инте...   Apr 25 2012, 04:32
|- - spongebob   Цитата(ReAl @ Apr 25 2012, 08:32) Стоило ...   Apr 25 2012, 05:57
|- - ReAl   Цитата(spongebob @ Apr 25 2012, 08:57) Де...   Apr 25 2012, 07:56
|- - _Артём_   Цитата(ReAl @ Apr 25 2012, 10:56) Во внут...   Apr 25 2012, 11:52
|- - spongebob   Цитата(_Артём_ @ Apr 25 2012, 15:52) Можн...   Apr 25 2012, 14:56
|- - Сергей Борщ   QUOTE (spongebob @ Apr 25 2012, 17:56) Но...   Apr 25 2012, 16:38
|- - spongebob   Цитата(Сергей Борщ @ Apr 25 2012, 20:38) ...   Apr 26 2012, 05:12
|- - IgorKossak   Цитата(spongebob @ Apr 26 2012, 08:12) Но...   Apr 26 2012, 07:16
|- - Сергей Борщ   QUOTE (spongebob @ Apr 26 2012, 08:12) Но...   Apr 26 2012, 07:28
|- - ViKo   Цитата(Сергей Борщ @ Apr 26 2012, 10:28) ...   Apr 26 2012, 09:04
- - IgorKossak   Если массивы большие и нужда в них возникает редко...   Apr 25 2012, 06:50
- - ViKo   Если массивы временные, то почему бы не использова...   Apr 25 2012, 07:25
|- - AHTOXA   Цитата(ViKo @ Apr 25 2012, 13:25) Если ма...   Apr 25 2012, 07:44
|- - ViKo   Цитата(AHTOXA @ Apr 25 2012, 10:44) А поч...   Apr 25 2012, 07:54
|- - AHTOXA   А вот как раз для такого контроля в ОС и предусмот...   Apr 25 2012, 07:56
|- - ViKo   Цитата(AHTOXA @ Apr 25 2012, 10:56) А вот...   Apr 25 2012, 07:57
|- - AHTOXA   Цитата(ViKo @ Apr 25 2012, 13:57) Что это...   Apr 25 2012, 08:24
|- - spongebob   Цитата(ViKo @ Apr 25 2012, 11:57) Работа ...   Apr 25 2012, 10:37
|- - AHTOXA   Цитата(spongebob @ Apr 25 2012, 16:37) Пр...   Apr 25 2012, 12:59
- - ViKo   Может, ляпну глупость, но, разве в очередь (messag...   Apr 25 2012, 12:39
- - spongebob   Кстати, насколько прожорлив sprintf? Сколько он по...   Apr 26 2012, 19:32
|- - Сергей Борщ   Кучу - нет. По стеку можно посмотреть его исходник...   Apr 26 2012, 21:06
|- - spongebob   Цитата(Сергей Борщ @ Apr 27 2012, 01:06) ...   Apr 27 2012, 06:25
||- - Сергей Борщ   QUOTE (spongebob @ Apr 27 2012, 09:25) Кс...   Apr 27 2012, 10:01
|- - ReAl   Цитата(Сергей Борщ @ Apr 27 2012, 00:06) ...   Apr 27 2012, 18:46
|- - Сергей Борщ   QUOTE (ReAl @ Apr 27 2012, 21:46) добавля...   Apr 27 2012, 21:18


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 07:09
Рейтинг@Mail.ru


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