Ambiente de Desenvolvimento ARM

  • View
    42

  • Download
    0

Embed Size (px)

Text of Ambiente de Desenvolvimento ARM

  • Ambiente de Desenvolvimento para Microcontrolador ARM

    Relatrio submetido Universidade Federal de Santa Catarina

    como requisito para a aprovao na disciplina

    DAS 5501: Estgio em Controle e Automao Industrial

    Marcelo Sousa Menegol

    Florianpolis, Junho de 2013

  • Ambiente de Desenvolvimento para Microcontrolador ARM

    Marcelo Sousa Menegol

    Orientadores:

    Jonatan Vieira, Engenheiro de Software

    ______________________________Assinatura do Orientador

    Prof. Werner Kraus Jr.

    _______________________Assinatura do Orientador

    Este relatrio foi julgado no contexto da disciplina DAS5501: Estgio e Controle e Automao Industrial

    e aprovado na sua forma final peloCurso de Engenharia de Controle e Automao

    2

  • Resumo

    A Arvus Tecnologia a nica empresa nacional fabricante de equipamentos

    para Agricultura e Silvicultura de Preciso. Um dos principais equipamentos

    desenvolvidos por esta empresa um computador de bordo que instalado em

    mquinas agrcolas. Este computador responsvel por controlar vrios atuadores

    da mquina e tambm por coletar dados sobre as operaes realizadas. Este

    computador de bordo tem um processador da arquitetura ARM que o corao de

    todo o sistema.

    Como essencial que uma empresa de tecnologia acompanhe as novas

    tendncias do mercado tecnolgico, do interesse da empresa modernizar o

    hardware que oferecido a seus clientes. Portanto, comou-se a estudar um novo

    processador mais moderno que atendesse melhor as demandas deste sistema que

    aprimorado com frequncia. O processador escolhido foi um ARM de dois ncleos

    da empresa NXP: o LPC4350.

    O trabalho principal desenvolvido durante o estgio foi o de estudar esse

    processador e de encontrar uma forma de se desenvolver nesta plataforma. Alm

    disso, a plataforma de desenvolvimento deveria ser configurada em um computador

    com um sistema operacional baseado em sistema Unix. No caso, utilizou-se um

    computador com o sistema operacional Ubuntu (12.04), e testou-se o processador

    em uma palca de desenvolvimento: LPC-4350-DB1, da empresa Diolan.

    3

  • Abstract

    Arvus Technology is the only brazilian company that manufactures equipment

    for Precision Agriculture and Forestry. One of the main equipments developed by this

    company is a on-board computer that goes embedded in agricultural machinery. This

    computer is responsible for controling several actuators and collecting data about the

    operations performed. It has an ARM processor that is the heart of all the system.

    Since it is essential for an engineering enterprise to keep up with the new

    technological trends, it is of their interest to update the hardware that they offer to

    their customers. Therefore, the search for newer processor that could better meet the

    needs of this system that is frequently improved has begun. And the chosen

    processor was one of the ARM architecture with two cores, developed by NXP: the

    LPC4350.

    The main task developed during this internship was studying this new

    processor and finding a way of developing in this platform. Besides that, the

    developing environment should be configured on a computer running a Unix-based

    operational system. In this case, a computer running Ubuntu (12.04) was used, and

    the processor was tested on a development board: LPC-4350-DB1, by Diolan.

    4

  • SumrioCaptulo 1: Introduo...................................................................................................6

    Captulo 2: Entendendo o Problema.............................................................................8

    2.1 O microcontrolador e a placa............................................................................8

    2.2 O sistema........................................................................................................10

    Captulo 3: O ambiente de desenvolvimento..............................................................12

    3.1 Eclipse CDT: Ambiente de programao........................................................12

    3.2 GNU ARM Eclipse: Ferramenta de gerenciamento de projetos.....................12

    3.3 Sourcery G++ Lite : Toolchain........................................................................13

    3.4 Zylin Embedded CDT: ferramenta de depurao...........................................14

    3.5 OpenOCD.......................................................................................................15

    Captulo 4: Configurao do ambiente........................................................................16

    4.1 OpenOCD.......................................................................................................16

    4.2 Criao de um projeto novo............................................................................17

    4.3 Configuraes de Depurao.........................................................................20

    Captulo 5: Executando o Cdigo................................................................................22

    Captulo 6: Concluses e Perspectivas......................................................................25

    Anexo 1: Script Vinculador..........................................................................................27

    Anexo 2: Arquivos de Inicializao..............................................................................31

    5

  • Captulo 1: Introduo

    O computador de bordo desenvolvido pela empresa Arvus Tecnologia controla

    um sistema multi-tarefa: controla vrias vlvulas e motores da mquina agrcola e

    recebe dados de vrios sensores diferentes. Portanto, ao se escolher um novo

    microcontrolador para este sistema, optou-se por um que tivesse mais de um ncleo

    de processamento para se lanar mo das vantagen que isso traz a um sistema

    deste tipo.

    O desafio a ser abordado o de se estudar o processador e descobrir como

    se utilizar suas vrias funcionalidades do novo microcontrolador de forma que ao se

    alterar o firmware para esta nova plataforma, ela possa ser executada de maneira

    mais eficiente. Alm disso, deve-se encontrar uma forma de se desenvolver nesta

    nova plataforma: trocando-se o microcontrolador, necessrio um novo conjunto de

    softwares (compiladores, vinculadores, etc) para se trabalhar. E todo o ambiente de

    desenvolvimento deveria ser criado com softwares gratuitos que funcionem no

    sistema operacional Ubuntu (utilizado na empresa).

    O problema de grande relevncia para o Curso de Eng. de Controle a

    Automao atualmente. A grande maioria dos sistemas de controle so executados

    em sistemas computacionais. E o grande avano tecnologico atual permite que um

    nico computador controle vrios sistemas diferentes ao mesmo tempo, o que

    muitas vezes fora o sistema computacional a ser multi-tarefa.

    Para aumentar a eficincia desses sistemas o mercado j desenvolveu vrias

    solues, como os microcontroladores de mais de um ncleo de processamento.

    Porm, desenvolver nestes novos sitemas nem sempre trivial, nem barato. Para

    permitir que as novas tecnologias sejam utilizadas, importante que algum

    desenvolva o know-how sobre como utiliz-las. E as ferramentas devem ser,

    preferencialmente, gratuitas.

    O desafio abstrato de se encontrar e configurar uma plataforma de

    desenvolvimento foi resumido e simplificado nos seguintes objetivos:

    6

  • - Compilar e executar cdigos de exemplos na placa de desenvolvimento

    LPC-4350-DB1;

    - O processo deve ser feito inteiramente com software gratuito.

    A metodologia empregada no desenvolvimento do trabalho consiste em

    pesquisa e estudo em bibliografia variada, principalmente pela internet. Alm,

    claro, de testes frequentes e eventuais correo de erros durante o processo. Cada

    software empregado no processo tambm foi testado sequencialmente, de forma a

    tentar garantir que qualquer problema a ser encontrado no fosse consequncia de

    uma operao executada anteriormente (que o problema estivesse de alguma forma

    no ltimo software instaladoe no no anterior, por exemplo).

    Dentre as alternativas para soluo deste problema, muitas definidas pela

    atual situao da empresa: o sistema operacional no qual o ambiente deveria ser

    executado e o ambiente de programao (Ubuntu e Eclipse) forma escolhidos por

    serem aqueles que j so utilizados na empresa, os funcionrios que posteriormente

    utilizaro o ambiente j esto acostumados a estes sistemas.

    Outras solues foram escolhidas por serem as que aparentam ter mais

    material disponvel na rede ou por serem j amplamente utilizadas por outras

    pessoas. Esta foi a justificativa de se utilizar, por exemplo, a "toolchain"

    CodeSourcery Sourcery G++ Lite.

    Nos captulos subsequentes, sero apresentados de maneira mais detalhada

    o microprocessador, o sistema e os programas escolhidos para se configurar o

    ambiente de desenvolvimento. Tambm sero apresentados como cada um deve ser

    configurado, quais os procedimentos necessrios apra se instalar cada componente,

    etc. No final, pretende-se que este relatrio funcione tambm como um guia para

    qualquer desenvolvedor que esteja em situao semelhante que queira programar

    no microcontrolador aqui apresentado ou em outros seme