User guide
Neuron C Programmer’s Guide xi
Chips without Off-Chip Memory ........................................................ 177
Memory Regions .................................................................................. 177
Memory Areas...................................................................................... 178
Default Memory Usage ....................................................................... 180
Controlling Non-Default Memory Usage ........................................... 181
eeprom Keyword (for Functions and Data Declarations) ........... 181
far Keyword (for Data Declarations) ........................................... 182
offchip Keyword (for Functions and Data Declarations) ............ 183
onchip Keyword (for Functions and Data Declarations) ............ 183
ram Keyword (for Functions) ....................................................... 183
uninit Keyword (for Data Declarations) ...................................... 184
Compiler Directives ............................................................................. 184
When the Program Is Relinked .......................................................... 184
Use of Flash Memory........................................................................... 184
Use of Flash Memory for Series 3100 Chips ............................... 185
Use of Flash Memory for Series 5000 Chips ............................... 186
The eeprom_memcpy( ) Function .......................................................187
Reallocating On-Chip EEPROM ............................................................... 188
Address Table ...................................................................................... 188
Alias Table ...........................................................................................189
Domain Table....................................................................................... 190
Allocating Buffers ...................................................................................... 190
Buffer Size............................................................................................ 191
Application Buffer Size................................................................. 191
Network Buffer Size...................................................................... 192
Errors............................................................................................. 192
Buffer Counts....................................................................................... 192
Compiler Directives for Buffer Allocation.......................................... 193
Outgoing Application Buffers....................................................... 194
Outgoing Network Buffers ...........................................................194
Incoming Network Buffers ........................................................... 195
Incoming Application Buffers....................................................... 195
Number of Receive Transactions ................................................. 195
Usage Tip for Memory-Mapped I/O .......................................................... 198
What to Try When a Program Does Not Fit on a Neuron Chip .............. 199
Reduce the Size of the Configuration Property Template File......... 200
Reduce the Number of Address Table Entries .................................. 200
Remove Self-Identification Data if Not Needed ................................ 200
Remove Network Variable Names if Not Needed ............................. 201
Declare Constant Data Properly ........................................................ 201
Use Efficient Constant Values............................................................ 202
Take Advantage of Neuron Firmware Default Initialization ........... 202
Use Neuron C Utility Functions Effectively ...................................... 202
Be Aware of Library Usage................................................................. 203
Use More Efficient Data Types........................................................... 203
Observe Declaration Order ................................................................. 204
Use the Optional fastaccess Feature.................................................. 205
Eliminate Common Sub-Expressions................................................. 205
Use Function Calls Liberally .............................................................. 206
Use the Alternate Initialization Sequence......................................... 207
Use C Operators Effectively................................................................ 207
Use Neuron C Extensions Effectively ................................................ 208
Using the Link Map ................................................................................... 209