Training SM350 Modules and Code Swapping By: Robert Abutan.
-
Upload
paulina-little -
Category
Documents
-
view
217 -
download
0
Transcript of Training SM350 Modules and Code Swapping By: Robert Abutan.
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 ???