Embedded controller: Difference between revisions
RafaelOrtiz (talk | contribs) |
RafaelOrtiz (talk | contribs) (map of the EC.) |
||
Line 7: | Line 7: | ||
OLPC is now working in an Open implementation of the XOs Embedded Controller. |
OLPC is now working in an Open implementation of the XOs Embedded Controller. |
||
The code of the EC is programed to a [[Image:KB3700-ds-01.pdf]] that has an 8051 microprocessor, for the code to be open we need to compile everything in [[SDCC]]. |
The code of the EC is programed to a [[Image:KB3700-ds-01.pdf]] that has an 8051 microprocessor, for the code to be open we need to compile everything in [[SDCC]]. |
||
The need for an open implementation is due to the fact that the actual EC has some flakiness in the recovery process.(among many other things). |
|||
⚫ | |||
== Background == |
== Background == |
||
The EC is programed in the KB3700 and it has a paramount importance in controlling the XO when the CPU is not active. |
|||
⚫ | |||
For doing so the KB3700 has to communicate with the CPU via the [[Revised_EC_Port_6C_Command_Protocol|EC protocol]], this protocol is managed in the ports 0x66 and 0x62 of the KB3700. These two ports are serially connected with the 0x6C and 0x68 ports of the CPU. (for more info check [[Ec_specification]]). |
|||
But the KB3700 has to communicate also with the DS2657 (The battery charger) via the 1 wire Dallas protocol. |
|||
One can deduce some of the inside programing of the EC via the [http://dev.laptop.org/~joel/ec-dump.fth ec-dump.fth] under OpenFirmware. |
|||
= Actual development = |
= Actual development = |
Revision as of 05:45, 11 July 2007
Introduction
OLPC is now working in an Open implementation of the XOs Embedded Controller. The code of the EC is programed to a File:KB3700-ds-01.pdf that has an 8051 microprocessor, for the code to be open we need to compile everything in SDCC. The need for an open implementation is due to the fact that the actual EC has some flakiness in the recovery process.(among many other things). An example of a bug of the old EC can be found in trac #477
Background
The EC is programed in the KB3700 and it has a paramount importance in controlling the XO when the CPU is not active. For doing so the KB3700 has to communicate with the CPU via the EC protocol, this protocol is managed in the ports 0x66 and 0x62 of the KB3700. These two ports are serially connected with the 0x6C and 0x68 ports of the CPU. (for more info check Ec_specification). But the KB3700 has to communicate also with the DS2657 (The battery charger) via the 1 wire Dallas protocol. One can deduce some of the inside programing of the EC via the ec-dump.fth under OpenFirmware.
Actual development
All the work is going to be in the git repository [1]
Preliminary Work
To get this code in your machine please do:
git-clone http://dev.laptop.org/~joel/ec-test.git/
For info check Importing_your_project