Вопрос

Я хотел бы иметь базовую ОС и базовую файловую систему для высокопроизводительного MSP430, вероятно, MSP430F5438.Я знаю, что могу пойти на что-то вроде FreeRTOS , ИАР PowerPac или Микриум чтобы назвать лишь некоторые варианты ОС и файловой системы.Однако я хотел бы иметь возможность загружать небольшие апплеты или потоки позже, в идеале удаляя этот дополнительный код из файловой системы.Моя цель не в том, чтобы перепрошивать все устройство, чтобы изменить или реализовать функцию на встроенном устройстве.Не знаю, куда направиться, чтобы реализовать эту возможность, и нужно ли мне переключиться на другой процессор, например ARM.

Это было полезно?

Решение

MSP430 - отличный контроллер, но если вы хотите запустить ОС и загружать приложения, не записывая их на флэш-память, вам, вероятно, следует переключиться на ARM (еще одна замечательная платформа со многими микроконтроллерами на основе ARM).

Другие советы

Я уверен, что вам всегда придется перепрошивать MSP 430 каждый раз, когда вы хотите изменить программный код. Конечно, загрузчик может обновлять флэш-память сам по себе, поэтому вам просто нужно создать программу, которая будет работать как загрузчик, но обновит только определенные части памяти программы, т. Е. Там, где вы хотите разместить свои апплеты. И тогда вам нужно будет знать, в какой области памяти находится каждая область флэш-памяти, где находится код вашего апплета, чтобы вы могли ее вызывать.

Вы также столкнулись с проблемой запуска кода в этих апплетах. Если вы хотите запустить их только из одной ячейки памяти, вы можете скомпилировать их с учетом этого. Если вам нужно несколько разных апплетов, которые могут запускаться из любого «пространства апплетов» в памяти, вы можете столкнуться с проблемами, потому что они не будут знать, с какого адреса они исходят.

И, конечно, ни один из этих апплетов не сможет быть очень большим. Сколько места займет ваша ОСРВ?

Контроллер Msp430 поддерживается несколькими ОС, которые могут предоставлять желаемую функциональность. Некоторые из них предоставляют OTA (эфирное программирование). Некоторые предоставляют (на основе флэш) файловые системы. Однако это часто означает использование флэш-памяти для хранения загруженной программы.

Вот пара активных в настоящее время ОС, поддерживающих msp430:

Contiki - ОС для " Интернета вещей " ;. Предоставляет прото-потоки.

MansOS - Unix-подобная ОС, которая поддерживает потоки и OTA для устройств msp430.

Вспышка
На msp430 вы можете стирать/перезаписывать встроенную флэш-память частями по 512 байт (пользовательская флэш-память может обрабатывать меньшие фрагменты).
Таким образом, ваш загрузчик/стабильная RTOS может перепрограммировать чип с помощью этих «приложений».
Перенаправить прерывания немного сложно, но это можно сделать с помощью перехода от «реальной» таблицы векторов к таблице векторов приложения.

Вызов стабильной/RTOS
Также можно вызывать функции стабильной части из приложений. Вы можете встроить в стабильную часть фиксированную таблицу переходов для каждой функции, чтобы приложение знало, как вызывать функцию, даже если вы создадите другую стабильную версию/RTOS.

БАРАН
Если вы разрешаете только одно приложение, это легко.
Вам необходимо зарезервировать некоторую оперативную память для вашей стабильной ОСРВ, а остальную часть ОЗУ может использовать приложение.

Но решить проблему с размещением переменных может оказаться непросто, если вы хотите использовать более одного приложения.
Чтобы зарезервировать оперативную память приложения, я бы предпочел динамическое выделение, но даже в этом случае вам понадобится указатель на динамически выделенные блоки, и эти указатели являются фиксированными или ваши приложения используют переменные в стеке.

Есть некоторые FRAM msp430 детали, на которые также стоит обратить внимание. Это все еще не много памяти, хотя.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top