Classificação de comandos comumente usados de LoongSon-PMON

Inicie comandos relacionados ao kernel por meio do pmon

 

Carregando rede:

  carregar tftp: // ip do servidor / vmlinux

  initrd tftp: //server‐ip/initrd.gz

  g console = tty console = ttyS0,115200

 

Inicialize do disco u:

  carregar (usb0,0) / vmlinux

  initrd (usb0,0) /initrd.gz

  g console = tty console = ttyS0,115200

 

Explicação do comando:

Comando: carregar

Formato: carregar <elf-file>

Explicação: O comando load é um comando muito importante no PMON. A função é carregar um arquivo elf na memória (aqui ele é apenas armazenado na memória, mas não gravado na memória flash). O processo de carregamento é um processo geral de processamento automático de redirecionamento de arquivo elf e outras operações baseadas nas informações de o arquivo elf, portanto, não há necessidade de especificar o endereço de memória a ser carregado, o comando de carregamento será concluído automaticamente.

如: load tftp: // ip do servidor / vmlinux

O comando acima é para carregar o kernel do servidor tftp de rede na memória.

Como: load / dev / mtd0b

O comando acima é para carregar um arquivo elf do início da primeira partição do nandflash na memória, onde o kernel é geralmente armazenado, que é outra maneira de carregar o kernel.

Nota: O vmlinux aqui é um arquivo elf. Se o arquivo carregado especificado não for um arquivo elf, um erro será solicitado.

 

Comando: initrd

Formato: initrd <arquivo img>

Explicação: carregar imagem initrd

 

Comando: g

Formato: g [‐s] [- b bpaddr] [- e addr] [‐ args]

Explicação: O comando g é um comando muito importante no PMON, que executa diretamente o programa a partir do endereço de memória especificado

Como: g -e addr

Como no comando acima, o programa é executado diretamente do endereço de memória addr. A premissa da operação normal é que um programa executável foi armazenado na memória no início de addr. Addr é o endereço de entrada deste programa. Por exemplo , sabemos que o endereço de memória 0x80010000 é o código pmon. Armazene o endereço inicial do segmento, execute g -e 0x80010000 executará novamente o código pmon, que é equivalente a reiniciar o PMON (o pmon não será copiado do piscar neste momento)

carregar tftp: // ip do servidor / vmlinux

g console = ttyS0,115200 rdinit = / sbin / init

O comando acima é usado em conjunto com o comando load. Após a conclusão do carregamento, use o comando g para executar automaticamente o kernel a partir do endereço de entrada do kernel carregado. Este é o parâmetro "console = ttyS0,115200 rdinit = / sbin / init "são os parâmetros de inicialização do kernel.

 

Variáveis ​​de ambiente relacionadas à inicialização

As variáveis ​​de ambiente relacionadas à inicialização são al1, rd, append, que correspondem ao kernel, caminho initrd e parâmetros de inicialização, por exemplo

Pode ser definido para:

definir al1 / dev / mtd0

set rd /dev/fs/yaffs2@mtd1/initrd.gz

definir append console = tty console = ttyS0,115200

Explicação do comando:

Comando: set

Formato: definir [nome] [valor]

Explicação: Verifique as variáveis ​​de ambiente em pmon e defina o nome da variável de ambiente como valor

Tais como: set (ver e exibir todas as variáveis ​​de ambiente em pmon);

      definir wk kkk (adicionar ou modificar o valor do ambiente wk para kkk)

 

kernel flash pmon e sistema de arquivos para método nand

Precisa ser apagado antes da programação, o comando é o seguinte:

mtd_erase / dev / mtd0r // 0 significa partição, o sufixo r significa apagar sem pular rapidamente

mtd_erase / dev / mtd1r

devcp tftp: // ip do servidor / vmlinux / dev / mtd0

devcp tftp: //server‐ip/roofs‐yaffs2.img / dev / mtd1y

definir al1 / dev / mtd0

set append console = ttyS0,115200 rdinit = / sbin / init root = / dev / mtdblock1 rw

rootfs = yaffs2

Explicação do comando:

Comando: devcp

格式: devcp <src‐device> <desc‐device>

Explicação: O comando devcp deve ser um comando importante no PMON.

A implementação é: abra os dois dispositivos src-device e desc-device, leia uma certa quantidade de dados de byte do src-device, grave-os no dispositivo desc-device e feche esses dois dispositivos após a conclusão.

如: devcp tftp: // ip do servidor / vmlinux / dev / mtd0

O comando acima é para receber e ler o kernel vmlinux do servidor tftp e gravá-lo na primeira partição do nandflash.Este é um comando comumente usado para programar o kernel para flash.

如: devcp tftp: //server‐ip/roofs‐yaffs2.img / dev / mtd1y

O comando acima é para receber e ler o arquivo de imagem yaffs2 rootfs-yaffs2.img do sistema de arquivos root do servidor tftp

Flash para a segunda partição do nandflash. Este é um comando comumente usado para atualizar o sistema de arquivos yaffs2 para o nandflash.

 

Comando: mtdparts

Formato: mtdparts

Explicação: Exibe as informações da partição atual de nandflash.

 

Comando: mtd_erase

Formato: mtd_erase <mtd-device>

Explicação: Limpe uma partição de nandflash

(Apague a primeira partição do nandflash, pule os lugares que já são blocos defeituosos e não tentará apagar os lugares que já são blocos defeituosos);

mtd_erase / dev / mtd0r

(Apague a primeira partição do nandflash. Neste momento, ele tentará apagar todos os blocos, mesmo se for um bloco defeituoso, tentará apagá-lo.

Exceto operação).

 

Ver e modificar dtb em pmon

A linha de comando do Pmon oferece suporte, visualização, exclusão e re-gravar dtb.

Visualize o comando dtb em Pmon:

Print_dtb / Imprime todo o conteúdo do dtb

Print_dtb / soc / dc @ 0x400c0000 imprime todo o conteúdo de dc

 

Excluir dtb em Pmon

rm_dtb_node / deletar todo o dtb

rm_dtb_node / soc / hda @ 0x400d00000 excluir o conteúdo

 

Reprogramar dtb sob pmon

O dtb passará as informações sobre o tamanho da memória para o kernel. Se esta parte do conteúdo for passada incorretamente, isso causará erros imprevisíveis. Se você reescrever o conteúdo interno, precisará ler o conteúdo da memória por meio do comando print_dtb e atualizá-lo para o novo arquivo dts (o terceiro processador não transmite informações de memória).

Executar make dtb no diretório de compilação pmon irá gerar o arquivo Bonito3a3000_7a.dtb. Este arquivo pode ser gravado separadamente.  

Comandos de programação e programação consistente

 

Introdução a outros comandos 

Comando: d1

Formato: d1 <addr> <num>

Explicação: abreviação para display

Pressione unsigned char para acessar e exibir os valores de conteúdo num começando do endereço addr.

Por exemplo: d1 0x85000000 0x10

Exibir 0x10 bytes (8 bits) do endereço de memória 0x85000000, 0x85000000-0x8500000f

 

Comando: d2

Formato: d2 <addr> <num>

Explicação: abreviação para display

Pressione (abreviatura sem sinal) para acessar e exibir os valores do conteúdo num começando no endereço addr.   

Por exemplo: d2 0x85000000 0x10

Exibir valores de tipo curto sem sinal 0x10 (16 bits) do endereço de memória 0x85000000, 0x85000000-0x8500001e

 

Comando: d4

Formato: d4 <addr> <num>

Explicação: abreviação para display

Pressione (longo sem sinal) para acessar e exibir os valores do conteúdo num começando do endereço addr.

Por exemplo: d4 0x85000000 0x10

Exibir 0x10 valores longos sem sinal (32 bits) do endereço de memória 0x85000000, 0x85000000-0x8500003c

 

Comando: d8

Formato: d8 <addr> <num>

Explicação: abreviação para display

Pressione (longo sem sinal) para acessar e exibir os valores de conteúdo num começando do endereço addr.

Como: d8 0x85000000 0x10

Exibir 0x10 valores longos não assinados (64 bits) do endereço de memória 0x85000000, 0x85000000-0x85000078

 

Comando: m1

格式: m1 <addr> <value>

Explicação: modificar taquigrafia

Pressione unsigned char para acessar e modificar o valor do conteúdo do endereço addr.

Por exemplo: m1 0x85000000 0x10

Modificar um valor de unsigned char no endereço de memória 0x85000000 é equivalente a: * (unsigned char *) addr = value;

 

Comando: m2

Formato: m2 <addr> <value>

Explicação: modificar taquigrafia

Pressione unsigned short para acessar e modificar o valor do conteúdo do endereço addr.   

Por exemplo: m2 0x85000000 0x10

Modificar um valor curto sem sinal no endereço de memória 0x85000000 é equivalente a: * (curto sem sinal *) addr = valor;

 

Comando: m4

Formato: m4 <addr> <value>

Explicação: modificar taquigrafia

Pressione unsigned long para acessar e modificar o valor do conteúdo do endereço addr.

Por exemplo: m4 0x85000000 0x10

Modificar um valor longo sem sinal no endereço de memória 0x85000000 é equivalente a: * (longo sem sinal *) addr = valor;

 

Comando: m8

格式: m8 <addr> <value>

Explicação: modificar taquigrafia

Acesse e modifique o valor do conteúdo do endereço addr de acordo com unsigned long long.

Por exemplo: m8 0x85000000 0x10

Modificar um valor longo sem sinal no endereço de memória 0x85000000 é equivalente a: * (longo sem sinal *) addr = valor;

 

Comando: devls

Formato: devls

Explicação: Verifique alguns dispositivos do pmon, os dispositivos exibidos aqui não são todos dispositivos.

Geralmente, existem placas de rede, USB, cartões CF, cartões SD, discos rígidos, etc., que são usados ​​principalmente para visualizar o nome do dispositivo para outras operações.

 

Comando: ifaddr

格式: ifaddr <interface> <ipaddr>

Explicação: Defina o endereço IP da placa de rede, como: ifaddr syn0 192.168.0.1 (syn0 é o nome da placa de rede, você pode usar o comando devls para visualizá-lo, não há necessidade de definir a máscara de sub-rede aqui, pmon irá definir automaticamente a máscara de sub-rede para 255.255.255.0)

 

Comando: ping

Formato: ping <ipaddr>

Explicação: Detecção simples, como: ifconfig syn0 (syn0 é o nome da placa de rede, você pode usar o comando devls para visualizá-la)

 

Comando: não definido

Formato: não definido <nome>

Explicação: Remova a variável de ambiente denominada nome. Para a explicação das variáveis ​​de ambiente, consulte o apêndice PMON variáveis ​​de ambiente

Acho que você gosta

Origin blog.csdn.net/qq543716996/article/details/104768764
Recomendado
Clasificación