O que é ARM Streamline?
ARM Streamline é uma parte da série de ferramentas da ARM DS-5. A ARM Streamline permitiu que desenvolvedores de software fizessem pleno uso dos recursos disponíveis ajudando-os a criarem produtos que exigem um alto desempenho e eficiência.
Ele tem uma interface gráfica que exibem informações da CPU e os contadores de desempenho do GPU para os códigos fontes hotspots e exibem o consumo real de energia. Desta forma, os desenvolvedores melhoram o paralelismo do código, estendem a vida útil da bateria e melhoram a experiência do usuário.
Ele oferece um poderoso ambiente de análise de sistema funcional utilizado para a otimização de software.
Por que usar uma Streamline?
![]() |
Melhora o Rate do Código• Encontrando a posição do CPU que consume tempo |
![]() |
Reduz o consumo de energia• Usando o detector de energia ARM para monitorar o consumo real de energia, Corrente e Voltagem |
![]() |
Use os recursos do sistema de forma eficaz• Analisando e otimizando o Mali GPU e o código do CPU. |
![]() |
Personalize o sistema• Verifique seus dados para conectar Dinamize vista de análise |
Antes do desenvolvimento, o que preciso ter:
1) Ubuntu12.04 como Sistema Operacional do computador
2) Uma Cubietruck
3) Cabo de dados USB-miniUSB para a interação de dados do PC e da Placa (O sistema Linux não tem ferramentas ADB, interação dados através da rede)
4) Faça o download do código fonte do Android cubieboard ou linux
5) Faça o download do pacote de código fonte DS-5
Faça o download do código fonte e ferramentas:
Código fonte do Linux
$ mkdir linux-sdk-card $ cd linux-sdk-card 1) |
Código do Kernel
$ git clone https://github.com/cubieboard/linux-sdk-kernel-source.git $ mv linux-sdk-kernel-source linux-sunxi |
Ferramentas
$ git clone https://github.com/cubieboard/linux-sdk-card-tools.git $ mv linux-sdk-card-tools tools |
Produtos
$ git clone https://github.com/cubieboard/linux-sdk-card-products.git $ mv linux-sdk-card-products products |
rootfs&u-boot:
$ git clone https://github.com/cubieboard/linux-sdk-binaries.git $ mv linux-sdk-binaries binaries $ mv linux-sdk-binaries binaries |
Baixe o arquivo do endereço:
http://dl.cubieboard.org/model/commom/linux-sdk-binaries
Código Fonte do Android 4.2
https://bitbucket.org/cubietech/a20-android4.2_lichee.git
Ferramenta DS-5 para o pacote de código-fonte
http://pan.baidu.com/s/1pJG66b L
Adicionar opções de Kernel
O ARM Streamline precisa recompilar o kernel, a versão pública do SDK.
O Diretório do Android kernel é:
lichee/linux-3.4 |
O diretório kernel do linux é linux-sunxi .
Configurações Gerais
Em "Configurações Gerais" marque o "Profiling Support" como na figura abaixo:
Entre em "Configurações Gerais" e marque "Kernel Performance Events And Counters" como na figura abaixo:
Destaques do Kernel
Entre no “Kernel Features” e selecione “High Resolution Timer Support”,como na figura abaixo:
Entre no “Kernel Features” e selecione “Enable hardware performance counter support for perf events ”,como na figura abaixo:
Ainda no “Kernel Features” selecione "Use local timer interrupts",como na imagem abaixo:
CPU Power Management
Entre no CPU Power Management -> CPU Frequency scaling e selecione “CPU Frequency scaling”,como na imagem abaixo:
Kernel hacking
Entre em “Kernel Features” e selecione "Tracers", como na figura abaixo
Finalmente confirme se ”CONFIG_GENERIC_TRACER” e ”CONFIG_TRACING” estão selecionados, como na figura abaixo:
Quando as opções acima forem selecionadas, compile o kernel, fazendo firmware, vamos
usar o firmware mais tarde.
Compile o Gator Driver
Unzip o pacote Código Fonte do primeiro passo e obtenha o driver gator-driver . Em seguida, comece a compilar o driver gator.ko.
Entre no diretório gator-driver
$ cd gator-driver |
Substitua o path correspondente ao kernel. Garanta que tenha instalado a ferramenta de compilação no ambiente de desenvolvimento do seu computador
$ make -C /work/android4.2_tablet_A20/lichee/linux-3.4 M='pwd' ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules |
Será gerado um arquivo gator.ko no diretório atual depois de compilado com sucesso, como mostra a figura abaixo:
Registre uma Conta ARM
Acesse a página de registro da ARM diretamente pelo endereço abaixo:
https://login.arm.com/register.php
Registre-se em 4 passos
Continue a preencher as informações:
As informações de regitro serão enviados para o seu email. Você pode completar o registro clicando no link que será enviado no seu email.
Instalando DS-5 no seu computador
Entre no diretório do código fonte do DS500-BN-00019-r5p0-20rel1
Adicione as permissões executáveis do script:
$ chmod +x install.sh |
Execute o script:
$ ./install.sh |
Digite B para entrar no próximo passo, como mostra a figura abaixo:
Pressione ENTER para ler as informações e digite "yes", como mostra a figura abaixo:
Digite "yes", selecione o diretório de instalação DS-5, como mostrado na figura abaixo:
Espere pela instalação, digite "yes" depois de concluído, como mostra a figura abaixo:
Adicione a DS-5 environment variable, o bin folde abaixo do diretório de instalação DS-5 r. Precisamos pegar esta variável, como mostra na figura abaixo:
$ vim ~/.bashrc |
$ source ~/.bashrc |
Abra as ferramentas de Debug no CT
Carregue o drive e shell
O gator.ko compilado anteriormente e código fonte no diretório gatord /data , carregue para a placa.
$ adb push gator.ko /data $ adb push gatord /data |
Entre no arquivo de sistema da placa
$ adb shell |
Carregue o driver gator.ko
$ insmod gator.ko |
Executando o gatord
$ chmod 777 gatord $ ./gatord & |
Use o ADB para dados interativos
Android usa mini-USB como a mídia de transmissão de dados do CT e PC. O desenvolvimento do ADB
e suas opções de depuração foram ativadas por padrão, só precisamos connectá-lo ao hardware, para
garantir que o PC possa identificar a CT.
O método de conexão é muito simples, só precisa de energia e ser conectado ao mini-usb:
A utilização de dados de rede interativo
Usar o mini-USB é apenas uma maneira, você pode ser conectado ao PC e CT pela rede e ferramentas de depuração de série, caso não haja ferramentas mini-USB e ADB, mas gator.ko e gatord
vão usar o stick USB ou cópia do cartão do TF para a placa interna.
Se você estiver usando Wi-Fi, você não precisa levar o cabo de rede, apenas certifique-se de obter o
Endereço de IP:
Use DS-5
Terminal input
$ eclipse |
Crie o projeto da Streamline Data
Clique na barra de menu na Janela> Mostrar Visualização> Outro ..., selecione Dados Streamline, clique em
"OK", como mostrado abaixo:
Vamos configurar a placa, verifique se a USB-Line foi conectado ao computador e cartão, selecione o projeto Streamline e clique no ícone com o desenho de um olho, como mostrado abaixo:
Em seguida, selecione a opção "Streamline Agent via ADB", como mostrado na figura abaixo:
Por fim, clique no ícone vermelho, selecione o caminho para salvar, você pode iniciar a depuração, como mostrado abaixo:
Imagem do DS-5 funcionando
DS-5 está monitorando o sistema:
Na imagem abaixo o DS-5 pára de funcionar e apresenta os resultados analíticos obtidos:
Uma simples análise do Streamline
Fonte: http://dl.cubieboard.org/developers/debug-tools/ARM-DS-5/docs/Using%20ARM%20Streamline%20base%20on%20Cubieboard.pdf