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

 
 
> Переключение задач на STM32f10x в Keil
Omnicake
сообщение May 7 2014, 02:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 12-01-14
Из: Омск
Пользователь №: 80 002



Здравствуйте, пытаюсь сделать простейший переключатель задач на миксе ассемблера и си, используя микропроцессор STM32f10x и среду Keil uVision 5, но постоянно натыкаюсь на непонятные моменты. У меня есть основная функция main, из которой инициализируется процессор и включается таймер systick, по прерыванию таймера запускается диспетчер, в котором я хочу сохранить состояние регистров и при выходе выйти уже не на main а на задачу.
Задачи оформлены в виде c-файлов task1.c task2.c и.т.д., к каждой задаче прикреплена структура(массив из 8 чисел) в который заносятся данные о статусе программы, ее длительности и значения SP и PC-регистров, а также зарезервирована величина стэка командой int Stack_task1[512];. Под все это дело организован еще один массив с указателем на массивы каждой из задач. В теории, при инициализации я должен загрузить в массив для каждой задачи значения SP и PC регистров, чтобы после сохранения/восстановления регистров загрузить в регистры SP и PC числа из массива и командой BX выйти на задачу, до следующего срабатывания таймера.
Однако здесь у меня возник вопрос: как мне узнать значения регистров SP и PC для каждой задачи, если она нигде не запускается? То есть она просто прикреплена к проекту, на нее ссылается массив но при выполнении программы она не выполняется нигде. ТАкже мне известно, что у STM32 два SP регистра, один из которых работает в прерывании, а другой в главной программе. Получается если я перед самым выходом из прерывания изменю значение SP, мне это не поможет, потому что после выхода оно все равно сбросится на то значение, которое было до входа в прерывание? В общем, возможно, вопросы глупые, но сам до додуматься до решения пока не могуЮ потому прошу совета. Заранее спасибо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Omnicake   Переключение задач на STM32f10x в Keil   May 7 2014, 02:17
- - Golikov A.   вроде как при написании диспетчера из прерывания н...   May 7 2014, 04:54
|- - jcxz   Цитата(Golikov A. @ May 7 2014, 10:54) вр...   May 7 2014, 06:11
- - Forger   Цитата(Omnicake @ May 7 2014, 06:17) Здра...   May 7 2014, 05:48
- - RabidRabbit   Цитата(Omnicake @ May 7 2014, 06:17) Одна...   May 7 2014, 06:54
- - adnega   Я бы посоветовал почитать "Джозеф Ю. Ядро Cor...   May 7 2014, 07:49
- - Golikov A.   ЦитатаВ реале - не совсем так. ну то есть в реальн...   May 7 2014, 07:53
|- - jcxz   Цитата(Golikov A. @ May 7 2014, 13:53) ну...   May 7 2014, 08:50
- - Omnicake   Если честно, разработка диспетчера (то самое изобр...   May 7 2014, 08:52
|- - jcxz   Так Вас и тут никуда дальше мануалов не посылали. ...   May 7 2014, 09:08
|- - Forger   Цитата(Omnicake @ May 7 2014, 12:52) Если...   May 7 2014, 09:25
- - Omnicake   Хорошо, буду искать. Спасибо. Хотя мне казалось чт...   May 7 2014, 09:13
|- - jcxz   Цитата(Omnicake @ May 7 2014, 15:13) Хоро...   May 7 2014, 09:44
|- - RabidRabbit   Цитата(jcxz @ May 7 2014, 13:44) В прерыв...   May 7 2014, 09:54
- - Omnicake   Я скачал исходники FreeRTOS и первое на что обрати...   May 7 2014, 09:50
|- - jcxz   Цитата(Omnicake @ May 7 2014, 15:50) Я ск...   May 7 2014, 10:15
|- - Forger   Цитата(Omnicake @ May 7 2014, 13:50) Я ск...   May 7 2014, 10:30
- - Golikov A.   С Си на Асм перейти правда 5 копеек задача, компил...   May 7 2014, 19:25
|- - _Артём_   Цитата(Golikov A. @ May 7 2014, 23:25) Ед...   May 7 2014, 21:07
|- - jcxz   Цитата(Golikov A. @ May 8 2014, 01:25) Ед...   May 8 2014, 03:03
- - Omnicake   Прочитал в книге "Джозеф Ю. Ядро Cortex-M3 ко...   May 8 2014, 02:34
- - Omnicake   А я как раз должен разработать систему, где у зада...   May 8 2014, 03:25
|- - jcxz   Цитата(Omnicake @ May 8 2014, 09:25) А я ...   May 8 2014, 04:54
- - Omnicake   У меня в дескрипторе есть строчка Status которая м...   May 8 2014, 05:06
- - Golikov A.   А... понял где заблуждался. В моей модели реально ...   May 8 2014, 05:07
- - jcxz   Цитата(Golikov A. @ May 8 2014, 11:07) та...   May 8 2014, 06:04


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:08
Рейтинг@Mail.ru


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