[INCLUDE TH/speedbar.blogme] [SETFAVICON dednat4/dednat4-icon.png] [lua: LR = R ] [# (defun c () (interactive) (find-blogme3-sh0-if "j2tech")) ;; http://angg.twu.net/j2tech.html ;; file:///home/edrx/TH/L/j2tech.html #] [# # «.ambiente» (to "ambiente") # «.scripts» (to "scripts") # «.interfaces» (to "interfaces") #] [htmlize [J J2tech] [BE' http://en.wikipedia.org/wiki/Gcj http://en.wikipedia.org/wiki/X_protocol http://lists.freedesktop.org/archives/xorg/2007-September/028306.html http://www.freedesktop.org/wiki/ http://www.microcross.com/ http://www.protech-ipc.com/ipc/product_imd_EF-21LF.asp http://www.t2-project.org/ http://www.arm.linux.org.uk/docs/kerncomp.php # (find-fline "~/LOGS/2007oct31.j2tech") # (find-fline "~/LOGS/2007nov05.j2tech3") # (find-available "qt3-dev-tools-embedded") qtopia qt-embedded http://en.wikipedia.org/wiki/Cross-compilation http://www.scratchbox.org/ http://buildroot.uclibc.org/ http://buildroot.uclibc.org/lists/buildroot/ http://www.eclipse.org/swt/faq.php http://doc.trolltech.com/qtopia4.2/syscust-java.html http://doc.trolltech.com/qtopia2.0/html/javaintegration.html http://www.agr.feis.unesp.br/defers/noticias/index.php?idnoticia=1182685451 http://www.planalto.gov.br/CCIVIL/_Ato2007-2010/2007/Lei/L11487.htm http://www.planalto.gov.br/ccivil/_Ato2004-2006/2005/Lei/L11196.htm http://www.planalto.gov.br/ccivil/_Ato2004-2006/2006/Decreto/D5798.htm ] [BE' # (find-es "qemu" "qemu-arm") # (find-es "java") # http://lists.debian.org/debian-arm/2007/11/msg00001.html ] [tsec «ambiente» (to ".ambiente") O ambiente de desenvolvimento ============================= Hardware (real e emulado): __Máquina Windows__ __Máquina linux: "big"__________________________ | | | Debian com muitas ferramentas, | | | | pacotes-fonte (incluindo kernel), | | | | cross-compilers, etc. | | | | Roda quatro máquinas virtuais | | | | emuladas com QEmu | | | | | | | | __QEmu: big86_____ __QEmu: small86__ | | | | | Debian "normal" | | Debian reduzido | | | | | | Kernel padrão | | kernel mínimo | | | | | | glibc | | uclibc | | | | | | X "normal" | | X reduzido | | | | | | gcc/gcj/gdb | | gdbserver | | | | | | Ferramentas para | | | | | | | | construir .debs | | | | | | | |__________________| |_________________| | | | | | | | | __QEmu: bigarm____ __QEmu: smallarm_ | __imx21arm_______ | | | | Debian "normal" | | Debian reduzido | | | Debian reduzido | | | | | Kernel padrão | | kernel mínimo | | | kernel mínimo | | | | | glibc | | uclibc | | | uclibc | | | | | X "normal" | | X reduzido | | | X reduzido | | | | | gcc/gcj/gdb | | gdbserver | | | | | | | | Ferramentas para | | | | | | | | | | construir .debs | | | | | | | | | |__________________| |_________________| | |_________________| | | | | |___________________| |________________________________________________| A comunicação entre as partes não está sendo mostrada no diagrama. O "big" é acessível por ftp/scp, por telnet/ssh e pelos protocolos de debugamento remoto do gdb e do eclipse; todas as máquinas exceto a máquina Windows têm servidores de ftp, ssh e telnet. A máquina "big" tem um firewall que só permite conexões a partir de certos IPs autorizados. As quatro máquinas emuladas funcionam como se fossem máquinas separadas, acessíveis pela rede; elas também têm servidores de ftp, ssh, telnet, gdbserver e (qual é o nome disso?) jdebugserver; a "big86" e a "bigarm" têm também um gdb "normal", que pode ser rodado a partir de um shell local por telnet ou ssh. O "imx21arm" se conecta com o "big" por um cabo USB. Em algumas versões do sistema que vai rodar no imx21arm ele vai ter um servidor de telnet e um de ftp, acessíveis só através de conexões de rede vindas pelo cabo USB; em outras versões o software dele só vai poder ser alterado reescrevendo-se a sua memória Flash. O imx21arm vai poder se conectar com um servidor externo - por exemplo, um servidor de banco de dados - através da sua outra interface de rede (Wi-Fi). ] [tsec «scripts» (to ".scripts") Os scripts ========== Cross-compilação ---------------- Compilação de um kernel mínimo ------------------------------ Atualização de kernel --------------------- Atualização de bibliotecas -------------------------- Atualização do programa em Java ------------------------------- Debugamento =========== ] [tsec «interfaces» (to ".interfaces") Interfaces para todos estes scripts =================================== Vamos fazer uma interface gráfica para rodar todos estes scripts; esta interface vai ter, entre outras coisas, umas caixas de texto com listas de arquivos - por exemplo, a lista dos arquivos-fonte em Java para o programa que vai rodar nos imx21s - e um monte de botões; cada botão tem um _nome_ e uma _ação_; a ação é sempre um script (ou vários em seqüência), e cada script é para ser executado num "lugar" diferente. Por exemplo: um script de cópia de arquivos é uma série de comandos de ftp, e é para ser executado "dentro de um programa de ftp"; um script de compilação na máquina bigarm é para ser executado "dentro de um telnet para a bigarm". Essa interface gráfica - que vai ser feita em Tcl/Tk - é na verdade um disfarce para uma outra interface, que é a que eu uso para desenvolvimento, e que é baseada em Emacs. Na interface em Emacs todos os scripts estão num arquivo só, e ao invés de cada um ter um "nome" (como se fosse o nome de um botão), ele é precedido por algumas linhas de comentários e uma linha com uma sintaxe especial, que diz onde aquele script deve rodar. Dentro do Emacs quando batemos F8 numa linha normal essa linha é mandada para o "destino default"; quando batemos F8 numa linha com a sintaxe especial ela é executada de uma certa forma (mais precisamente: executada como um programa em Lisp), e isso em geral muda o destino default. Esse Emacs funciona como um editor de texto em uma das suas janelas - a que está editando o texto com os scripts - e nas outras janelas ele roda programas externos, como shells, telnets, e ftps, e "edita o log destes programas". [incluir um screenshot aqui. Um exemplo só com duas janelas (script e shell): ] Como este texto contendo todos os scripts é uma série de scripts de shell e de ftp - e mais algumas linhas de controle - ele é compreensível com bem pouco esforço por pessoas com fluência em *NIX. Vou anunciar este sistema nas listas de discussão de Debian-ARM (o primeiro dos links abaixo) e acho que vários dos desenvolvedores principais do Debian-ARM vão ver estes scripts como "How-Tos executáveis" sobre como fazer várias tarefas no Debian-ARM a partir de uma máquina de desenvolvimento x86; estes scripts são uma espécie de ferramenta de comunicação entre nós e os desenvolvedores principais. http://lists.debian.org/debian-arm/ http://lists.debian.org/debian-arm/2007/01/msg00034.html http://lists.debian.org/debian-arm/2007/11/msg00001.html http://lists.debian.org/debian-arm/2007/11/msg00025.html http://wiki.debian.org/ArmEabiHowto http://wiki.debian.org/ArmEabiTodo http://wiki.debian.org/Crosstool http://wiki.debian.org/EmDebian/CrossDebootstrap http://www.aurel32.net/info/debian_arm_qemu.php ] ] [# # Local Variables: # coding: raw-text-unix # modes: (fundamental-mode blogme-mode) # End: #]