|
|||||||||||
Technical Support On-Line Manuals RL-ARM User's Guide (MDK v4) ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Runtime ConfigurationEach embedded ethernet device must have a unique MAC address, IP address, and host name. This is very important when multiple devices are connected to the same LAN. Otherwise, network collisions might occur, network communications on local LAN might be disturbed, and the system might not work. You can use the same application code for serial production of embedded devices. The runtime configuration feature allows you to read configuration parameters from the EEPROM and configure the ethernet network interface for each embedded device differently.
Here is an example of dynamic system configuration: #include <Net_Config.h> extern U8 own_hw_adr[]; extern U8 lhost_name[]; extern LOCALM localm[]; /* The following values are read out of EEPROM. */ U8 const mac_adr[6] = { 0,1,2,50,60,70 }; LOCALM const ip_config = { { 192,168,0,150 }, // IP address { 192,168,0,1 }, // Default Gateway { 255,255,255,0 }, // Net mask { 194,25,2,129 }, // Primary DNS server { 194,25,2,130 } // Secondary DNS server }; U8 const DHCP_mode = 0; U8 const dev_name[16] = { "Keil_MCB" }; void main (void) { /* Change the MAC address */ mem_copy (own_hw_adr, (U8 *)mac_adr, 6); init_TcpNet (); /* Change the host name */ str_copy (lhost_name, (U8 *)dev_name); /* Change the IP address if dynamic mode is not used */ if (DHCP_mode == 0) { dhcp_disable (); mem_copy ((U8 *)&localm[NETIF_ETH], (U8 *)&ip_config, sizeof(ip_config)); } while (1) { timer_poll (); main_TcpNet (); } } In this example, the new parameters are defined in the code. However, in your application, this would be the network parameters read out from the EEPROM or NV RAM. Note
| ||||||||||
|
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.