Intelligent Energy Management (IEM)
The IEM technology uses a technique called Dynamic Voltage and Frequency Scaling (DVFS) to implement the power and energy savings.
The IEM technology consists of the following components:
- IEM Software (OS and Applications) (Linux Kernel 2.6 Patch)
- Intelligent Energy Controller (IEC)
- Advanced Power Controller (APC)
ARM Physical IP:
- Metro
- Advantage
- Advantage-HS
Reference:
1. ARM
2. Power Management in Mobile Devices, Chapter 7.6
Thursday, October 30, 2008
Tuesday, October 28, 2008
Open On-Chip Debugger
Open On-Chip Debugger
Openocd - JTAG Interface
Setting Up OpenOCD Under Linux
The USB ARM JTAG programmers. (Compliant with OpenOCD)
These are based on the FTDI USB chip.
Hubert Hoegl's USB ARM JTAG Programmer
USB JTAG-Programmer
OpenOCD website
Sparkfun
Olimex
Related Blogs:
JTAG Cable
Openocd - JTAG Interface
Setting Up OpenOCD Under Linux
The USB ARM JTAG programmers. (Compliant with OpenOCD)
These are based on the FTDI USB chip.
Hubert Hoegl's USB ARM JTAG Programmer
USB JTAG-Programmer
OpenOCD website
Sparkfun
Olimex
Related Blogs:
JTAG Cable
Serial Peripheral Interface (SPI)
SATA on the Linux Kernel
Synopsys (DesignWare Cores SATA AHCI)
Synopsys (DesignWare Cores SATA Host) (patch)
Reference:
http://en.wikipedia.org/wiki/Serial_ATA
Synopsys (DesignWare Cores SATA Host) (patch)
Reference:
http://en.wikipedia.org/wiki/Serial_ATA
Monday, October 27, 2008
Friday, October 24, 2008
Wednesday, October 22, 2008
NAND Flash
NAND Flash Chip Vendor
Intel
ONFI,
Micron
ONFI, SLC/MLC: Compatibility with ONFI synchronous interface
Toshiba
non-ONFI,
Micron NAND Flash
1) SLC-small/large block
2) MLC-large block
3) Toggle DDR NAND Flash (list)
SKhynix
Support ONFI for some new product (Databook)
Spansion
ONFI 1.0, Spansion® Product Selector Guide March 2013
1) SLC NAND (list)
2) MLC NAND
3) Toggle-Mode NAND
Micron MT29Fxx08x (Data Sheet) (Errata) ( Sample Code)
- Device Size : 4Gb = 4096 blocks
- Block Size : 64 pages
- Page Size : 2112 Bytes (2048 Bytes Data + 64 Bytes Spare)
- SLC Technology
Micron MT29Fxx16x (Data Sheet) (Errata) ( Sample Code)
- Device Size : 4Gb = 4096 blocks
- Block Size : 64 pages
- Page Size : 2112 Bytes (1024 Words Data + 32 Words Spare)
- SLC Technology
NAND MLC Flash
Micron MT29F16G08MAAWP (Data Sheet)
- Device Size : 16Gb = 4096 blocks
- Block Size : 128 pages
- Page Size : 4314 Bytes (4096 Bytes Data + 218 Bytes Spare)
- MLC Technology
- Open NAND Flash Interface (ONFI) 1.0 compliant (1.0 Spec) (2.0)
NAND Flash Controller
Example:
ARM SMC (PL353)
u-boot (patch)
Linux Device Driver (patch)
- Device Size : 4Gb = 4096 blocks
- Block Size : 64 pages
- Page Size : 2112 Bytes (2048 Bytes Data + 64 Bytes Spare)
- SLC Technology
Micron MT29Fxx16x (Data Sheet) (Errata) ( Sample Code)
- Device Size : 4Gb = 4096 blocks
- Block Size : 64 pages
- Page Size : 2112 Bytes (1024 Words Data + 32 Words Spare)
- SLC Technology
NAND MLC Flash
Micron MT29F16G08MAAWP (Data Sheet)
- Device Size : 16Gb = 4096 blocks
- Block Size : 128 pages
- Page Size : 4314 Bytes (4096 Bytes Data + 218 Bytes Spare)
- MLC Technology
- Open NAND Flash Interface (ONFI) 1.0 compliant (1.0 Spec) (2.0)
NAND Flash Controller
Example:
ARM SMC (PL353)
u-boot (patch)
Linux Device Driver (patch)
Thursday, October 16, 2008
NFS Client on Windows
NFS Client on Windows
1. Windows Services for UNIX (SFU)
2. Omni-NFS/X Enterprise v3.1
3. NFSPro
NFS Server on Linux (Fedora Core 9)
[root]# cat /etc/exports
# /etc/exports: NFS file systems being exported.
#/home/MPCore/rootfs/netfs *(rw,no_root_squash,async)
/home/u-boot-1.3.1-mpcore 172.20.2.100/24(rw,sync) localhost(rw,sync)
[root]# /etc/init.d/nfs restart
[root]# /etc/init.d/nfslock restart
Show/Check mount information for an NFS server
[root]# showmount -e localhost
Check firewall settings for NFS (Port: 2049)
1. Windows Services for UNIX (SFU)
2. Omni-NFS/X Enterprise v3.1
3. NFSPro
NFS Server on Linux (Fedora Core 9)
[root]# cat /etc/exports
# /etc/exports: NFS file systems being exported.
#/home/MPCore/rootfs/netfs *(rw,no_root_squash,async)
/home/u-boot-1.3.1-mpcore 172.20.2.100/24(rw,sync) localhost(rw,sync)
[root]# /etc/init.d/nfs restart
[root]# /etc/init.d/nfslock restart
Show/Check mount information for an NFS server
[root]# showmount -e localhost
Check firewall settings for NFS (Port: 2049)
Wednesday, October 8, 2008
Windows Live Writer
I write this by Windows Live Writer for testing.
I hope this free utility can help me to write more colorful blogs in easy way.
Tuesday, October 7, 2008
Sunday, October 5, 2008
ARM RealView PB11MPCore (8.1) Linux Kernel (Big-endian)
Linux kernel 2.6.24 Series (patch) (.config)
Linux kernel 2.6.26 Series (patch) (.config)
Linux kernel 2.6.26 Series (patch) (.config)
Thursday, October 2, 2008
ARM RealView PB11MPCore (7.2) U-boot User Manual
U-boot User Manual
Environment Variable:
ipaddr=172.20.5.100
serverip=172.20.5.200
netmask=255.255.0.0
bootfile=uImage
Commands:
tftpboot - boot image via network using TFTP protocol
tftpboot [loadAddress] [bootfilename]
RealView_PB # tftpboot
TFTP from server 172.20.5.200; our IP address is 172.20.5.100
Filename 'uImage'.
Load address: 0x7fc0
Loading:################################################
done
Bytes transferred = 1527128 (174d58 hex)
bootp - boot image via network using BootP/TFTP protocol
bootp [loadAddress] [bootfilename]
RealView_PB # bootp
BOOTP broadcast 1
DHCP client bound to address 172.20.99.82
TFTP from server 172.20.5.200; our IP address is 172.20.5.100
Filename 'uImage'.
Load address: 0x7fc0
Loading:################################################
done
Bytes transferred = 1527128 (174d58 hex)
bootm - boot application image from memory
bootm [addr [arg ...]]
- boot application image stored in memory
when booting a Linux kernel, 'arg' can be the address of an initrd image
RealView_PB # bootm 0x7fc0
or just
RealView_PB # bootm
References:
The DENX U-Boot and Linux Guide
Embedded Linux Primer: Chapter 7 Bootloaders (PDF)
Environment Variable:
ipaddr=172.20.5.100
serverip=172.20.5.200
netmask=255.255.0.0
bootfile=uImage
Commands:
tftpboot - boot image via network using TFTP protocol
tftpboot [loadAddress] [bootfilename]
RealView_PB # tftpboot
TFTP from server 172.20.5.200; our IP address is 172.20.5.100
Filename 'uImage'.
Load address: 0x7fc0
Loading:################################################
done
Bytes transferred = 1527128 (174d58 hex)
bootp - boot image via network using BootP/TFTP protocol
bootp [loadAddress] [bootfilename]
RealView_PB # bootp
BOOTP broadcast 1
DHCP client bound to address 172.20.99.82
TFTP from server 172.20.5.200; our IP address is 172.20.5.100
Filename 'uImage'.
Load address: 0x7fc0
Loading:################################################
done
Bytes transferred = 1527128 (174d58 hex)
bootm - boot application image from memory
bootm [addr [arg ...]]
- boot application image stored in memory
when booting a Linux kernel, 'arg' can be the address of an initrd image
RealView_PB # bootm 0x7fc0
or just
RealView_PB # bootm
References:
The DENX U-Boot and Linux Guide
Embedded Linux Primer: Chapter 7 Bootloaders (PDF)
Wednesday, October 1, 2008
Floating point exception
Using different hash type for GCC will generate different execution result.
Sample Code: Download
Makefile
hello.c
Experimentation:
1. Compile hello.c on Fedora
2. Execute hello on Debian and Gentoo
Output on Debian:
debian:~/hello# ./hello
Floating point exception
debian:~/hello# ./hello.both
Hello!
debian:~/hello# ./hello.gnu
Floating point exception
debian:~/hello# ./hello.sysv
Hello!
Result:
Explanation:
Fedora Core 6: GCC Compiler
Fedora developers have introduced changes in the ELF .hash section that provides symbols for dynamic linking. This new .gnu.hash section, which is produced with the new default --hash-style=gnu option for gcc, serves the same purpose as previous hash sections. It provides, however, an approximately 50% increase in dynamic linking speed. Binaries and libraries produced with the new hashing function are incompatible with older glibc and dynamic linker releases. To use the old-style hashing routines for compatibility with older glibc-based systems, pass the --hash-style=sysv option instead.
References:
http://docs.fedoraproject.org/release-notes/fc6
Sample Code: Download
Makefile
hello.c
Experimentation:
1. Compile hello.c on Fedora
2. Execute hello on Debian and Gentoo
Output on Debian:
debian:~/hello# ./hello
Floating point exception
debian:~/hello# ./hello.both
Hello!
debian:~/hello# ./hello.gnu
Floating point exception
debian:~/hello# ./hello.sysv
Hello!
Result:
Explanation:
Fedora Core 6: GCC Compiler
Fedora developers have introduced changes in the ELF .hash section that provides symbols for dynamic linking. This new .gnu.hash section, which is produced with the new default --hash-style=gnu option for gcc, serves the same purpose as previous hash sections. It provides, however, an approximately 50% increase in dynamic linking speed. Binaries and libraries produced with the new hashing function are incompatible with older glibc and dynamic linker releases. To use the old-style hashing routines for compatibility with older glibc-based systems, pass the --hash-style=sysv option instead.
References:
http://docs.fedoraproject.org/release-notes/fc6
GCC Reading Book List
GCC Reading Book List
1. The Definitive Guide to GCC, Second Edition (2006) (PDF)
2. An Introduction to GCC (2004) online
3. GNU Autoconf, Automake, and Libtool (2000) online
Links:
GCC online documentation
1. The Definitive Guide to GCC, Second Edition (2006) (PDF)
2. An Introduction to GCC (2004) online
3. GNU Autoconf, Automake, and Libtool (2000) online
Links:
GCC online documentation
Subscribe to:
Posts (Atom)