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

 
 
> Как реализовать отдельно ядро и пользовательское ПО?
Harvester
сообщение Mar 30 2016, 15:47
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Добрый день.
Имеется проект (LPC1820), в котором код разбит на две части: ядро и пользовательская программа. Эти части о существовании друг-друга "не знают",
компилируются и загружаются в флеш-память независимо друг от друга.
С железом МК работает исключительно ядро, а пользовательская программа общается с ядром через вызовы SVI.
С внешним миром устройство общается по USB:
1. MSC-класс работает с NAND напрямую из прерываний USB
2. Custom-класс передает данные между ПК и устройством. Для этого обработчик прерывания вызывает подпрограмму из пользовательского кода
(она расположена по фиксированному адресу). Все это реализуется через подмену стекового фрейма при выходе из прерывания.

Мне нужно исправить один баг в ядре - MSC не работает с транзакциями 512 байт. Возникли сомнения, что смогу вставить в этот винегрет "проверенный" USB-стек, поэтому вопрос: можно ли реализовать подобную функциональность более человечески (на более-менее распространенной оси или еще как-нибудь)?

Спасибо


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jcxz
сообщение Mar 31 2016, 06:39
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Harvester @ Mar 30 2016, 21:47) *
2. Custom-класс передает данные между ПК и устройством. Для этого обработчик прерывания вызывает подпрограмму из пользовательского кода
(она расположена по фиксированному адресу). Все это реализуется через подмену стекового фрейма при выходе из прерывания.

Вызов функции подменой стека не делается. Вызов функции подразумевает возврат. Там вероятно у Вас идёт переключение задач пользовательского уровня по запросу из ISR.
Вероятно там уже есть какая-то ОС. Может быть самописная.
Go to the top of the page
 
+Quote Post



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

 


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


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