We can now use SDCC's __nonbanked feature

This allows us to reduce CODE footprint of SDCC projects
built with --model-huge. Use carefully!

* Added a facility which allows us to enable/disable the
  feature from the CPU dir (CC_CONF_NON_BANKED_OPTIMIZATION)
* Added the CC_NON_BANKED keyword to some platform files
  (expands to __nonbanked)
* Started using this for some examples
This commit is contained in:
George Oikonomou 2012-04-01 20:07:53 +01:00
parent d3b4efa06f
commit dd26accc07
10 changed files with 46 additions and 27 deletions

View file

@ -50,7 +50,7 @@ PROCESS(border_router_process, "Border Router process");
AUTOSTART_PROCESSES(&border_router_process);
/*---------------------------------------------------------------------------*/
static void
print_local_addresses(void)
print_local_addresses(void) CC_NON_BANKED
{
int i;
uint8_t state;
@ -70,8 +70,9 @@ print_local_addresses(void)
}
}
/*---------------------------------------------------------------------------*/
void
request_prefix(void) {
static void
request_prefix(void) CC_NON_BANKED
{
/* mess up uip_buf with a dirty request... */
uip_buf[0] = '?';
uip_buf[1] = 'P';
@ -82,7 +83,8 @@ request_prefix(void) {
/*---------------------------------------------------------------------------*/
/* Set our prefix when we receive one over SLIP */
void
set_prefix_64(uip_ipaddr_t *prefix_64) {
set_prefix_64(uip_ipaddr_t *prefix_64)
{
rpl_dag_t *dag;
uip_ipaddr_t ipaddr;
memcpy(&ipaddr, prefix_64, 16);