FreeCalypso > hg > fc-magnetite
comparison doc/Leonardo-target @ 626:41238a8e140c
Leonardo target documented
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Mon, 23 Dec 2019 06:48:46 +0000 |
| parents | |
| children | b639f7ab0007 |
comparison
equal
deleted
inserted
replaced
| 625:916b27af1c6c | 626:41238a8e140c |
|---|---|
| 1 TI's primary development platform for TCS211 firmware was D-Sample - see our | |
| 2 D-Sample article for explanation of our current limited support for that target | |
| 3 in FC Magnetite - but they also had another platform called Leonardo. The | |
| 4 primary difference is the RF section: D-Sample had Clara RF (the one for which | |
| 5 we lack support), whereas Leonardo was TI's reference platform for Rita RF and | |
| 6 for the complete Calypso+Iota+Rita chipset. Another major difference is that | |
| 7 D-Sample was a single stable platform, whereas Leonardo was made in a | |
| 8 bewildering assortment of different variants. | |
| 9 | |
| 10 We (FreeCalypso core team) never succeeded in getting our hands on a real | |
| 11 TI-made Leonardo board of any variant, but we do have a Leonardo build target | |
| 12 in FC Magnetite for two reasons: | |
| 13 | |
| 14 1) Adding this build target was trivial: our starting hw target for which we | |
| 15 got our original starting-point fw was Openmoko's embedded GSM/GPRS modem, | |
| 16 and that modem is a very close derivative of Leonardo. The only firmware- | |
| 17 affecting diff between Leonardo and OM's modem is FIC/OM's reshuffling of | |
| 18 TSPACT control lines for their triband RFFE; producing a build configuration | |
| 19 with these TSPACT control signals put back into their original Leonardo | |
| 20 arrangement became trivial once our reconstruction of tpudrv12.c from | |
| 21 disassembly of tpudrv12.obj reached production quality. | |
| 22 | |
| 23 2) We are currently evaluating a certain third-party (non-TI) development board | |
| 24 which strongly appears to be a very close derivative of Leonardo, even closer | |
| 25 than Openmoko. We are hoping to get one of these boards into Mother | |
| 26 Mychaela's lab some time in 2020-01, at which time we will try running our | |
| 27 Magnetite-Leonardo fw on it. | |
| 28 | |
| 29 Supported Leonardo variants | |
| 30 =========================== | |
| 31 | |
| 32 RF bands: there were several Leonardo variants with full quadband RF using Epcos | |
| 33 M034F FEM, and there were several more variants with artifically restricted RF, | |
| 34 using a dual-band/single-region FEM and supporting only the two EU bands. The | |
| 35 two versions should be firmware-compatible according to our available schematics | |
| 36 (the same TSPACT signals are used for Tx control), thus our Magnetite-Leonardo | |
| 37 fw should run on any Leonardo variant that matches any of our known schematic | |
| 38 versions at least in the principal aspects. | |
| 39 | |
| 40 Flash memory: our Magnetite-Leonardo fw supports the following flash chips for | |
| 41 FFS: | |
| 42 | |
| 43 4 MiB: Fujitsu MBM29DL320FB or MBM29DL320FT | |
| 44 8 MiB: Am29DL640G or its Fujitsu equivalent, or any MCP containing this flash | |
| 45 16 MiB: Spansion PL129J or its AMD predecessor, second bank on nCS2 | |
| 46 | |
| 47 If anyone finds a Leonardo variant with some other flash, it may not be | |
| 48 supported out of the box - but our included FFS configs for the Leonardo target | |
| 49 come directly from TI's original TCS211 version (it is highly unlikely that OM | |
| 50 changed anything other than adding their Samsung flash), thus we support | |
| 51 everything that TI's own TCS211 supported out of the box. | |
| 52 | |
| 53 Memory size limits | |
| 54 ================== | |
| 55 | |
| 56 The linker script template we use for target leonardo has memory region size | |
| 57 limits set as follows: 8 MiB of flash, 2 MiB of XRAM and 512 KiB of IRAM. If | |
| 58 you are working with a Leonardo or Leonardo-compatible board that has smaller | |
| 59 flash or XRAM, or has a Calypso Lite chip with only 256 KiB of IRAM, then you | |
| 60 have to manually ensure that you stay within your actual memory limits, as you | |
| 61 won't get a failing link unless you exceed the larger linker script limits. | |
| 62 | |
| 63 If you are building a modem-only fw configuration (l1reconst or hybrid), it | |
| 64 will fit into under 3 MiB of flash (fitting into a 4 MiB flash chip together | |
| 65 with FFS), 512 KiB of XRAM and 256 KiB of IRAM, so you are safe unless you are | |
| 66 going to add a lot of your own code or data space. But if you are going to | |
| 67 build a UI-enabled fw config (2092 or hybrid-ui), then you will need at least | |
| 68 an 8 MiB flash chip (won't fit into a 4 MiB chip together with FFS) and at least | |
| 69 1 MiB of XRAM. So far all of our configs fit into 256 KiB of IRAM. | |
| 70 | |
| 71 Different Calypso chip versions | |
| 72 =============================== | |
| 73 | |
| 74 If you specify the build target as just leonardo, your fw will be configured | |
| 75 and built for the leonardo-dsp36 target. If you actually need leonardo-c05b or | |
| 76 leonardo-dsp34 because your board has an older Calypso chip version on it, then | |
| 77 you will need to specify the build target as just stated - see the | |
| 78 Calypso-version-override article. |
