Você pode tentar matar algum processo (serviços como samba, snmp ...) antes de piscar (supondo que a reinicialização seja executada quando a atualização estiver completa) para obter mais memória disponível.
Sou relativamente novo no mundo incorporado, então me perdoe se isso parecer óbvio.
Estou trabalhando em uma placa baseada no AT91SAM9260. Eu tenho 256MB de flash e 64MB de RAM. A configuração atual pisca duas imagens. O primeiro, se uma imagem de recuperação apenas RAMDISK, e o segundo é a imagem principal. O primeiro é usado para atualizar rootfs.ubifs em / dev / mtd1 para o uImage principal.
Um dos problemas que estou encontrando está ficando sem memória enquanto flash o rootfs da imagem de recuperação. Dependendo do tamanho do rootfs, ele fica sem memória enquanto pisca. Estou usando o TFTP para puxar a imagem para o dispositivo e exibi-la. Portanto, ele deve residir na memória junto com a recuperação uImage.
Existe uma maneira mais eficiente de fazer isso, talvez? Embora o objetivo seja manter nossos rootfs pequenos, obviamente, dado que ele está indo para um dispositivo embarcado, alguns de nossos clientes têm necessidades diferentes e não se importam mais com o flash sendo usado pelo sistema operacional.
Você pode tentar matar algum processo (serviços como samba, snmp ...) antes de piscar (supondo que a reinicialização seja executada quando a atualização estiver completa) para obter mais memória disponível.