1
0
mirror of https://github.com/marqs85/ossc.git synced 2024-12-29 09:32:45 +00:00
ossc/software/sys_controller/mem_init
Ari Sundholm 760be1738e Userdata export (FAT16): Optimize code size.
Reorganize the and optimize the code to avoid redundant code and thus
reduce code size, while making sure to zero-initialize the used areas
on the SD card. These are the "clean" part of this change.

The "dirty" part:
Optimize the FAT16 export code further by introducing small deviations
from the FAT16 specification. These deviations should not be harmful
at all, unless the SD card is used for something requiring the jump
instruction and/or boot code in the boot sector to be valid. This is
typically only required when booting off the filesystem.

After these changes, a considerable reduction in code size can be
observed for sys_controller.elf and sys_onchip_memory2_0.bin:

sys_controller.elf:
   text	   data	    bss	    dec	    hex	filename
  32392	   2936	   2652	  37980	   945c	sys_controller.elf

sys_onchip_memory2_0.bin:
size: 35328 bytes

This reduces the cost of the FAT16 export feature to 446 bytes.
2020-11-24 23:50:05 +02:00
..
epcq_controller_0.hex Initial public release (FW 0.64) 2016-02-23 01:03:50 +02:00
meminit.qip Initial public release (FW 0.64) 2016-02-23 01:03:50 +02:00
meminit.spd Initial public release (FW 0.64) 2016-02-23 01:03:50 +02:00
sys_onchip_memory2_0.hex Userdata export (FAT16): Optimize code size. 2020-11-24 23:50:05 +02:00