Я хотел был бы иметь иметь основную ОС и основную файловую систему для high-end MSP430 вероятно MSP430F5438. Я знаю, что я могу пойти с чем-то вроде FreeRTOS, IAR PowerPac или Micrium, чтобы назвать только некоторые опции для ОС и файловой системы. Однако я хотел бы иметь возможность также иметь возможность загружать небольшие апплеты или потоки в последний раз, идеально удаляя этот дополнительный код из файловой системы. Моя цель состоит не в том, чтобы перепрограммировать все устройство для изменения или реализации функции на встроенном устройстве. Не знаете, куда идти, чтобы реализовать эту способность, или мне нужно переключиться на другой процессор, такой как ARM.Запись встроенного приложения для msp430?
ответ
MSP430 - отличный контроллер, но если вы хотите запустить ОС и загружать приложения, не записывая их на флеш, вам, вероятно, следует переключиться на ARM (еще одна отличная платформа со многими микроконтроллерами на базе ARM).
Я уверен, что вам всегда придется перепрограммировать MSP 430 каждый раз, когда вы хотите изменить программный код. Конечно, загрузчик может самостоятельно обновить флеш, поэтому вы просто захотите сделать программу, которая действует как загрузчик, но только обновляет некоторые части программной памяти - то есть, где вы хотите, чтобы ваши апплеты были размещены. И тогда вам нужно будет узнать, в какой области памяти находится каждая область флэш-памяти, где ваш код апплета, чтобы вы могли его назвать.
У вас также возникла проблема с запуском кода в этих апплетах. Если есть только одна ячейка памяти, которую вы хотите запустить с этого момента, вы можете скомпилировать их с учетом этого. Если вам нужно несколько различных апплетов, которые могут запускаться из любого «пространства апплета» в памяти, тогда вы можете столкнуться с проблемами, потому что они не будут знать, с какого адреса они начинаются.
И, конечно же, ни одна из этих апплетов не сможет быть очень большой. Сколько будет стоить ваше RTOS?
Есть некоторые FRAM msp430 детали, которые также могут стоить посмотреть. Это все еще не так много памяти.
флэш
На msp430 вы можете стереть/перезаписать бортовой вспышки в 512 байт куски (флэш-пользователь может обрабатывать меньшие куски).
Таким образом, ваш загрузчик/стабильная RTOS может перепрограммировать чип с помощью этих «приложений».
Это немного сложно переадресовать прерывания, но это можно сделать с переходом перенаправления из «реальной» таблицы векторов в таблицу векторов приложений.
Вызов стабильными/RTOS
Это также можно назвать функции устойчивой части из приложений, вы можете встроить в устойчивую часть фиксированной таблицу переходов для каждой функции, так что приложение знает, как вызвать функцию , даже если вы создадите еще одну стабильную/RTOS-версию.
RAM
Если разрешить только одно приложение, это легко.
Вы должны зарезервировать некоторую ОЗУ для стабильной RTOS, а остальная часть ОЗУ может быть использована приложением.
Но для решения проблемы с размещением ваших переменных может быть сложно, если вы хотите использовать несколько приложений.
Чтобы зарезервировать оперативную память из приложения, я бы предпочел бы динамическое распределение, но даже тогда вам понадобится указатель на динамически распределенные блоки, и эти указатели будут фиксированными или ваши приложения будут использовать переменные в стеке.
Контроллер Msp430 поддерживается несколькими OS-es, которые могут обеспечить желаемую функциональность. Некоторые из них обеспечивают OTA (над эфиром). Некоторые из них предоставляют (флэш-файлы) файловые системы. Однако это часто означает использование флэш-памяти для хранения загруженной программы.
Вот несколько действующих в настоящее время ОС-эс поддерживающих MSP430:
Contiki - ОС для «Интернета вещей». Обеспечивает протопины.
MansOS - unix-подобная ОС, которая поддерживает потоки и OTA для устройств msp430.
Адресное пространство на msp430 - 16 бит, которое включает в себя все rom и ram. Не то, чтобы вы не могли запускать ОС и приложения в этом пространстве, но я не думаю, что вы найдете msp430 с объемом памяти, который вам нужен, если вы не используете что-то вроде openmsp430 на fpga и не корректируете количество ram и rom. –
Это приложение управляется стоимостью, поэтому я склоняюсь к флеш-памяти. То, что я потом, - иметь стабильную часть прошивки и динамическую часть. Я хотел бы иметь возможность сделать удаленный повторный показ динамической части, не касаясь стабильной части. Если обновление ухудшится, я не хочу потерять стабильную часть. Я был тем, что мог бы скомпилировать динамическую часть как самостоятельный блок с независимым положением, а затем закрепить крючки в стабильной части. Просто не уверен, что MSP430 справится с этим. Алос мог бы управлять ARM на основе вспышки? –
В обоих случаях вы можете стирать небольшую (по сравнению со всей) часть так, чтобы вспышка работала с других частей вспышки. Я еще не выполнил загрузчик msp430, поэтому я не знаю, что происходит на микросхеме, но сделал это с некоторыми ARM, а при запуске от вспышки вспыхнули другие части вспышки. –