Project

General

Profile

Osmocon » History » Version 1

laforge, 02/19/2016 10:49 PM
Add compal_dnload documentation

1 1 laforge
= compal_dnload =
2
3
Using compal_dnload on your (Linux) PC, you can download arbitrary object code into your Compal-made Calypso-based phone.
4
5
== Usage ==
6
7
 * Connect your Compal phone to a serial port of your PC, using a [wiki:CalypsoSerialCable] (3.3V RS232 on 2.5mm headphone jack)
8
 * Start the compal_dnload program like this
9
{{{
10
$ ./compal_dnload /path/to/your/object_code [ /dev/ttyUSBn ]
11
}}}
12
 * Push the power-on button of your phone (short push, not like a regular phone boot!)
13
 * Observe the following output:
14
{{{
15
got 1 bytes from modem, data looks like: 04 
16
got 1 bytes from modem, data looks like: 81 
17
got 1 bytes from modem, data looks like: 1b 
18
got 1 bytes from modem, data looks like: f6 
19
got 1 bytes from modem, data looks like: 02 
20
got 1 bytes from modem, data looks like: 00 
21
got 1 bytes from modem, data looks like: 41 
22
got 1 bytes from modem, data looks like: 01 
23
got 1 bytes from modem, data looks like: 40 
24
Received PROMPT1 from phone, responding with CMD
25
got 1 bytes from modem, data looks like: 1b 
26
got 1 bytes from modem, data looks like: f6 
27
got 1 bytes from modem, data looks like: 02 
28
got 1 bytes from modem, data looks like: 00 
29
got 1 bytes from modem, data looks like: 41 
30
got 1 bytes from modem, data looks like: 02 
31
got 1 bytes from modem, data looks like: 43 
32
Received PROMPT2 from phone, starting download
33
got 1 bytes from modem, data looks like: 1b 
34
got 1 bytes from modem, data looks like: f6 
35
got 1 bytes from modem, data looks like: 02 
36
got 1 bytes from modem, data looks like: 00 
37
got 1 bytes from modem, data looks like: 41 
38
got 1 bytes from modem, data looks like: 03 
39
got 1 bytes from modem, data looks like: 42 
40
Received DOWNLOAD ACK from phone, your code is running now!
41
}}}
42
 * Observe further output of the serial port generated by the code you have downloaded
43
{{{
44
Hello World from C program code
45
======================================================================
46
Device ID code: B4FB
47
Device Version code: 0000
48
ARM ID code: FFF3
49
cDSP ID code: 0128
50
Die ID code: 6397191EFA039BE7
51
======================================================================
52
REG_DPLL=2002
53
CNTL_ARM_CLK=F081
54
CNTL_CLK=FF51
55
CNTL_RST=FFF7
56
CNTL_ARM_DIV=FFF9
57
======================================================================
58
REG_DPLL=2193
59
CNTL_ARM_CLK=F081
60
CNTL_CLK=FF51
61
CNTL_RST=FFF7
62
CNTL_ARM_DIV=FFF9
63
======================================================================
64
Releasing DSP from Reset
65
Loading initial DSP bootcode
66
Releasing DSP from Reset
67
Setting some api_ndb values
68
Setting API NDB parameters
69
DSP Download Status: 0001
70
DSP API Version: 0DC4 6308
71
Finishing download phase
72
DSP Download Status: 0002
73
DSP API Version: 3606 0000
74
}}}
75
76
== Known Problems ==
77
78
Somehow we're not always getting the timing quite right.  If you never get the PROMPT2 or DOWNLOAD ACK, you might
79
be affected by this bug.
80
81
The bug seems to resolve around the following line in the source.  Try to comment it out and recompile:
82
{{{
83
        /* write some dummy character that is not used */
84
        write(serial_fd, &running_xor, 1);
85
}}}
86
87
Any additional help to resolve this bug is mostly welcome!
Add picture from clipboard (Maximum size: 48.8 MB)