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! |