Pergunta

Eu gostaria de ser capaz de ter um sistema operacional básico e um sistema de arquivo básico para a grande final MSP430 provavelmente o MSP430F5438 . Eu sei que posso ir com algo como FreeRTOS , IAR PowerPac ou Micrium para nome apenas algumas das opções para o sistema oS e arquivo. No entanto, eu gostaria de ser capaz de também ter a capacidade para carregar pequenos applets ou tópicos em um último momento idealmente recebendo este código extra fora do sistema de arquivos. Meu objetivo não é ter de reflash todo o dispositivo para alterar ou implementar uma função no dispositivo incorporado. Não tenho certeza onde a cabeça para implementar essa capacidade ou se eu precisar mudar para outro processador como um ARM.

Foi útil?

Solução

O MSP430 é um grande controlador, mas se você quer rodar um sistema operacional e aplicativos de carga sem queimá-los a piscar, você provavelmente deve mudar para ARM (outra grande plataforma com muitos microcontroladores baseados em ARM).

Outras dicas

Eu tenho certeza que você está sempre vai ter de reflash o MSP 430 cada vez que você quiser alterar o código do programa. É claro que um bootloader pode atualizar o flash, por si só, de forma que você só quer fazer um programa que age como um bootloader, mas só atualiza partes ceratin da memória do programa - ou seja, onde quer que seus applets para ser colocado. E então você tem que saber o que localização de memória cada área do flash onde seu código do applet é assim que você pode chamá-lo.

Você também iria correr em um problema com a execução do código nesses applets. Se há apenas um local de memória que pretende executá-los a partir de então você pode compilá-los com isso em mente. Se você quiser vários applets diferentes que poderiam funcionar a partir de qualquer 'espaço miniaplicativo' na memória, então você pode ter problemas porque eles não saberão o endereço que eles estão partindo.

E, claro, nenhum desses applets vai ser capaz de ser muito grande. Quanto quarto será o seu RTOS assumir?

controlador

MSP430 é apoiado por vários OS-es que podem fornecer a funcionalidade desejada. Alguns deles oferecem OTA (over-the-air). Alguns fornecem (flash baseado) sistemas de arquivos. No entanto, isso muitas vezes significa usar memória flash para armazenar o programa carregado.

Aqui estão algumas OS-es actualmente activos de apoio msp430:

Contiki - OS para "Internet das coisas". Fornece proto-threads.

Mansos -. Um unix-like OS que suporta threads e OTA para MSP430 dispositivos

Flash
Em um msp430 você pode apagar / reescrever o flash onboard em pedaços 512byte (o flash usuário pode lidar com pedaços menores).
Portanto, o seu bootloader / stable-RTOS poderia reprogramar o chip com este "aplicações".
É um pouco complicado para redirecionar as interrupções, mas que pode ser feito com um salto de redirecionamento da mesa vector "real" para uma tabela de vetores aplicação.

Chamando estável / RTOS
Também é possível chamar funções da parte estável das aplicações, você poderia construir na parte estável uma mesa de salto fixo para cada função, de modo que a aplicação sabe como chamar a função, mesmo se você construir uma outra versão estável / RTOS.

RAM
Se você permitir que apenas uma aplicação, isso é fácil.
Você tem que reservar alguns RAM para o seu estável RTOS, eo resto da RAM pode ser usado pelo aplicativo.

Mas para resolver o problema com a colocação de suas variáveis ??poderia ser complicado, se você quiser usar mais de um aplicativo.
Para RAM reserva de um aplicativo Eu prefiro alocação então dinâmico, mas, mesmo assim, você precisa de um ponteiro para os blocos dinâmicos alocado, e estes ponteiros são fixados com base ou seus aplicativos usam variáveis ??na pilha.

Existem algumas FRAM MSP430 peças fora que também pode valer a pena olhar. Ainda não é um monte de memória, apesar de tudo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top