FreeCalypso > hg > freecalypso-tools
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.