Migrating from earlier neuron chips, Migrating self-installation routines – Echelon Series 6000 Chip databook User Manual
Page 129
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