view doc/Loadtools-on-GTA0x @ 497:74610c4f10f7

target-utils: added 10 ms delay at the end of abb_power_off() The deosmification of the ABB access code (replacement of osmo_delay_ms() bogus delays with correctly-timed ones, which are significantly shorter) had one annoying side effect: when executing the poweroff command from any of the programs, one last '=' prompt character was being sent (and received by the x86 host) as the Calypso board powers off. With delays being shorter now, the abb_power_off() function was returning and the standalone program's main loop was printing its prompt before the Iota chip fully executed the switch-off sequence! I thought about inserting an endless tight loop at the end of the abb_power_off() function, but the implemented solution of a 10 ms delay is a little nicer IMO because if the DEVOFF operation doesn't happen for some reason in a manual hacking scenario, there won't be an artificial blocker in the form of a tight loop keeping us from further poking around.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 25 May 2019 20:44:05 +0000
parents 1a658ab756fe
children
line wrap: on
line source

FreeCalypso loadtools are currently a part of FC host tools, but they used to
be a separate package.  In those days that separate package of loadtools could
be built in two ways:

1) One could compile and install loadtools on a general-purpose host system
   such as a GNU/Linux PC or laptop, and then potentially use them to operate
   on multiple Calypso targets of different kinds.

2) One could compile loadtools to run on the application processor of a
   smartphone such as Openmoko GTA0x, in which case it makes no sense for that
   special build of loadtools to support any target other than the specific
   modem in that smartphone.

Loadtools can be built with compalstage support excluded and with
GTA0x-specific modem power control included instead.  This build will still
include a bunch of functions of no relevance to GTA0x, but oh well..

To build loadtools for the GTA0x AP, you'll need to make the following
modifications to loadtools/Makefile:

* Change the CC= line to point to the appropriate cross-compiler (which you'll
  need to provide yourself).

* Change the CFLAGS= line: add the right options to target the ARM920T core in
  the GTA0x AP (e.g., -march=armv4t -mtune=arm920t), and add -DGTA0x_AP_BUILD
  to enable some code that makes sense only when running on the GTA0x AP.

* Change the PROGS= line to not build fc-compalram or fc-buzplay: the latter
  utilities are not applicable to GTA0x.

* Change EXTRA_OBJ= from listing compalload.o to listing compaldummy.o and
  gtapower.o instead.

See loadtools/gta-ap-build.sed for an example.