beautypg.com

Migrating from earlier neuron chips, Migrating self-installation routines – Echelon Series 6000 Chip databook User Manual

Page 129

background image


Name: interfaces.ifOutOctets
ID: 1.3.6.1.2.1.2.2.1.16

The total number of octets transmitted out of the interface, including framing characters.


Name: interfaces.ifOutUcastPkts
ID: 1.3.6.1.2.1.2.2.1.17

The total number of packets that higher-level protocols requested be transmitted, and which

were not addressed to a multicast or broadcast address at this sub-layer, including those that

were discarded or not sent.

Migrating from earlier Neuron Chips

When porting your application to a Series 6000 chip, you can avoid a number of problems by

defining all your functions to be resident by specifying the following prior to any code:


#pragma resident enabled

As long as this doesn’t produce space issues, this can be an easy way to go. Assuming this

works, then the following additional issues may arise:

1. If your NVM data (i.e., data declared as "eeprom" or read/write CPs) cannot fit in the

maximum space allowed (around 7KB), then you must reduce it or opt to store some

of this data in data logs.

2. If you use update_alias(), update_nv(), access_alias(), update_alias(),

you will have to change your application because of the changes made for the

extended address table. See “Migrating Self-installation Routines” below.

3. If the program references read_only_data.neuron_id, this yields the device MAC ID

except that the first byte will be 7 instead of the value in the actual MAC ID used by

the device.

If you cannot use “pragma resident enabled”, then you may run into these issues as well:

1. If you have a significant amount transient code, then you will want to run the device

at 80MHz. If you attempt to run slower, then you may notice that your device

performance is not acceptable.

2. If your application implements system callbacks (ISI

or get_nv_length_override()

), then these must be declared as resident by

defining them with "_RESIDENT". Furthermore, any functions these callbacks

invoke must also be defined as resident.

3. If your program uses interrupts and the interrupt code invokes other functions, these

functions must be declared resident by defining them with "_RESIDENT".

4. You cannot debug functions that are not resident.

Migrating Self-Installation Routines

Series 6000 chips support more than 15 address table entries (ATEs). This affects the

configuration structures referenced by the following APIs:

Series 6000 Chip Data Book

117