29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Embed<strong>de</strong>d</strong> SW in Digital AM-FM Chipset 209<br />

thrue the communication network structure but no arbiter has been integrated<br />

within the chip. The software has to manage this constraint and to properly<br />

allocate each resource. This flexible approach allows to change the software<br />

partitioning when required.<br />

Figure 16-3 presents an overview of the plat<strong>for</strong>m architecture of the DIAM<br />

base band. The interconnection network is based on an AHB matrix and an<br />

APB bus <strong>for</strong> the low data rate peripherals. Two external memories (one<br />

associated with each core) are introduced to suppress potential bottlenecks<br />

between the two cores.<br />

The first version of the plat<strong>for</strong>m is processed in an ATMEL CMOS<br />

technology.<br />

3. SW ARCHITECTURE<br />

Basically, the software has been split according to the data flow and the<br />

available CPU. The physical layer has been mapped to one core and the<br />

application layers are mapped onto the second core. Cache and TCM sizes<br />

have been tuned to the specific requirements of the most <strong>de</strong>manding function.<br />

TCM are assigned to the audio co<strong>de</strong>r which presents the strongest constraint<br />

regarding the real-time.<br />

Figure 16-4 presents an overview of the software architecture.<br />

The plat<strong>for</strong>m boot is not shown although its <strong>de</strong>finition is quite tricky. This<br />

<strong>de</strong>dicated SW is in charge of the initial configuration of each core and is<br />

closely linked to the plat<strong>for</strong>m itself. By structure, each core starts executing<br />

its SW at the same address (generally @0). Without any precaution both cores<br />

will execute the same co<strong>de</strong>. The retained solution <strong>for</strong> the DIAM plat<strong>for</strong>m is<br />

based upon a hierarchical approach and a remap technique which allows to<br />

translate the base of the slave core. This translation is per<strong>for</strong>med during the<br />

boot of the master core which then allows the boot of the slave core.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!