training

Post on 17-Jan-2016

33 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Training. SM350 Modules and Code Swapping. By: Robert Abutan. Agenda. 8051 HW restriction Modules Swapping limitation Code swapping. ROM. RAM. 0x8000. 0x0000. RTOS (4 KBytes). UI (16 KBytes). 0x1000. Library and Common Code (28 KBytes). 0xC000. Modules (16 KBytes). - PowerPoint PPT Presentation

TRANSCRIPT

TrainingTrainingSM350 Modules and Code Swapping

By: Robert Abutan

AgendaAgenda

8051 HW restriction ModulesSwapping limitationCode swapping

Cello 8051 HW RestrictionCello 8051 HW Restriction Only 64 Kbytes Program Memory:

– 32 Kbytes ROM– 32 Kbytes RAM

SM350 needs to support:– Codec Initialization– Display & Drawing– User Interface– Audio– Recording– USB– Etc…

ModulesModules

Can be categorized into 4 basic main modules:– External ROM module (optional)– Initial module– User Interface module– Functional modules (Audio, Record, etc…)

External ROMExternal ROM

System Diagnostic Firmware:– Test programs (SDRAM, Display, DSP,

etc…)– Debugger

For more information you can check on the SM350 System External ROM specification.

Initial ModuleInitial Module

Function: – Initialize HW (Codec, display, etc…).

– Initialize SW (Global variable, etc…).

– Recache Fat.

– Load Resource files to SDRAM.

– Load Binary files to SDRAM.

– Logo (animation). Available space: up to 32 Kbytes (Currently only

use 24 Kbytes).

User Interface ModuleUser Interface Module

Function: – Manage User Interface State Machine.

– Manage Menu.

– Responsible for drawing.

– Manage Key.

– Manage calling corresponding module Available space: 16 Kbytes. Our code > 16 Kbytes Common + Banks.

Functional modulesFunctional modules

Function: – Manage each individual supported feature.

Limited space: 16 Kbytes. Our code > 16 Kbytes Common + Banks. Available functional modules:

– Audio Module (Audio, JPEG, Slide Show, Ebook, and Movie);– Record Module (FM Radio and Recording);– USB Module;– USBDRM Module;– Recache Module;– Manager Module.

Audio ModuleAudio Module

Function:– Play Audio (MP3 / WMA).– Show JPEG (or Slide Show).– Manage EBook.– Manage MJPEG (Movie).– Manage Audio Playlist.– Manage browsing

Record ModuleRecord Module

Function:– Setup FM Radio.– Setup Recording (MIC or Line in).– File Write for Record.

USB ModuleUSB Module

Function:– Manage SCSI Command from PC

USBDRM ModuleUSBDRM Module

Function:– Manage MTP. – Manage DRM download.

Manager ModuleManager Module

Function:– Format media.– Detect media.– Manage File related functions, such as copy

file, delete file, create directory, etc…

Recache ModuleRecache Module

Function:– Recache FAT– Reload any necessary files (WMA Table,

Bitmap, Font, etc…)

Swapping LimitationSwapping Limitation

Our swapping code is located at the RAM.

Disadvantage:– Cannot swap a portion of

software in the same RAM location without using swapping function from different RAM.

Code SwappingCode Swapping

2 Important functions:– Code loading from SDRAM to 8051 Program

SRAM (8051Swap.c).– Interbank swapping (L51_MODBANK.A51

and L51_UIBANK.A51).

DMA Restriction (Code loading)DMA Restriction (Code loading)

4 bytes alignment both on the SRAM and/or SDRAM due to hardware restriction.

Only the first 10 Kbytes (0x0000 ~ 0x27FF) of the Data SRAM can be used.

For some media (excluding HDD), DMA transfer xdata is restricted to starting address that its last 10 bits are zero.

Code Swapping DiagramCode Swapping Diagram

Swapping codeSwapping code UI

extrn code (MainEntry)extrn code (ModBankSwapEntry)CSEG AT 08000HLJMP MainEntryLJMP ModBankSwapEntryEND

Module extrn code (MainEntry)extrn code (_UIBankSwapEntry)CSEG AT 0C000HLJMP MainEntryLJMP _UIBankSwapEntryEND

Data RAMData RAM

For more information: SysBoot. inc

SummarySummary

SM350 Software ModulesCode SwappingExternal Data RAM

Questions ???Questions ???

top related