Como carregar arquivos de uma Partição de Finalidade Geral ou Partição de Inicialização do EMMC, usando o Uboot

0

O UBoot é capaz de inicializar via fatload / ext4load a partir de uma Partição de Propósito Geral ou Partição de Inicialização da EMMC? Eu sou capaz de mostrar arquivos da área do usuário, apenas não partições criadas como partições de hardware. Essas partições podem ser criadas usando o comando "mmc hwpartition" do UBoot. Parece estranho que o UBoot possa criar essas partições, mas não parece ser capaz de usá-las. Estou usando a versão mais recente (2016.4) de UBoot da Xilinx , que é baseada com base na UBoot

Usando o comando "mmc info" do UBoot, o UBoot pode definitivamente ver as Partições de Inicialização e de Propósito Geral (GP 1/2/3/4):

zynq-uboot> mmc info
Device: sdhci@e0100000
Manufacturer ID: fe
OEM: 14e
Name: MMC04
Tran Speed: 52000000
Rd Block Len: 512
MMC version 4.4.1
High Capacity: Yes
Capacity: 2.7 GiB
Bus Width: 4-bit
Erase Group Size: 4 MiB
HC WP Group Size: 4 MiB
User Capacity: 2.7 GiB
Boot Capacity: 16 MiB ENH
RPMB Capacity: 128 KiB ENH
GP1 Capacity: 128 MiB
GP2 Capacity: 64 MiB
GP3 Capacity: 128 MiB
GP4 Capacity: 512 MiB

Normalmente, eu posso usar os comandos do UBoot: fatload / fatls ou ext4load / ext4ls para mostrar o conteúdo de uma determinada partição com base em seu tipo de sistema de arquivos.

Exemplo de funcionamento do comando fatls - observe que isso mostra o conteúdo da área User (tamanho 2.7GB acima).

zynq-uboot> fatls mmc 0:1
    17488   devicetree.dtb
   962589   fpga.bit
       54   uenv.txt
  6709360   uimage
  1555344   boot.bin
       33   image.chk
 83493724   image.tgz

7 file(s), 0 dir(s)

As partições GP, quando montadas no linux, contêm meu sistema de arquivos raiz, imagem do kernel, etc. Eu gostaria de poder inicializar a partir de uma partição GP via comandos fatload / ext4load e usar a área Usuário para outros propósitos que armazenam meus arquivos. arquivos de inicialização.

Eu encontrei outros posts sobre este tópico, no entanto, eles não parecem ter sido respondidos ainda: link

Qualquer ajuda seria apreciada!

    
por GeminiDakota 27.03.2017 / 18:28

1 resposta

0

Sim, você pode acessar as partições GP a partir do uboot.

Conforme descrito aqui link você pode usar o último argumento do comando "mmc partconf" para dizer ao eMMC que mostre partes diferentes (por exemplo, o GP em vez da área do usuário). Depois de executar esse comando e executar um comando "mmc read", você perceberá que está lendo de uma área diferente.

Tome cuidado embora. Pelo menos na minha versão de inicialização (2017), o u-boot não sabe que é necessário reler a tabela de partições e, para fins de otimização, não. Eu tive que fazer um pequeno patch no part.c no blk_get_device_by_str para forçar o part_init a executar cada vez. Então, quando você faz uma "parte mmc", você deve ver a tabela de partição GP também, e pode fazer qualquer operação de arquivo como você faria normalmente. Não se esqueça de que fazer um "mmc rescan" ou qualquer reset do eMMC vai perder o estado GP, e você terá que voltar para o GP novamente para lê-lo.

    
por 16.11.2018 / 13:21