Applied Micro Showcases World’s First 64-bit ARMv8 Core at ARM Techcon 2011, Santa Clara California. The day ARM announced the first 64-bit ARMv8 instruction set architecture, AppliedMicro unveiled the launch of the industry’s first 64-bit ARM “Server-on-a-Chip” solution. Most of the presentation is used to explain the competitive advantage this platform would bring including TCO reduced by 30%. There is also an (underwhelming) demonstration of X-Gene based on Xilinx Virtex-6 FPGA running Server SoC consisting of ARM-64 CPU complex, coherent CPU fabric, high performance I/O network, memory subsystem along with fully functional SoC subsystem. The FPGA platform and tools will be available for customer evaluation by the first half of 2012. Redhat will be in charge of implementing ARMv8 support in Linux and this will be part of Fedora for ARM in the future. The platform will run LAMP: Linux, Apache, MySQL and Perl/PHP/Python. The silicon will be available in […]
ARM TechCon 2011: Software & System Design Schedule
ARM Technology Conference (TechCon) 2011 will be hosted in Santa Clara on the 25-27 October 2011. There will be many events and classes related to Chip Design and Software & System Design. The Software & System Design events will take place on the 26th and 27th October 2011. Here’s the schedule for Software & System Design events for the 26th of October: Time Class Track 11 am The 2012 Compute Subsystem Creating Smarter Systems 11 am Practical Cortex Debugging: Serial Wire Viewer and ETM Tracing Developing/Debugging 11 am Integrating a CMOS Imaging Sensor into an ARM-Based Embedded Application Human Interface Design 11 am Embedded IPv6 – Now is the time Networking & Connectivity 11 am RSA & AES Libraries protected against side-channel attacks Safety & Security 11 am Introduction to the ARM Architecture The Fundamentals of ARM 12 pm Optimizing SoC development through a common design foundation Creating Smarter Systems […]
Is it IPv6 Time ? IPv6 Basics on Linux
The first time I worked on IPv6 was in 2000 in my master’s degree thesis where I started an implementation of Mobile IP based on IPv6 in Linux Redhat. Over a decade later, IPv6 has not really taken off, even though we hear stories about the IPv4 address space running out and I have yet to see an embedded device using anything else than IPv4. APNIC Ran out of IPv4 However, this may be about the change as on the 15th of April 2011, Japan Network Information Center (JPNIC) announced that APNIC (Asia Pacific Network Information Centre) ran out of IPv4 addresses. They will still try to make it last longer by reusing previously allocated IPv4 and an “IPv4 address transfer system” whose details will be made available later. You can also see a chart based on IANA (Internet Assigned Numbers Authority) data that shows this is a problem right […]
C Code to get MAC Address and IP Address
Function in C to return the MAC Address:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
/* Returns the MAC Address Params: int iNetType - 0: ethernet, 1: Wifi char chMAC[6] - MAC Address in binary format Returns: 0: success -1: Failure */ int getMACAddress(int iNetType, char chMAC[6]) { struct ifreq ifr; int sock; char *ifname=NULL; if (!iNetType) { ifname="eth0"; /* Ethernet */ } else { ifname="wlan0"; /* Wifi */ } sock=socket(AF_INET,SOCK_DGRAM,0); strcpy( ifr.ifr_name, ifname ); ifr.ifr_addr.sa_family = AF_INET; if (ioctl( sock, SIOCGIFHWADDR, &ifr ) < 0) { return -1; } memcpy(chMAC, ifr.ifr_hwaddr.sa_data, 6) close(sock); return 0; } |
Function in C to return the IP Address:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
/* Returns the interface IP Address Params: int iNetType - 0: ethernet, 1: Wifi char *chIP - IP Address string Return: 0: success / -1: Failure */ int getIpAddress(int iNetType, char chIP[16]) { struct ifreq ifr; int sock = 0; sock = socket(AF_INET, SOCK_DGRAM, 0); if(iNetType == 0) { strcpy(ifr.ifr_name, "eth0"); } else { strcpy(ifr.ifr_name, "wlan0"); } if (ioctl(sock, SIOCGIFADDR, &ifr) < 0) { strcpy(chIP, "0.0.0.0"); return -1; } sprintf(chIP, "%s", inet_ntoa(((struct sockaddr_in *) &(ifr.ifr_addr))->sin_addr)); close(sock); return 0; } |
Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com
Finding a device IP Address
If you are developing software for an Ethernet (or Wifi) device, you’ll need to access the board for debugging and/or testing purpose. If your board does not have user interface or the serial port is not available, you’ll have to find the IP address (assuming it is using DHCP) before accessing the board thru telnet or ssh. A simple way to do that is to ping the broadcast address and check the arp table. > ping -b 192.168.0.255 WARNING: pinging broadcast address PING 192.168.0.255 (192.168.0.255) 56(84) bytes of data. 64 bytes from 192.168.0.246: icmp_seq=0 ttl=64 time=0.018 ms 64 bytes from 192.168.0.101: icmp_seq=0 ttl=64 time=0.217 ms (DUP!) 64 bytes from 192.168.0.246: icmp_seq=1 ttl=64 time=0.023 ms > arp -i eth0 arp -i eth1 Address HWtype HWaddress Flags Mask Iface 192.168.0.103 ether 00:50:FC:00:00:01 C eth1 192.168.0.109 ether 00:13:20:01:01:01 C eth1 If you cannot find your device, it may be configured to […]
Linux LAN Port Scanner
Just a short post to show how to scan the open ports of a remote machine on the local network: sudo nmap -sS 10.10.10.123 Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2010-04-28 16:00 HKT Interesting ports on 10.10.10.123: (The 1660 ports scanned but not shown below are in state: filtered) PORT STATE SERVICE 69/tcp closed tftp 139/tcp open netbios-ssn 445/tcp open microsoft-ds MAC Address: 00:50:FC:B1:E9:70 (Edimax Technology CO.) Nmap finished: 1 IP address (1 host up) scanned in 25.252 seconds Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com