Integridade de Green Hills Alocação de memory dinâmica

Eu tenho um requisito que precisa alocar e desalocar memory repetidamente. Atualmente experimentando no simulador do Integrity ARM.

Eu criei duas tarefas: Primeira tarefa (codificador): recebe dados de vídeo de um soquete e os codifica e envia para a segunda tarefa. Segunda tarefa (decodificador): recebe dados do codificador e os decodifica. Neste processo de decodificação, ele aloca dinamicamente a memory e, após a decodificação, desaloca a memory.

Depois de algum tempo, a tarefa do decodificador é suspensa e não pode ler o erro de memory protegida. Como posso resolver esse problema de memory dinâmica? Eu não quero usar matrizes de tamanho fixo.

obrigado

Eu vejo este é um post antigo e você provavelmente já encontrou uma correção, mas eu vi um comportamento semelhante no Integrity quando a memory reservada para o espaço de endereço virtual no arquivo int não é suficiente. Tente aumentar o MemoryPoolSize e / ou HeapSize no seu arquivo int do VAS. Além disso, verifique novamente se a mesma quantidade de memory alocada é posteriormente desalocada corretamente. Eu sei que o erro que você vê não parece estar relacionado à falta de memory, mas eu vi Integrity se comportar muito estranho quando a memory para o VAS está esgotada. Você pode verificar seu uso de memory para ver se está se aproximando do limite usando a session de debugging do INDRT2 e o comando ‘lt’ que relatará o tamanho do conjunto de memory Usado / Tamanho por VAS.

Boa sorte!