Programando para Symbian OS S60 Platform SDKs for Symbian OS, for C++ (diego@drsolutions.com.br) 27 Agosto/2007 Aula1 Preparando o ambiente de desenvolvimento Objetivo da aula: Propiciar ao leitor uma visão inicial da plataforma Symbian e ensinar os procedimentos básicos de instalação do SDK para que seja possível o desenvolvimento de aplicativos para Symbian OS sem o uso de nenhuma IDE específica. Tópicos abordados: Introdução Download dos softwares essenciais Instalando o SDK Ajustando o ambiente Softwares adicionais
1. Introdução 1.1. Symbian, SymbianOS, Symbian C/C++ e Series 60 O Symbian é um consórcio de várias empresas, fundado em 1998. Atualmente fazem parte do consórcio as empresas Nokia, Siemens, Samsung, Ericsson, Sony Ericsson e Panasonic. No início da era de equipamentos portáteis, por volta de 1998, a Symbian era a empresa que fornecia o sistema EPOC 32 para os handhelds da inglesa Psion. A própria Psion era a maior acionista da empresa e investia bastante para conseguir uma fatia do mercado de sistemas operacionais de aparelhos portáteis. Outras empresas que faziam parte da Symbian eram Nokia, Motorola e Ericsson. Com a explosão de consumo dos telefones celulares, a Symbian começou a desenvolver sistemas para as grandes empresas do ramo, principalmente Nokia, Ericsson e Motorola. A grande maioria dos celulares modernos de hoje pussuem sistema operacional da Symbian. Ele é um sistema totalmente modular e permite que cada empresa crie sua própria interface, portanto este sistema não tem uma cara definida. O software final instalado no dispositivo móvel pode ser um simples sistema de textos em telas monocromáticas, ou um completo sistema operacional tão potente como o PalmOS ou PocketPC que já pode ser encontrado nos SmartPhones da Nokia, Sony Ericsson, Foma, Siemens, Motorola, dentre outras. SymbianOS é um sistema operacional criado para rodar embarcado em dispositivos móveis "multimídia" com suporte à câmeras fotográficas, MMS, wireless, bluetooth, Wi-Fi dentre outras funções. Este sistema operacional é predominantemente baseado em um ambiente gráfico bastante simples. Atualmente ele é utilizado na maioria dos recentes modelos de telefones celulares dos grandes fabricantes. A grande preocupação do Symbian OS é evitar ao máximo o desperdício de recursos do celular, como bateria e memória. Para isso ele conta com diversos mecanismos que são eficientes ao tratar desses problemas. Em sua versão mais nova 9.5, foi reduzido o consumo de memória em 30% em relação à versão anterior. Atualmente o Symbian lidera como sendo o SO mais utilizado em smartphones, a frente do Linux, Windows Mobile e outros concorrentes. Vantagens: É um sistema aberto e de baixo custo (em torno de $4 por aparelho) Possui recursos para gerenciar e utilizar pouca bateria e memória Permite a instalação de softwares de terceiros Baseado em padrões de comunicação e dados Mecanismos que asseguram a transferência e armazenamento de dados Symbian C/C++ é uma variação do padrão C++ feita para Symbian. O contexto da linguagem é muito parecido o C++ original, mudando apenas algumas funções e tipos, além de adotar uma forte padronização de nomes na sua API. 2/19
Mudanças do padrão C/C++: Os tipos de variáveis foram alteradas, apesar de ser possível o uso de tipos de variáveis padrão C/C++, é aconselhável o uso desses novos tipos Ex: TInt = Inteiro 32 bits, TBool = Booleano, TReal = Ponteiro flutuante Houve também algumas mudanças também na forma que o Symbian trata exceções, exceções em Symbian são chamadas de Leaves (abandonos). Essa foi uma maneira de simplificar as exceções padrões de C++, para reduzir o código e o uso de memória Além disso, uma vasta API está disponível para que o programador interaja com todos os recursos do aparelho, sem preocupar-se com detalhes de funcionamento de hardware Series 60 é uma plataforma desenvolvida pela Nokia e utilizada também pela Ericsson. Atualmente é a maior plataforma para smartphones do mercado, utiliza o Symbian como sistema operacional. A UIQ, também baseada em Symbian, é a plataforma concorrente da Series 60 e é usada predominantemente em aparelhos Motorola. 1.2. Aparelhos celulares que rodam Symbian OS Hoje existem centenas de dispositivos móveis que funcionam com o Symbian OS, abaixo apenas uma pequena lista de aparelhos normalmente encontrados no mercado: Nokia E60, E61, E61i Nokia 3250 Nokia 7710 LG Joy Motorola MOTORRIZR Sony Ericsson P990 3/19
Samsung SGH-D720 BenQ P30 FOMA SH902iSL Consulte a lista com mais de 100 de aparelhos que usam o Symbian OS em: http://www.symbian.com/phones/index.html 1.3. Termos que você deve conhecer ARM: Arquitetura ARM (primeiramente Acorn RISC Machine, atualmente Advanced RISC Machine) é uma arquitetura de processador de 32 bits (processadores mais antigos usam 16 bits) e é usado principalmente em sistemas embarcados. Muito usado na indústria e na informática, seu desenvolvimento se deu principalmente para ter o melhor desempenho possível com a limitação de ser simples, ocupar pouca área e ter baixo consumo de energia. São conhecidos pela sua versatilidade pois possuem poucas instruções para programação. Encontrados em PDAs, telefones celulares, calculadoras, periféricos de computador, fora as aplicações industriais. THUMB: Instruções dos processadores ARM de 16 bits ARM4: Instruções dos processadores ARM de 32 bits GUI: Graphical User Interface, ou interface gráfica de usuário AVKON: Biblioteca para desenvolvimento GUI na plataforma S60. CONE: Control Environment, ou controle de ambiente UIKON: Framework comum de desenvolvimento na plataforma Symbian, para UI (user interface) e rotinas de controle IDE: Integrated Development Environment, ou Ambiente de desenvolvimento integrado é um ambiente que auxilia e agiliza o desenvolvimento de softwares. Normalmente incluem editores de código, compiladores, debugadores, emuladores e etc. Algumas IDEs muito conhecidas: Eclipse, Visual Studio, Carbide e etc SDK: Software Development Kit, ou Kit de desenvolvimento de software é um conjunto de ferramentas para criação de softwares para determinadas plataformas. UID: Um número de 32 bits que gera uma identificação única para um determinado objeto, tipo, vendedor e etc. WINS: Plataforma alvo para o desenvolvimento de programas que serão executados dentro de emulador no sistema operacional Microsoft Windows. 4/19
2. Instalando S60 Platform SDKs for Symbian OS, for C++ no seu computador Antes de instalar o SDK no seu computador, verifique se o mesmo possui os requisitos mínimos apresentados nas áreas abaixo. Atendendo esses pré-requisitos mínimos, o leitor será capaz de usar o SDK pelo menos na forma stand-alone, desenvolvendo aplicativos através de editores de texto simples e compilando seus programas através da linha de comando (procedimento que será abordado na segunda aula desse mini-curso). 2.1. Pré-requisitos 2.1.1 Hardware mínimo recomendado Processador de 1 GHz (o mínimo necessário é 500 MHz) 512 MB RAM (o mínimo necessário é 128 MB) Placa de vídeo com uma resolução de pelo menos 16-bits Resolução de pelo menos 1024x768 1 GB de espaço livre em disco Placa de som compatível com Microsoft Windows Teclado e mouse 2.1.2 Requisitos de Software Sistemas operacionais suportados: Microsoft Windows XP Professional SP2 Microsoft Windows 2000 SP4 Outros softwares que devem ser estar instalados antes da instalação do SDK: Active Perl versão 5.6.1 (a instalação do Active Perl será detalhada na seção 2.2 deste material) Java Runtime versão 1.4.2_02 ou mais recente (a instalação do JRE 1.6 será detalhada na seção 2.2 deste material) 2.2. Instalando os softwares necessários 2.2.1. Instalando o Active Perl versão 5.6.1 Faça o download do Active Perl versão 5.6.1 no site oficial da Active State: http://www.activestate.com/store/activeperl/ Caso você prefira, você pode fazer o download de uma cópia armazenada no servidor da drsolutions: http://www.drsolutions.com.br/tutorial_symbian/activeperl-5.6.1.633-mswin32- x86.msi 5/19
Agora um duplo clique no arquivo ActivePerl-5.6.1.633-MSWin32-x86.msi (8.78MB) deve iniciar o processo de instalação no seu computador. Siga o processo de instalação e não altere os locais de instalação do software. 6/19
2.2.1. Instalando o Java Runtime versão 1.6 Faça o download do JRE no site da SUN: http://java.sun.com/javase/downloads/index.jsp Caso você prefira, você pode fazer o download de uma cópia armazenada no servidor da drsolutions: http://www.drsolutions.com.br/tutorial_symbian/jre-6u1-windows-i586-p-s.exe Agora um duplo clique no arquivo jre-6u1-windows-i586-p-s.exe (13.1MB) deve iniciar o processo de instalação no seu computador. Siga o processo de instalação e não altere os locais de instalação do software. 7/19
2.1.3. Ajuste do PATH Você agora deve ter o Perl instalado em c:\perl o o JRE instalado em C:\Arquivos de programas\java\jre1.6.0_01. Para que o SDK funcione corretamente, é necessário que o Perl e o JRE estejam no PATH do sistema. Vá em Iniciar Painel de Controle Sistema Depois na aba Avançado e clique no botão Variáveis de Ambiente Dentro da lista de Variáveis do sistema, localize a linha Path Verifique se foram os diretórios estão incluídos na lista: C:\Arquivos de programas\java\jre1.6.0_01\bin\ C:\Perl\bin\ Caso algum deles não esteja na lista, inclua o mesmo. Lembre-se que cada diretório dessa lista deve estar separado por ponto-e-vírgula. Exemplo: C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\ Wbem;C:\Arquivos de programas\java\jre1.6.0_01\bin\ 8/19
Agora, reinicie o computador antes de prosseguir! 2.2. Instalando o SDK 2.2.1. S60 Platform SDK for Symbian OS, for C++ Faça o Download do S60 Platform SDK for Symbian OS, for C++ no Nokia Forum. Entre no Link: http://www.forum.nokia.com/main/resources/tools_and_sdks/index.html Escolha a opção C++ SDKs for all versions Na próxima página, escolha o arquivo 3rd Edition, FP1 (355 MB) Clique em Download Now 9/19
Descompacte o arquivo em qualquer lugar de seu computador. Entre na pasta descompactada em execute o arquivo setup.exe. 10/19
Instale o SDK sem alterar os caminhos e diretórios sugeridos pelo instalador. 11/19
Instale o CSL ARM QIC Toolchain (GCCE). 12/19
13/19
2.2.2. Instalando o Symbian_Env_Updade Faça o download do arquivo Symbian_Env_Updade.zip no site da drsolutions: http://www.drsolutions.com.br/tutorial_symbian/symbian_env_updade.zip Descompacte o mesmo na raiz (c:\) de seu computador. 14/19
Entre na pasta C:\Symbian_Env_Updade\env_switch e execute o programa env_update.exe. Na tela que aparece, aceite as alterações com um y. 2.2.3. Verificando o PATH Para que o SDK funcione corretamente, é necessário que o CSL Arm Toolchain e o Symbian_Env_Updade também sejam adicionados ao no PATH do sistema. Vá em Iniciar Painel de Controle Sistema Depois na aba Avançado e clique no botão Variáveis de Ambiente Dentro da lista de Variáveis do sistema, localize a linha Path Verifique se foram os diretórios estão incluídos na lista: C:\Arquivos de programas\java\jre1.6.0_01\bin\ C:\Perl\bin\ C:\Symbian_Env_Updade\Symbian_Tools\Command_Line_Tools C:\Arquivos de programas\csl Arm Toolchain\bin Caso algum deles não esteja na lista, inclua o mesmo. Lembre-se que cada diretório dessa lista deve estar separado por ponto-e-vírgula. Exemplo: C:\Symbian_Env_Updade\Symbian_Tools\Command_Line_Tools;C:\Arquivos de programas\csl Arm Toolchain\bin;C:\Arquivos de programas\arquivos comuns\symbian\tools;c:\perl\bin\;c:\windows\system32;c:\windows;c: 15/19
\WINDOWS\System32\Wbem;C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDO WS;C:\WINDOWS\System32\WbemC:\Perl\bin\;C:\WINDOWS\system32 ;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Arquivos de programas\java\jre1.6.0_01; Agora, reinicie o computador antes de prosseguir! 2.2.4. Ajuste na configuração do Emulador Agora, você precisa alterar o arquivo config.properties que está no diretório C:\Symbian\9.2\S60_3rd_FP1\Epoc32\tools\ecmt\config. Abra o arquivo com o Bloco de Notas e adicione,1.6,6.0 na linha epdt.java.version.start= : 16/19
2.3. Pós-requisitos Caso você tenha seguido todos os passos descritos nas páginas anteriores, seu SDK está instalado e funcional em seu computador. No decorrer da próxima aula, iremos aprender a compilar um Hello World, testá-lo no emulador e depois transferi-lo para um celular (no caso usaremos um Nokia E61). Embora o intuito dessas aulas iniciais seja mostrar o funcionamento do SDK crú, ou seja, sem usar nenhuma IDE específica, eu aconselho o leitor instalar dois pequenos programas para uma maior comodidade no desenvolvimento. 2.3.1. Microsoft Power Toy Open Command Window Here Faça o download do arquivo CmdHerePowertoySetup.exe (514 Kb) no link: http://download.microsoft.com/download/whistler/install/2/wxp/en- US/CmdHerePowertoySetup.exe ou entra na página de Power Toys da Microsoft: http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx Depois de instalado, sempre que você estiver no Windows Explorer e clicar com o botão direito em alguma pasta, a opção Open Command Window Here estará disponível. Ao clicar nela, será aberta uma janela de Prompt de Comando já na pasta selecionada. 17/19
3.3.2 NotePad++ e Extensões O NotePad++, como o próprio nome sugere, é um bloco de notas melhorado. Além de você poder abrir vários arquivos de uma única vez (navegação por abas), ele consegue deixar colorido o seu código fonte e existem vários plugins disponíveis para incrementar ainda mais as funcionalidades do programa. Iremos usar esse programa nas próximas aulas, portanto eu recomendo que o leitor instale esse programa. Faça o Download do programa em: http://notepad-plus.sourceforge.net/ e depois instale o programa. Agora faça o download do plug-in Explorer plugin v1.2 na área de downloads do site. Descompacte o arquivo Explorer_1_2_dll.zip e copie o Explorer.dll para a pasta C:\Arquivos de programas\notepad++\plugins Abra o Notepad++. Vá no menu Plugins Explorer Explorer 18/19
Correções e atualizações desse documento estarão disponíveis em: http://www.drsolutions.com.br/programando_symbian 19/19