Getting started in gta02-core ============================= This is a brief guide to help new participants of the gta02-core project to get their bearings, and to help veterans to prop up their memory. Setting things up ----------------- - Subscribe to the gta02-core list: http://lists.openmoko.org/pipermail/gta02-core/ - Consider joining the #gta02-core channel on irc.freenode.net - We make extensive use of Makefiles and invoke various programs from them. If any of the following are missing in your system, please install them now: - Prerequisites - awk - bash - GNU make (package "make" or similar) - grep - gv (derivative of Ghostview) - gzip - Perl - sed - Subversion (svn) - xpdf - Check out the project: svn co https://svn.openmoko.org/trunk/gta02-core/ cd gta02-core - You will need a recent version of KiCad. Many distributions come with truly ancient versions. To build KiCad, - fulfill the following prerequisites: - Bazaar (bzr) - a recent version of CMake (2.6.4 is known to work) - a recent development version of libboost (1.36 or higher) - a recent development version of wxWindows (2.8.10 or higher with OpenGL support). If compilation of KiCad fails with #error Please set wxUSE_GLCANVAS to 1 in setup.h. then you need to build wxWindows as well. We'll use version 2.8.11, which solves a build problem that existed in 2.8.10: wget http://prdownloads.sourceforge.net/wxwindows/wxGTK-2.8.11.tar.bz2 tar xfj wxGTK-2.8.11.tar.bz2 cd wxGTK-2.8.11 ./configure --prefix=/usr/local --with-opengl --enable-unicode make make install cd .. - download KiCad, revision 2358: bzr branch -r 2358 lp:kicad kicad cd kicad The KiCad revision we currently use is recorded in the first line of kicad-patches/series. Our patches and build process may or may not work with more recent revisions. - Make a link to the patches of the gta02-core project: ln -s ../kicad-patches patches - Apply the patches: quilt push -a - Compile and install KiCad: cmake . make make install - we're done here, go back cd .. - You also need the KiCad component library. To obtain it, - download the library bzr branch -r 76 lp:~kicad-lib-committers/kicad/library kicad-library cd kicad-library - generate and install the library cmake . make make install - we're done here, go back cd .. - We draw footprints with the footprint editor fped. - Prerequisites: - bash - flex - bison - fig2dev (transfig) - ImageMagick - Netpbm - Gtk+ 2.x development package (libgtk2.0-dev or similar) - Liberation Fonts (ttf-liberation or similar) - Download it: svn checkout http://svn.openmoko.org/trunk/eda/fped - Build and install it: cd fped make all install - we're done here, go back cd .. - For BOM processing, you need the BOOM system - Prerequisites - Perl 5.10.0 or newer - Download it: svn checkout http://svn.openmoko.org/trunk/eda/boom - Build your local copy of the component (schematics symbol) library: make update (This also updates everything to the latest SVN revision.) - We keep a list of data sheet URLs and you can download and cache them locally. To do so, decide on a location for the cache, e.g., /home/moko/dsv (dsv is "Data Sheet Viewer"), then DSV_HOME=/home/moko/dsv make dsv Then add $DSV_HOME/bin to your PATH, and you'll be able to view data sheets with commands like dsv-sc32442, dsv-cpu, etc. See $DSV_HOME/bin/ and components/INFO for the complete collection. If a data sheet or one of its aliases is renamed, run DSV_HOME=/home/moko/dsv make dsv-rebuild - Things to see and do: - (re)view and edit components (schematics symbols) - (re)view and edit the schematics - (re)view and edit the ECNs (Engineering Change Notices) - (re)view and edit footprints - (re)view and edit the layout (coming soon) For what to consider in a review process, see the file REVIEW in this directory. (Re)viewing and editing components ---------------------------------- Feeling lazy ? Then use the pre-built PDF link for the "expanded view" on http://people.openmoko.org/werner/gta02-core.html To view and edit the components, you can run eeschema in the components/ directory: cd components eeschema gta02-core-comp.sch A shorthand for this is cd components make sch The invoke the "Library Viewer" or the "Library Editor". Components are kept in *.lib files in components/, one component per library. They are merged in a combined library with the script "mkloe" in the same directory. You usually don't invoke "mkloe" directly, but run make update in the project's top-level directory. The review status of components is recorded in components/STATUS Additional information, specifically links to data sheets, is in the file components/INFO (Re)viewing and editing schematics ---------------------------------- Feeling lazy ? Then use the pre-built PDF link for the schematics on http://people.openmoko.org/werner/gta02-core.html To view and edit the schematics, run KiCad on them: eeschema gta02-core.sch or, if this doesn't work (older versions of KiCad), eeschema `pwd`/gta02-core.sch A shorthand for this is "make sch". The schematics are kept in the top-level directory, in files called *.sch. Their review status is tracked in the file STATUS. Note: when saving schematics, don't use "Save Project" but save the page(s) you've changed with "Save". Otherwise, the timestamp on all pages changes, which may create conflicts when submitting things or when pulling updates. (Re)viewing and editing ECNs ---------------------------- The ECNs are kept in docs/ecn/. Their structure is described in docs/ecn/README. Their status is tracked in docs/ecn/STATUS. Wherever possible and remotely useful, ECNs should be referenced in the schematics. (Re)viewing and editing footprints ---------------------------------- Feeling lazy ? Then use the pre-built PDF link for the modules on http://people.openmoko.org/werner/gta02-core.html The footprints are kept in *.fpd files in modules/. To view a footprint, run fped modules/filename.fpd To generate printable Postscript, run fped -p modules/filename.fpd (writes modules/filename.ps), or fped -p modules/filename.fpd - (writes to stdout.) Footprints are translated to KiCad and merged in a combined library with the script "mkloe" in the same directory. You usually don't invoke "mkloe" directly, but run make update in the project's top-level directory. The review status of footprint is recorded in modules/STATUS Additional information, specifically links to data sheets (in addition to the ones we already have for the component itself), is in the file modules/INFO (Re)view and edit the layout ---------------------------- To view and edit the layout, run KiCad on it: pcbnew gta02-core.brd or, if this doesn't work (older versions of KiCad), pcbnew `pwd`/gta02-core.brd A shorthand for this is "make brd". Gerber files can be generated by opening the dialog at File/Plot and then selecting "Gerber" as the plot format. This generates one .pho file per layer. Gerbers are best viewed with "gerbv". Making changes -------------- When making changes, please mail a patch to the gta02-core list. After a while, once you've made a few patches, you'll usually be given direct commit access. When making a major contribution, please add your name to AUTHORS. If you do a review, please add your name to the respective STATUS file.