문제

아마도 하이엔드 MSP430을 위한 기본 OS와 기본 파일 시스템을 갖고 싶습니다. MSP430F5438.나는 내가 다음과 같이 갈 수 있다는 것을 안다. 프리RTOS , IAR 파워팩 또는 미륨 OS 및 파일 시스템에 대한 옵션 중 일부만 지정합니다.그러나 나중에 이상적으로는 파일 시스템에서 이 추가 코드를 가져오는 작은 애플릿이나 스레드를 로드할 수 있는 기능도 갖고 싶습니다.내 목표는 임베디드 장치의 기능을 변경하거나 구현하기 위해 전체 장치를 다시 플래시할 필요가 없는 것입니다.이 기능을 구현하려면 어디로 가야 할지, 아니면 ARM과 같은 다른 프로세서로 전환해야 할지 잘 모르겠습니다.

도움이 되었습니까?

해결책

MSP430은 훌륭한 컨트롤러이지만 OS를 실행하고 플래시를 태우지 않고 앱을로드하려면 ARM으로 전환해야합니다 (많은 ARM 기반 마이크로 컨트롤러가있는 또 다른 훌륭한 플랫폼).

다른 팁

나는 당신이 프로그램 코드를 변경할 때마다 항상 MSP 430을 반사해야 할 것이라고 확신합니다. 물론 부트 로더는 플래시를 자체적으로 업데이트 할 수 있으므로 부트 로더처럼 작용하는 프로그램을 만들고 프로그램 메모리의 세라틴 부분 만 업데이트하여 애플릿을 배치하려는 곳에서 만 업데이트하려고합니다. 그런 다음 애플릿 코드가있는 플래시의 각 영역에 어떤 메모리 위치가 있는지 알아야하여 호출 할 수 있습니다.

이 애플릿에서 코드를 실행하는 데 문제가 발생합니다. 메모리 위치가 하나만 있으면 실행하려는 메모리 위치가 하나만 있으면 해당 메모리 위치를 염두에두고 컴파일 할 수 있습니다. 메모리에서 '애플릿 공간'에서 실행할 수있는 여러 가지 애플릿을 원한다면 어떤 주소로 시작하는지 알지 못하기 때문에 문제가 발생할 수 있습니다.

물론,이 애플릿 중 어느 것도 매우 커질 수 없습니다. RTO가 얼마나 많은 공간을 차지합니까?

MSP430 컨트롤러는 원하는 기능을 제공 할 수있는 여러 OS-ES에서 지원됩니다. 그들 중 일부는 OTA를 제공합니다 (항공 프로그래밍을 통해). 일부는 (플래시 기반) 파일 시스템을 제공합니다. 그러나 이는 종종 플래시 메모리를 사용하여 업로드 된 프로그램을 저장하는 것을 의미합니다.

다음은 MSP430을 지원하는 현재 활성화 된 OS-EES입니다.

콘티키 - "사물 인터넷"의 OS. 프로토 스레드를 제공합니다.

MANSOS -MSP430 장치 용 스레드 및 OTA를 지원하는 Unix와 유사한 OS.

플래시
msp430에서는 온보드 플래시를 512바이트 청크로 지우거나 다시 쓸 수 있습니다(사용자 플래시는 더 작은 청크를 처리할 수 있음).
따라서 부트로더/stable-RTOS는 이 "애플리케이션"을 사용하여 칩을 다시 프로그래밍할 수 있습니다.
인터럽트를 리디렉션하는 것은 약간 까다롭지만 "실제" 벡터 테이블에서 애플리케이션 벡터 테이블로 리디렉션 점프하여 수행할 수 있습니다.

안정/RTOS 호출
애플리케이션에서 안정 부분의 함수를 호출하는 것도 가능합니다. 각 함수에 대한 고정 점프 테이블을 안정 부분에 구축할 수 있으므로 다른 안정/RTOS 버전을 구축하더라도 애플리케이션이 함수를 호출하는 방법을 알 수 있습니다.


하나의 애플리케이션만 허용하면 쉽습니다.
안정적인 RTOS를 위해 일부 RAM을 예약해야 하며 나머지 RAM은 애플리케이션에서 사용할 수 있습니다.

그러나 둘 이상의 응용 프로그램을 사용하려는 경우 변수 배치 문제를 해결하는 것이 까다로울 수 있습니다.
응용 프로그램에서 RAM을 예약하려면 동적 할당을 선호하지만, 그런 경우에도 동적 할당 블록에 대한 포인터가 필요하며 이러한 포인터는 고정 기반이거나 응용 프로그램이 스택의 변수를 사용합니다.

일부가 있습니다 Fram MSP430 볼 가치가있는 부품. 그래도 여전히 많은 기억이 아닙니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top