Logotipo de EmCraft b1

 

 

Linux SmartFusion 2

Guía BSP (Paquete de soporte de placa) para a placa Microsemi SF2-DEV-KIT

Versión 1.10.1

Sistemas Emcraft

1. Rematadoview

Este documento é unha guía Linux SmartFusion2 BSP (Paquete de soporte para placas) para a placa Microsemi SF2-DEV-KIT, versión 1.10.1.

O BSP ofrece un ambiente de desenvolvemento de software para a avaliación e desenvolvemento de Linux no núcleo do procesador Cortex-M3 do microcontrolador Microsemi SmartFusion2 utilizando a placa Microsemi SF2-DEV-KIT como plataforma de hardware.

2. Contido do produto

Este produto inclúe os seguintes compoñentes.

2.1. Elementos de hardware enviables

Os seguintes elementos de hardware envíanse aos clientes deste produto:

  1. Ningún: ESTE É UN PAQUETE SÓ PARA SOFTWARE. Compre a placa SF2-DEV-KIT de Microsemi ou dos seus distribuidores.
2.2. Materiais de hardware descargables

Os seguintes materiais de hardware están dispoñibles para descargar desde Emcraft's web sitio para os clientes deste produto:

  1. Ningún: obtén materiais de hardware pertinentes para a placa SF2-DEV-KIT directamente de Microsemi.
2.3. Materiais de software descargables

Os seguintes materiais de software están dispoñibles para descargar desde Emcraft's web sitio para os clientes deste produto:

  1. sf2-dev-kit.stp – SF2-DEV-KIT Libero .stp file coa imaxe U-Boot incrustada, lista para a instalación no SF2-DEV-KIT mediante a ferramenta Microsemi FlashPro;
  2. sf2-dev-kit.zip – proxecto Liber SF2-DEV-KIT;
  3. networking.uImage: imaxe de Linux preconstruída lista para ser cargada na placa SF2-DEV-KIT;
  4. linux-M2S-1.10.1.tar.bz2 - Contorno de desenvolvemento de software Linux SmartFusion2, que inclúe:
    a) firmware U-Boot;
    b) núcleo de Linux;
    c) busybox e outros compoñentes de destino;
    d) Contorno de desenvolvemento cruzado aloxado en Linux;
    e) Marco para o desenvolvemento de múltiples proxectos (aplicacións embebidas) desde unha única instalación, incluíndo sample permiten iniciar o desenvolvemento de software para Linux SmartFusion2.
2.4. Materiais de documentación descargables

Os seguintes materiais de documentación están dispoñibles para descargar desde Emcraft's web sitio para os clientes deste produto:

  1. linux-cortexm-um-1.10.1.pdf – Manual de usuario de Linux Cortex-M;
  2. linux-SF2-DEV-KIT-bspg-1.10.1.pdf – Guía de Linux SmartFusion2 BSP (paquete de soporte para placas) para a placa Microsemi SF2-DEV-KIT (este documento).
3. Funcionalidade do software
3.1. Funcións admitidas

A seguinte lista resume as características e capacidades de Linux SmartFusion2, versión 1.10.1:

  • Firmware U-Boot:
    • U-Boot v2010.03;
    • Inicialización de destino desde o acendido / reinicio;
    • Funciona desde o eNVM interno e a SRAM interna (non se precisa memoria externa para o funcionamento autónomo);
    • consola serie;
    • Controlador Ethernet para cargar imaxes no destino;
    • Controlador de serie para cargar imaxes no destino;
    • Controlador de dispositivo para Flash integrado (eNVM) e capacidade de actualización automática;
    • Controlador de dispositivo para almacenar imaxes do entorno e Linux en Flash externo;
    • Función de arranque automático, que permite o arranque de imaxes do SO desde Flash ou outro almacenamento sen intervención do operador;
    • Ambiente persistente en Flash para a personalización da operación de destino;
    • Interface de comando sofisticada para o mantemento e desenvolvemento do destino.
  • Linux:
    • kernel uClinux v2.6.33;
    • Arranque desde imaxes comprimidas e sen comprimir;
    • Capacidade de executar código do núcleo crítico desde o Flash integrado de SmartFusion2;
    • controlador de dispositivo en serie e consola Linux;
    • Controlador de dispositivos Ethernet e rede (ping, NFS, Telnet, FTP, ntpd, etc.);
    • busybox v1.17;
    • POSIX pthreads;
    • Protección de proceso a núcleo e de proceso a proceso mediante a Unidade de protección de memoria (MPU) do núcleo SmartFusion2;
    • Manexo de excepcións endurecido; unha excepción desencadeada por un proceso afecta só ao proceso infractor;
    • Módulos do núcleo cargables;
    • Demonio de shell seguro (ssh);
    • Web servidor;
    • Partición Flash baseada en MTD e Flash JFFS2 persistente file sistema para Flash externo;
    • Controlador de dispositivo para a interface USB OTG;
    • controlador de dispositivo I²C;
    • controlador de dispositivo de modo mestre do controlador SPI;
    • Controlador de dispositivo para a NVM integrada;
    • controlador de dispositivo GPIO.
  • Ferramentas de desenvolvemento:
    • A cadea de ferramentas GNU optimizada para ARMv7 de CodeSourcery (2010q1) úsase para o desenvolvemento de U-Boot, Linux e aplicacións de espazo de usuario (a cadea de ferramentas debe descargarse por separado de CodeSourcery). web sitio);
    • Cross GDB para depurar aplicacións de espazo de usuario;
    • Ferramenta mkimage utilizada polo proceso de compilación do núcleo de Linux para crear unha imaxe de Linux que se pode iniciar mediante U-Boot.
  • Entorno de desenvolvemento:
    • entorno de desenvolvemento cruzado aloxado en Linux;
    • Desenvolvemento de múltiples proxectos (aplicacións embebidas) desde unha única instalación;
    • ola sample project ("Ola, mundo!" Configuración dun só proceso);
    • rede sample project (demostración de ferramentas básicas de xestión de shell, redes e Flash);
    • desenvolvedor sample project (proxecto modelo que se pode usar para iniciar o desenvolvemento de aplicacións personalizadas de espazo de usuario e módulos de núcleo cargables).
3.2. Funcións novas e modificadas

Esta sección enumera as funcións novas e modificadas desta versión:

  1. Resolve o seguinte defecto: a interface Ethernet non funciona con U-boot e uClinux.
    Código: RT 82124.
  2. Resolve o seguinte defecto: o comando sf erase U-Boot non admite un intervalo arbitrario.
    Código: RT 85334.
  3. Mellora o tempo de arranque das configuracións habilitadas para a rede en Linux Cortex-M3/M4.
    Código: RT 85493.
3.3. Problemas coñecidos e limitacións

Esta sección enumera os problemas coñecidos e as limitacións desta versión:

  1. A interface Ethernet non funciona en redes de 100 Mb.
    Código: RT 86022.
    Solución: conecte a placa a unha rede de 1000 Mb.
  2. CONFIG_KERNEL_IN_ENVM require desactivar CONFIG_ARM_UNWIND e CONFIG_EARLY_PRINTK.
    Código: RT 74683.
    Solución: ao activar CONFIG_KERNEL_IN_ENVM no núcleo, desactive CONFIG_ARM_UNWIND e CONFIG_EARLY_PRINTK.
  3. A conexión quente USB non funciona en SmarFusion2 baixo uClinux.
    Código: RT 82415.
    Solución alternativa: a limitación levantarase na próxima versión.
4. Configuración do hardware

Esta sección explica como configurar a tarxeta Microsemi SF2-DEV-KIT.

4.1. Interfaces de hardware

A placa SF2-DEV-KIT ofrece os seguintes compoñentes e interfaces:

frecha SF2-DEV - Interfaces de hardware

  1. DC Jack
  2. Interruptor de encendido
  3. Cabeceira FP4
  4. Conector POE
  5. Interruptor de reinicio
  6. SmartFusion 2
  7. Memoria DDR3
  8. Conector RS232
  9. Conector USB Micro AB
  10. Flash SPI
4.2. Puentes

Os seguintes puentes deben configurarse na tarxeta SF2-DEV-KIT. Os puentes que non se mencionan na seguinte táboa deberían estar conectados cos axustes predeterminados descritos na Guía do usuario do SF2-DEV-KIT de Microsemi.

Jumper

Función

Configuración

SPI_0
J110 Jumper para seleccionar entre SPI Flash SCK e FMC_V22.
Pin 1-2 SPI Flash Pechado
Pin 2-3 FMC Aberto
J118 Jumper para seleccionar entre SPI Flash SDO e FMC_W27.
Pin 1-2 SPI Flash Pechado
Pin 2-3 FMC Aberto
J119 Jumper para seleccionar entre SPI Flash SDI e FMC_Y30.
Pin 1-2 SPI Flash Pechado
Pin 2-3 FMC Aberto
J121 Jumper para seleccionar entre SPI Flash SS e FMC_W28.
Pin 1-2 SPI Flash Pechado
Pin 2-3 FMC Aberto
SPI_1
J20 Jumper para seleccionar entre ZL30362 SPI_CS e FT4232 SPI_CS.
Pin 1-2 ZL30362 Pechado
Pin 2-3 FT4232 Aberto
J21 Jumper para seleccionar entre ZL30362 SPI_SCL e FT4232 SPI_SCL.
Pin 1-2 ZL30362 Pechado
Pin 2-3 FT4232 Aberto
J22 Jumper para seleccionar entre ZL30362 SPI_SO e FT4232 SPI_SI.
Pin 1-2 ZL30362 Pechado
Pin 2-3 FT4232 Aberto
J25 Jumper para seleccionar entre ZL30362 SPI_SI e FT4232 SPI_SO.
Pin 1-2 ZL30362 Pechado
Pin 2-3 FT4232 Aberto
J54 Jumper para seleccionar entre o restablecemento de ZL30362 e o restablecemento de FT4232 desde VSS do dispositivo SmartFusion2.
Pin 1-2 ZL30362 Pechado
Pin 2-3 FT4232 Aberto
USB
J139 Jumper para seleccionar entre USB reset e FMC_P24.
Pin 1-2 USB Pechado
Pin 2-3 FMC Aberto
J163 Jumper para seleccionar o modo de funcionamento USB.
Pin 1-2 Modo On-The-Go (OTG). Pechado
Pin 2-3 Modo host ou dispositivo Aberto
J164 Jumper para proporcionar a subministración VBUS a USB cando se usa no modo Host. 1–2 Pechado
MMUART_1
J188 Jumper para seleccionar entre RS232_DIN e FMC_H30.
Pin 1-2 RS232 Pechado
Pin 2-3 FMC Aberto
J197 Jumper para seleccionar entre RS232_ROUT e FMC_G29.
Pin 1-2 RS232 Pechado
Pin 2-3 FMC Aberto
4.3. Conexións da placa

Para proporcionar alimentación á placa SF2-DEV-KIT, conecte un cable de alimentación á toma de alimentación da placa (J18).

Para proporcionar unha interface en serie a un PC/portátil, conecte un cable RS-232 de módem nulo ao conector J198 da placa. No lado do PC, a ligazón en serie proporciona un dispositivo de consola serie ao SF2-DEV-KIT. O software instalado na placa está configurado para un terminal de 115.2 K. No host Linux, a consola serie está dispoñible usando un dispositivo /dev/ttySn.

Para proporcionar conectividade de rede á placa, conéctaa á súa LAN conectando un cable Ethernet estándar ao conector J4. A placa está preconfigurada cun enderezo IP de 192.168.0.2.

Conecte a placa SF2-DEV-KIT a unha ferramenta programadora Microsemi FlashPro conectando un J estándar.TAG cable no conector J59. En canto instale o firmware U-Boot e un proxecto Libero axeitado na placa (consulte a Sección 5.1), pode eliminar a conexión co programador FlashPro.

Tamén pode conectar un cable USB MicroA ou USB MicroB ao conector P1 USB Micro AB. Pódese usar para conectar un dispositivo USB Flash, para facer visible SmartFusion2 como dispositivo de almacenamento USB nun host USB e para outras aplicacións.

Conecte a alimentación á placa SF2-DEV-KIT mediante o interruptor de alimentación incorporado.

5. Configuración do software Linux da placa SF2-DEV-KIT
5.1. Instalación de U-Boot

U-Boot pódese instalar na placa Microsemi SmartFusion2 SF2-DEV-KIT usando o proxecto Linux SmartFusion2 Libero proporcionado por Emcraft e unha ferramenta Microsemi FlashPro. Aquí está un example de como se pode facer isto:

  1. Inicie FlashPro nun servidor Windows;
  2. Desde o IDE de FlashPro, cree un novo proxecto cun nome arbitrario;
  3. Desde a xanela principal de FlashPro, preme Configurar dispositivo;
  4. Preme Navegar ao lado para cargar a programación existente file. Navega ata o proxecto Linux SmartFusion2 .stp file para a placa SmartFusion2 SF2-DEV-KIT e escóllea.
  5. Preme Programa na parte superior da xanela principal para programar o proxecto no dispositivo SmartFusion2 e agarda a que se complete o procedemento de programación. Se a programación se completa con éxito, un próximo restablecemento debería traer as mensaxes de inicio de U-Boot e a interface de liña de comandos na interface da consola serie.
5.2. Ambiente U-Boot

Cando se restableza a placa SF2-DEV-KIT, o arranque de Linux procederá a iniciar o firmware U-Boot desde o Flash incorporado imprimindo a seguinte saída na consola serie:

U-Boot 2010.03-linux-cortexm-1.10.1 (11 de xuño de 2013 - 19:43:46)

CPU: SmartFusion2 SoC (Cortex-M3 Hard IP)
Freqs  :  CORTEX-M3=166MHz,PCLK0=83MHz,PCLK1=83MHz
Placa: SF2-DEV-KIT
*** Aviso: CRC incorrecto, usando o ambiente predeterminado

 

Memoria RAM: 64 MB
En: serie
Saída: serie
Err: serie
Rede: M2S_MAC
Prema calquera tecla para deter o arranque automático: 0
SF2-DEV-KIT>

U-boot fai uso das chamadas variables de ambiente para definir varios aspectos da funcionalidade do sistema. Os parámetros definidos polas variables de ambiente U-boot inclúen: enderezo IP de destino, enderezo MAC de destino, enderezo na RAM onde se cargarán imaxes de arranque de Linux e moitos máis. Para examinar a configuración actual das variables de ambiente, execute printenv desde a interface de comandos de U-Boot.

O motivo da advertencia sobre o "mal CRC" é que U-Boot está configurado para almacenar as súas variables de ambiente no Flash externo. Non obstante, sendo esta a primeira vez que arranca Linux SmartFusion2 na placa de desenvolvemento, obviamente non hai ningún ambiente U-Boot programado para o Flash externo. U-Boot vai ao Flash externo, non atopa o seu entorno alí, imprime a mensaxe de aviso e recorre ao uso do ambiente predeterminado integrado na imaxe de U-Boot no momento da construción.

U-Boot ofrece un comando chamado saveenv que almacena o ambiente de execución actualizado no almacenamento persistente, que será o Flash externo para a configuración de U-Boot usada na placa SF2-DEV-KIT. Debe chamar a saveenv en calquera momento cando quere copiar a configuración actual das variables de ambiente ao almacenamento persistente en Flash. Deste xeito podes escribir o ambiente de U-Boot actual no Flash externo:

SF2-DEV-KIT> saveenv
Gardando o ambiente en SPI Flash...
Erasing SPI flash…Writing to SPI flash…done
SF2-DEV-KIT>

Restablece a placa SF2-DEV-KIT e comprobe que non hai ningún aviso sobre o CRC incorrecto nas mensaxes de inicio. Isto espérase xa que agora U-Boot atopa con éxito o seu entorno no Flash externo:

SF2-DEV-KIT> restablecer
restablecendo ... U-Boot 2010.03-linux-cortexm-1.10.1 (11 de xuño de 2013 - 19:43:45)

Prema calquera tecla para deter o arranque automático: 0
SF2-DEV-KIT>
5.3. Enderezo MAC Ethernet

En Linux SmartFusion2, o enderezo MAC da interface Ethernet está definido pola variable de ambiente ethaddr U-Boot. O valor do enderezo MAC pódese examinar desde o monitor da liña de comandos de UBoot do seguinte xeito:

SF2-DEV-KIT> printenv ethaddr
ethaddr=C0:B1:3C:88:88:88
SF2-DEV-KIT>

O entorno U-Boot predeterminado para a placa SF2-DEV-KIT establece ethaddr nun enderezo MAC fixo. Este enderezo debería funcionar para ti nun caso xeral, non obstante, se tes máis de dúas placas SF2-DEV-KIT na túa LAN, o uso do mesmo enderezo en varias placas pode producir colisións de paquetes na túa LAN e, en xeral, pode render a túa LAN mal funcionamento.

Se tes máis dunha placa SF2-DEV-KIT na túa LAN, tes que asignar un enderezo MAC único a cada placa.

O enderezo MAC pódese cambiar modificando a variable ethaddr do seguinte xeito:

SF2-DEV-KIT> setenv ethaddr C0:B1:3C:88:88:89

Non esquezas almacenar a túa actualización no almacenamento persistente mediante saveenv para que se recorde durante os reinicios e os ciclos de acendido.

5.4. Configuración de rede

Terás que actualizar a configuración de rede do teu taboleiro para que coincida coa configuración do teu ambiente local.

Normalmente, o único que tes que permitir cargar imaxes a través da rede desde un servidor TFTP é actualizar as variables de ambiente de U-Boot ipaddr (o enderezo IP da placa) e serverip (o enderezo IP do servidor TFTP). Velaquí como se fai.

Actualizar ipaddr e serverip:

SF2-DEV-KIT> setenv ipaddr 192.168.0.2
SF2-DEV-KIT> setenv serverip 192.168.0.1

e, a continuación, garda o ambiente actualizado no Flash externo para que os cambios sexan persistentes durante os ciclos de reinicio/encendido.

5.5. Cargando imaxes de Linux

Neste punto, podes cargar imaxes de arranque de Linux no taboleiro a través de TFTP e inicialas directamente ou instalalas no Flash externo para permitir o arranque de Linux desde Flash ao acender/reiniciar.

No servidor, active o ambiente de desenvolvemento Linux SmartFusion2 e constrúe o proxecto de rede:

-bash-3.2 $. ACTIVAR.sh
-bash-3.2$ proxectos de CD/rede/
-bash-3.2$ facer

-bash-3.2 $

Copia a imaxe de arranque de Linux no directorio de descargas TFTP:

-bash-3.2$ cp networking.uImaxe /tftpboot/vlad/
-bash-3.2 $

Para cargar a imaxe directamente, use a macro U-Boot de netboot:

SF2-DEV-KIT> setenv image vlad/networking.uImaxe
SF2-DEV-KIT> executa o arranque da rede

TFTP do servidor 172.17.0.1; o noso enderezo IP é 172.17.5.100
Filenome 'vlad/networking.uImage'.

Cargando: ################################################ #################
##################################################### ###############
#############
feito
Bytes transferidos = 2084704 (1fcf60 hexadecimal)

Nome da imaxe: Linux-2.6.33-arm1
Tipo de imaxe: Imaxe do núcleo ARM Linux (sen comprimir)

Verificando a suma de comprobación... OK
Cargando imaxe do núcleo... Aceptar
OKIniciando o kernel...Versión de Linux 2.6.33-arm1 (vlad@ocean.emcraft.com) (versión de gcc 4.4.1 (Sourcery G++ Lite 2010q1-189) ) #1 Mar 11 de xuño 15:43:44 MSK 2013

Para cargar a imaxe no Flash, use a macro de actualización de U-Boot:

SF2-DEV-KIT> setenv image vlad/networking.uImaxe
SF2-DEV-KIT> executar a actualización

TFTP do servidor 172.17.0.1; o noso enderezo IP é 172.17.5.100
Filenome 'vlad/networking.uImage'.

Cargando: ################################################ #################
##################################################### ###############
#############
feito
Bytes transferidos = 2084704 (1fcf60 hexadecimal)
16384 KiB S25FL128S 64K ás 0:0 agora é o dispositivo actual
Gardando o ambiente en SPI Flash...
Erasing SPI flash…Writing to SPI flash…done
SF2-DEV-KIT>

Restablece o taboleiro e verifica que a imaxe recentemente programada se inicia no destino no modo de inicio automático:

SF2-DEV-KIT> restablecer
restablecendo ... U-Boot 2010.03-linux-cortexm-1.10.1 (11 de xuño de 2013 - 17:19:37)

Iniciando o núcleo...

inicio inicio: BusyBox v1.17.0 (11 de xuño de 2013 - 17:19:37)
~ #
5.6. Construción U-Boot

A distribución BSP vén con U-Boot preconstruído para a placa SF2-DEV-KIT. Non obstante, se precisas reconstruír U-Boot para o teu taboleiro, sigue as instrucións a continuación:

  1. Instale a distribución Linux SmartFusion2 no host de desenvolvemento, tal e como se describe no Manual do usuario de Linux Cortex-M.
  2. Desde a parte superior da instalación de Linux SmartFusion2, active o ambiente de compilación cruzada de Linux SmartFusion2 executando . ACTIVAR.sh.
  3. Vaia ao directorio fonte de U-Boot (cd u-boot/).
  4. Executa os seguintes comandos:
[psl@pvr u-boot]$ make sf2-dev-kit_config
Configurando para a placa sf2-dev-kit...
[psl@pvr u-boot]$ make -s
[psl@pvr u-boot]$ make -s u-boot.hex
6. Outros materiais

Consulte o Manual do usuario de Linux Cortex-M para obter información detallada sobre a arquitectura de software da distribución Linux SmartFusion2.

Visita Emcraft Systems web sitio en www.emcraft.com para obter materiais adicionais relacionados con Linux SmartFusion2.

7. Apoio

Agradecemos a súa review do noso produto e benvido a todos os comentarios. Os comentarios pódense enviar directamente por correo electrónico a:
a2f-linux-support@emcraft.com

Coa compra deste produto inclúese o seguinte nivel de asistencia:

  • Soporte por correo electrónico para escenarios de instalación, configuración e uso básico do produto durante 3 meses desde a compra do produto;
  • Actualización gratuíta a novas versións dos materiais descargables incluídos no produto durante 3 meses desde a compra do produto.

Se precisas de apoio máis aló do descrito anteriormente, estaremos encantados de proporcionarllo utilizando os recursos do noso equipo de desenvolvemento de contratos. Póñase en contacto connosco para obter máis detalles.

Linux SmartFusion2 BSP Guide for the Microsemi SF2-DEV-KIT Board

Versión 1.10.1

Descargado desde Arrow.com.

Documentos/Recursos

arrow Placa SF2-DEV KIT [pdfGuía do usuario
Placa KIT SF2-DEV, placa KIT, placa

Referencias

Deixa un comentario

O teu enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *