admin

Simulation software for embedded system.

Here , I list some softwares that used for simulate the work of microcontroller or electronics circuit.
Like below…

1.VIRTUAL BREADBOARD (VBB)
I think VBB is the best arduino simulator at this moment. This software also
include some examples of arduino model ready for simulate. You can write a source
code of arduino , draw schematics and simulate it using VBB. It can simulate the
PICMICRO and PARALLAX processor too. I recommend this software for person
who want to study how to write program for arduino but don’t want to associate with
making the real hardware for test the written program. Visit virtualbreadboard website for more information about this great software or view the demo of this software at this link.

embedded Simulation software for embedded system.

virtual-breadboard-arduino

Continue reading

Incoming search terms for the article:

NXP Cortex-M0

After NXP had launched ARM Cortex-M3 to the market (LPC1700 and LPC1300).They have
launched Cortex-M0 (LCP1100) to the market since the beginning of 2010.Please look
at the picture below to compare each of NXP ARM Cortex series.

embedded NXP Cortex M0

Comparison of Cortex Series

Continue reading

Why Is Load Testing Useful

Load testing is the process of putting increasing demand on a system or software until the system or software breaks or fails to function. The purpose of load testing is to test the system against unusually high usage patterns to determine how the system or software will react. 

One example of the need for this type of testing is a web server hosting a web site that is seasonal or receives peak levels of web traffic during highly publicized special events. Another example would be a link to a small web site from a very popular site, that then doubles or triples the number of concurrent visitors to the smaller web site. Load testing in each example could determine ahead of time whether each site could handle the increased traffic without the hosting server failing to serve web pages to visitors during the peak load. 

Continue reading

Incoming search terms for the article:

Linux bootloader.

What is a bootloader?

In computing, booting or booting-up, is the process that starts an operating system when a computer system is turned on. A boot sequence is then followed, step by step, running some initial tests of the hardware and then initializing the bootloader.

A bootloader loads the operating system, often from a list of options, selecting the default option if another is not selected by the user within a set period of time. The user interface one sees can be a simply text display or a graphical user interface.

When a computer starts-up, the BIOS is loaded. The master boot record (MBR) is accessed from the first sector on the boot-able media. The MBR is limited to a single operating system, i.e. one distribution on Linux (Ubuntu, OpenSuse, etc.). The MBR is split up into two parts, part or all of the boot loader and information on the drive partitions. The BIOS locates and loads the first part of the bootloader, known as the initial program loader or IPL. The IPL checks the partition table to locate the second stage of the bootloader and load it.

The second part of the bootloader is much larger than the first, which is limited by the size of files the BIOS can access. The second part is also the part that is visible, so often people think it is the only part of the bootloader. This part contains the user interface to display the bootloader to the user and kernels to help the computer function correctly in the initial stages.

With newer Linux bootloaders, you have new options like the ability to load from a list of operating systems, use encrypted passwords and so on. This allows the flexibility to have a number of different operating systems installed on separate drives or separate partitions on the same drive. Different popular distributions of Linux, like Ubuntu Linux and OpenSuse Linux, as well as Microsoft Windows operating systems, can coexist happily together. This gives the user ultimate flexibility at boot time.

Two of the more popular bootloaders on Linux operating systems are LILO and GRUB.

Linux Loader

Linux Loader, or LILO, is the most common bootloader for Linux. It has been around many years, enjoys rich support from the Linux community and continues to evolve with new features added over time. There are many features to help troubleshoot a system having problems booting-up successfully. It also permits dual boot of a Linux distribution with any other operating system.

embedded Linux bootloader.

LILO is file system agnostic that allow to boot the OS from a floppy disc, CD-Rom, DVD, USB pen drive or hard drive. LILO is also flexible enough to be loaded from master boot record or boot sector of harddisk partiton. If you want to load LILO from boot sector then you must set up something in the master boot record in order to call the LILO that place on the harddisk partition.

GRUB

embedded Linux bootloader.

GNU GRUB, or GRUB, is fast becoming the boot loader of choice for many Linux users. The growing popularity of the Ubuntu Linux distribution that uses GRUB as standard is one reason for this, with approximately one third of Linux users using Ubuntu.

GRUB can also install on a range of media – floppy disc, CD-Rom, DVD, USB pen drive and hard drive – but it beats out LILO because the number of boot selections are unlimited. Given enough media options, this allows an enthusiast or Linux technician to load the latest stable release for one distribution of Linux, as well as a number of beta versions and special configurations for testing purposes, without the concern of running out of boot selections.

GRUB is also network ready and comes with an attractive graphical user interface.

Thank you,
Jitkasem Pintaya

Incoming search terms for the article:

Embedded board

This article is about my recommend embedded board
1. idea6410 board
This embedded board use Samsung S3C6410 ARM11 as the main processor.It come with
various type of peripheral interfaces as much as necessary. It suitable for automotive , industrial control applications or medical system.This board can run many OS such as Windows Embedded CE 6.0,
Embedded Linux 2.6, Android and Ubuntu.View more information about this board here.

embedded Embedded board

Continue reading

Incoming search terms for the article:

Embedded scientific calculator.

Casio fx-9860gsd is one of scientific calculator that can use for
calculate scientific formular otherwise it also can be used in controlling
as the embedded calculator.

Casio fx-9860gsd has the graphic LCD display (only two colors , black & white).
It use high performance processor , has the serial port and also has the SD card slot.
This calculator can be programmed without using the external program-burning equipment
(user can write program and download compiled-program to the calculator).
The software development kit for develop the software is free for download (include the compiler,
library and IDE). This SDK can make Casio fx-9860gsd to become good embedded controller board.
The drawback is it doesn’t have input/output port sufficiently to use ,however we can solve this drawback
by use the external equipment to expand I/O port.

Important technical specification of Casio fx-9860gsd are as follow…
- Use CPU from Renesas (SuperH-3 32-bit RISC processor) run at 100/133 MHz (depent on the working
mode)
- RAM 512 kB
- 4 MB Flash memory (can actually use about 1.5 MB)
- Download program to the calculator via mini USB by using FA-124 software.
- One channel serial port.
- Addition application can be appended to the calculator by ourselve.
- Develop program using C language and the SDK is free for download.
- Have SD card slot (SD card used for install new application or store the data).
- Noise tolerant and high stability.
- Can exchange the program between two calculators using the special signal-wire.

embedded Embedded scientific calculator.

Casio fx-9860g sd

Essential software you need to download before start develop the program for Casio fx-9860gsd

First download SDK for fx-9860g (this SDK contain IDE and C
compiler). The registration is required and you must own the real Casio fx-9860gsd
(because it request for the identification number that stick at the back of this scientific calculator).
If you don’t have real Casio fx-9860g series then you can’t download this SDK.
Visit https://edu.casio.com/download_service/register/regist_form.php for register and download SDK.

Second download library Revolutionfx from http://revolution-fx.sourceforge.net.
This library help in reading and writing via serial port of the calculator (You cannot
access the serial port by using only the SDK from casio).
It also has the routine for draw a line or graph and include special function that is
valuable for working with this calculator.

Last software that need to download is Casio FA-124. This software use for download or
burn the program into calculator. You can download Casio FA-124 at http://world.casio.com/edu/resources/fa124/index.html.

When you have all three software above , you must install the fx-9860g SDK first
after that install the Revolutionfx library and Casio FA-124 respectively.

This article doesn’t talk about how to set up the environment for develop the program
and how to write the C code instruction for this calculator because I intend to write the
review for Casio fx-9860gsd only.

Reference :
1. Prototype Electronics Magazine (issue 11 , June 2010)
2. http://www.tpemagazine.com

Thank you,
Admin

Incoming search terms for the article:

Interest embedded development board

embedded Interest embedded development boardembedded Interest embedded development boardembedded Interest embedded development boardembedded Interest embedded development boardembedded Interest embedded development boardembedded Interest embedded development board

Fez Domino

This development board was developed by GHI Electronics. It use 32 bit ARM7 (LPC2388FBD144 run at 72 Mhz) as the main microcontroller. It also the same as other general embedded development board except
that it use Visual C# 2008 Express Edition as compiler (so you must able to write the C# language) and use Microsoft .Net Micro Framework as the template for development the program on this microcontroller.
This IDE provide the full function of debugging capability. It also provide
an emulator mode , so you can run your developed program
without burning it into the real development board.

The extra capability of FEZ Domino is that its IOs port are correspond with
the hardware standard of Arduino (Pin compatible with Arduino) ,
so it can be used together with Arduino shield board.
For more information about Fez Domino , please visit TinyCLR.com

embedded Interest embedded development board

Picture of Fez Domino board

Below are videos introduce about how to develop program on Fez domino


Thanks,

If you have some questions or want to suggest something to me , please send an email to admin@embedsoftdev.com

Admin
jitkasem pintaya

Scrum and Extreme Programming

Agile Process (Scrum and Extreme Programming)
The Agile Process or software development refers to a set of software development methods which are based on iterative development. In this process, the solutions and requirements both evolve mutual collaboration between cross functional teams. These teams are self-organizing in nature.
The Agile software development approach usually promotes a regimented kind of project management process which encourages:
* Frequent adaptation and inspection
* Self-organization and accountability
* A leadership philosophy which promotes teamwork
* A business approach which bring into line the development with customer needs and company goals
* And a group of best engineering practices having an intention to allow for rapid delivery of good-quality software.
Extreme Programming (EP)
It is a software development methodology with an intention to enhance software responsiveness and quality to the volatile requirements of customers. Being a type of Agile process, it promotes frequent releases in small development cycles. This introduces checkpoints and improves the productivity in a way that the new requirements from customers can be adopted.
The advantages of Extreme Programming are:
* Unit testing of all code
* Avoiding programming of features until needed
* Programming in pairs or carrying out extensive code review
* Clarity and simplicity in code
* Volatile customer requirements better understood
* A flag management structure
* Frequent communication between the programmers and even with the customer
It has been noted however that there are certain drawbacks with Extreme programming. They are:
* No documented compromises of user conflicts
* Unstable requirements
* Lack of overall design document or specification
* Incorporates inadequate software design
* Necessitates meetings at recurrent intervals at huge expense to customers
* Can enlarge the risk of scope creep due to the lack of thorough requirements documentation
* Requires excess of cultural change to adopt

Scrum
Scrum is an incremental, iterative framework for agile software development and project management. The word “Scrum” is not really an acronym. However, many companies using this methodology spell it with capital letters. Initially Scrum methodology was focused for management of software development projects, but in recent times it can be used to run general program/project management approach or software maintenance teams.
Scrum, which contains sets of predefined roles and practices, is a process skeleton. Main roles in this method are:
1. Product Owner – Represents Stakeholders
2. Scrum Master – The one responsible for maintaining the processes
3. Team – A cross functional group of about 6-8 people who do actual design, testing, implementation, etc.
Each of the iteration is called a “sprint”, typical time frame for which is normally about two to four weeks. The length of each sprint is decided by the team. The product “backlog” pushes the set of features into a spring. These features are prioritized set of higher level requirements for the task to be carried out. Based on this product “backlog”, the team determines how many of the items can be completed in the next sprint. Once the sprint begins, nobody is allowed to alter the sprint backlog, which means that the set of requirements are frozen. On successful completion of a sprint, the team demonstrates the usage of that particular software.
This methodology should be encouraged in organizations since the major advantage of using the Scrum is that it enables the creation of teams which are highly self-organizing in nature. This is achieved by encouraging verbal communication amongst the team members, co-location of all the team members and disciplines which are involved for the project.

Differences between Scrum and Extreme Programming(EP) :
1. The time span for iterative sprints is different in both approaches.
2. Changes are not allowed by the Scrum teams during their sprints. Whereas Extreme Programming teams have to be much more agreeable to changes.
3. Work is done by EP teams in strict priority order. Whereas in case of Scrum, the product owner prioritizes the set of activities.
4. EP does prescribe some engineering practices; Scrum does not.

Thank you

Incoming search terms for the article:

Performance Testing and Regression Testing

Performance Testing and Regression Testing

Software testing or Testing is an examination conducted to present the stakeholders with data regarding the quality of the service or product under test. This type of software testing as well provides in insight on the independent views and objectives of the software to permit the business to understand all the risks involved during the implementation of the software.
Based on the testing method employed, Software testing can be put into practice at any point of time in the development process. Although, most of the efforts for testing occur after the requirements are defined and the process for coding has been completed.

This article describes two types of testing methodologies.

1. Performance Testing
Performance testing is performed to determine how quick a system or sub-system executes under a particular amount of workload. It can also provide to verify and validate other quality traits of the system, such as reliability, scalability and resource usage.

In the field of Software Engineering, performance testing comes under the testing category which is carried out to how fast a particular aspect of the system under observation performs, given a fixed amount of workload. This sort of testing is a subset of Performance Engineering (up-and-coming computer science practices build to get performance into the architecture and design of a system, prior to the actual effort of coding). There are various purposes which performance testing can serve:
It can compare given two systems and finds out which one is performing better
It can demonstrate whether or not the system meets the required performance criteria.
It can calculate which parts of the system under observation cause the system to perform badly.

2. Regression Testing
This type of testing is any software testing which seeks to find out software errors by partly re-testing a modified program. The intention of this type of testing is to provide a kind of assurance that no additional errors were added during the process of fixing the existing problems. Regression testing is generally used to proficiently examine the system by systematically choosing the appropriate suite of tests which are required to sufficiently cove all of the affected changes.
Widespread methods of regression testing comprise of rerunning earlier run tests and scrutinizing whether previously fixed faults have re-emerged. One of the chief reasons for performing regression testing is that it’s often tremendously difficult for a programmer to outline out how a change in one part of the software will reverberate in other parts of the software.

Ad hoc testing
This term is commonly used to represent software testing without any documentation or planning. The tests are made to run only once, unless a defect is discovered. This type of testing is more of a part of exploratory testing. Here, the tester seeks to find errors by any means that seems appropriate to him/her.

Unit Testing
This type of testing is a software verification and validation method where a programmer tests if individual units of system are fit for utilization. A unit is the least testable part of an application. In procedural programming, a unit might be an individual procedure or function.

Advantages

The advantage of performing Performance and Regression testing are:
Reusable: Can reuse tests on diverse versions of an application, even if the user interface alters
Repeatable: Can check how the software responds under repeated execution of the identical operations.
Programmable: Can program complicated tests that bring out concealed information from the application.
Cost Reduction: Cost is reduced since the amounts of resources for regression test are reduced.
Reliable: Tests carry out precisely the equivalent operations each time they are run, thereby eradicating human error.
Comprehensive: Can build a suite of tests that wraps every feature in the application.
Better Quality Software: Can run additional tests in fewer time with less resources
Fast: Automated Tools run tests considerably faster as compared to the human users.

Incoming search terms for the article:

GIT vs Perforce vs Clearcase vs CVS

GIT

This distributed revision control system has an emphasis on speed. It was originally designed and developed by Linus Torvalds for the development of Linux kernel. Every working directory of Git is a full-fledged repository with full revision tracking capabilities and complete history, not dependent on a central server or network access. GIT is a free software which is distributed under the terms of version 2 of the GNU General Public License.

Perforce

This is a proprietary and commercial revision control system developed by Perforce Software Inc. Perforce follows a client/server system. Here the server has the responsibility of managing a central database and a main repository of file versions. Developers can work on files in their local client workspace. After altering the changes, they can submit the changes to the main server. Client and server communicate via TCP/IP.

Clearcase

Rational ClearCase is a tool for configuration management of source code and other software assets. This tool is developed by IBM (Rational Software Division). ClearCase is the basis of version control for many mid size businesses, and has the potential to handle projects with thousands of developers.

CVS

This is a free revision control system. This system was developed by Dick Grune as a series of shell scripts during July 1986. CVS turned out to be popular in the open source software space and is released under General Public License of GNU. CVS also uses Client/Server architecture. Here, the clients connect to the server and can “check out” a version of file onto their local disk. Later after modifying the contents, they can “check in” the changes.

Incoming search terms for the article:

Types of Revision Control Software

Revision Control Software
Revision Control software are used implement Revision Control on single or multiple sites by organizations. Revision Control, also known as Software Configuration Management (SCM) or Source Control or Version Control, is the management or control of changes to programs, documents and other sorts of information data. This type of setup or mechanism is more often used in software development where a set of people may alter the contents of the same file. The changes made are generally identified by a letter code or number which is called as a revision number or simply revision. For instance, an initial revision for a file is “revision 1”. If this file is altered by any developer, its revision becomes “revision 2”, and so on. A developer can perform many operations on these revisions. These revisions of files or directories can be merged, restored or compared. Software tools for revision management are crucial for the organization where development is simultaneously in progress on multi-developer sites.

Types of Revision Control Software
The various possible approaches for revision control software are:
Local Only: In this approach, it is necessary for all the developers to use the same computer system. Examples:
a. Revision Control System (RCS)
b. Source Code Control System (SCCS)

Distributed Model: In this approach, each of the developer has his/her own setup or local repository. And at some predefined time, all of the changes from various developers are shared or synced between repositories as a different step. Examples:
c. Open Source:
i. Aegis
ii. Codeville
iii. DCVS
iv. GIT
d. Proprietary:
i. Sun WorkShop Team Ware
ii. BitKeeper

Client-Server Model: In this approach, all the developers have to share a single repository. Examples:
e. Open Source:
i. Concurrent Versions System (CVS)
ii. CVSNT
iii. OpenCVS
f. Proprietary:
i. Perforce
ii. Clearcase
iii. Visual SourceSafe

Incoming search terms for the article:

Beginning guide to RS-485 bus.

RS-485 is name of standard for data transmission that use only 2 wires.
One wire for sending the data (TxD) and another wire for receiving data (RxD).
RS-485 can be configured to work in Half-duplex or Full-duplex mode.
The example of equipments that use Half-duplex communication are
Fax, Printer, Intercom , walkie-talkie , etc.
Full-duplex equipments such as Telephone or Mobile phone.
RS-485 standard was specified by EIA (Electronics Industries Association)
since 1983.

The advantage of RS-485.
Nowadays, the data transmission used in industrial sector are almost RS-485 bus.
The reasons that people use RS-485 bus in industry instead of RS232 bus are as
follow…
1. Price of equipment to create RS-485 bus system is cheap and it require
only +5V (VDD) power supply.
2. The ability of inter-connection, RS-485 can connect with a large number of
internal equipments and it also support the work like networking system.
It can support up to 32 drivers (transmitter) and 32 receivers while RS-232 can
connect to only 1 transmitter and 1 receiver.
3. The distance that RS-485 bus can connect to the equipment is as far as 4,000 feet
or 1.2 kilometre while RS-232 is limit to only 50 to 100 feet.
4. Baud rate of RS-485 is up to 10 Mbps (in theory only) compare to the baud rate
of RS-232 that is only 20 Kbps. At the longest signal-carrier line, the data will be
transmitted at the slowest baud rate.

Characteristic of RS-485 bus.

- The longest range of signal line is 4,000 feet with baud rate of 90 Kbps and
and with the length of 50 feet , the baud rate can be up to10 Mbps.

RS-485 wire
The signal carrier wire that can be used on RS-485 bus system are
twisted pair and triaxial.Twisted pair line is work fine on RS-485 bus and it also cheap. It comprise
of 2 signal wires that covered by an insulator.Below is picture of twisted pair cable.

embedded Beginning guide to RS 485 bus.

Twisted pair cable

Twisted pair can decrease low-frequency noise that arise from magnetic induction
of the carrier wire because twisting two wires cause the confutation of magnatic field
produced from each wire.Otherwise twisted pair also help to decrease the effect that come from external noise too.

Another wire that admired to use on RS-485 bus is Triaxial.
It can protect the noise from the external system but its price is more expensive
than Twisted pair.Triaxial cable is similar to coaxial cable except that it consist of two shield-layers
(inner shield and outer shield) while coaxial is consist of one shield layer.
(shield layer is used for prevent the external noise that may disturb signal transmission)
Both triaxial and coaxial have the “center conductor” that is a wire used for transmit
the signal. Below are the pictures of Triaxial cable and Coaxial cable.

embedded Beginning guide to RS 485 bus.

Inner structure of coaxial cable

embedded Beginning guide to RS 485 bus.

Inner structure of Triaxial cable

Pictures of this article are come from

1.http://www.gore.com/en_xx/products/cables/copper/networking/shieldedtwisted/index.html
2.http://www.camplex.com/PX1CableFAQrB.shtml

Incoming search terms for the article:

FPGA and CPLD

What are FPGA and CPLD?

              A FPGA or Field Programmable Gate Array is an integrated circuit designed to be configured after manufacturing, hence it is called field programmable. FPGAs contain programmable logic components termed as “logic blocks”, and a hierarchy of reconfigurable interconnects that allow the blocks to be “wired together”. This logic blocks can be configured to perform complex combinational functions or merely simple logic gates. In most FPGAs, the logic blocks also include memory elements. The FPGA has this definite advantage that it can be programmed or updated by the user at site for which the recurring cost remains insignificant in reference to an ASIC design. The ASIC designs also have a unit price tag in the higher side. Therefore FPGAs offer various advantages to numerous applications.
              The full form of CPLD is Complex Programmable Logic Device. It is a programmable logic device. It has the architectural features of both PAL and FPGA but less complex than FPGA. Macro cell is the building block of CPLD, which contains logic implementing disjunctive normal form expressions and more specialized logic operations.

The difference between FPGA and CPLD
              The primary differences between CPLD and FPGA are architectural. A CPLD has a restrictive structure which results in less flexibility. The FPGA architecture is dominated by interconnect which makes them not only far more flexible but also far more complex to design.
Most FPGAs have higher-level functions like adders, multipliers and embedded memories, also logic blocks, which implement decoders or mathematical functions. This is not the case with CPLDs.
              The major difference between the architecture of FPGA and CPLD device is that FPGAs are internally based on Look-up tables (LUTs) while CPLDs form the logic functions with sea-of-gates.

The difference between FPGA and Microcontroller.
              A microcontroller is computing system. Microcontroller has lots of hierarchical rules and commands over its input and output. It has its own processing unit. Microprocessor can perform loops, timings, conditioned branching, and calculations like a small PC under program control. Microprocessors are used where the operation is relatively complex but processing speed relatively less than FPGA. FPGA is only an array of gate that can be connected as the user wishes. FPGA is no computing system. FPGA are used for relatively simpler operations but higher processing speed in comparison to microcontrollers.

The applications of FPGA in Embedded System.
              The part played by FPGA in context of embedded system is getting more crucial every day. This is due to the reason that capability of FPGA is on the rise and now it has powerful FPGA design software as well. The digital video application domain is the main consumer for FPGA systems and is instrumental in increasing its market share as well as forcing development in FPGA for bigger spectrum of applications. In current years FPGA is finding its application for fast signal processing. FPGA is an embedded platform with soft processors. This makes it possible to design FPGA based system on design applications. The decreasing price and increasing size and capability combined with an easier designing software tools is positioning FPGA in the embedded system context to take up a crucial role.

Incoming search terms for the article:

In-circuit Emulator

In-Circuit Emulator
             For debugging an embedded system’s software, a certain kind of hardware tool is used, which is termed as in-circuit emulator (ICE). It is first among the embedded system debugging tools and is still one of the most popular one.

Example of In-Circuit Emulator
             The peculiar problem with embedded systems is it doesn’t have a terminal or in most of the cases, a display unit, therefore, making it difficult to probe the system to find what is wrong and debug. ICEs provide a solution to this typical problem of debugging embedded systems. The Emulator can track all the operations going inside a CPU under observation and brings it to the direct observation of the user through its interactive terminal. The ICEs not only provide the information about the targeted embedded systems working procedure, but it also provides a huge debugging resource. The ICEs are still one of the most popular tools as it is still unrivalled for its power and capability.
             The house of Microchip offers In-Circuit Emulators in three variants. MPLAB ICE 2000, MPLAB ICE 4000 and REAL ICE. All three of them are full circuit emulators and can be used with MPLAB IDE.
             The MPLAB ICE 2000 has a parallel interface along with USB converter, and it requires an emulator module. The drawback with MPLAB ICE 2000 is that the hardware to be tested must have a socket for production device or emulator module.
             I will not discuss about MPLAB ICE 4000, as Microchip is phasing it out. It is no longer advertised by Microchip and Microchip also does not recommended it for new designs.The REAL ICE is the most recently launched product in the market. It works on almost all flash based processors like PIC24, dsPIC, PIC etc.

The advantages of ICE
             All embedded systems have two parts, software and hardware. Though both of them are separate they are interlinked. The ICE makes it possible to run and check the software on the hardware it was meant to run. While doing so, the ICE also helps the user to identify the faulty codes.
             Nowadays, the debugging circuit integrated into the CPU can be accessed by the JTAG or BDM provided on the CPU. This new option helps the programmer to conveniently debug an embedded system with ease.The Integrated Circuit Emulator gets its name as it does emulate the CPU. Though it has a real processor fitted, the programmer still finds the system under test to be in his full control, and he can identify faulty codes, debug as well as load directly. This real time trouble shooting on a live system gives ICE an edge in the sphere of accuracy and comfort in use.The CPU used for development is not necessarily related to the host systems.The ICEs gives the option of debugging by single stepping. The phrase single stepping means that the programmer can run and observe the lines of a program step by step to find and modify error.The ICEs also gives the option of source level debugging where the programmer can see the program as it was drafted and identify the errors.

Incoming search terms for the article:

How about JTAG (How JTAG work)

JTAG stands for Joint Test Action Group and it is a standard to test integrated circuit (IC) connections. Suppose on a board, you have used integrated circuit and similar devices where each IC has hundreds of pins, it becomes very essential to examine connections and confirm the operation. For this purpose, you need a small tool called JTAG. Therefore, JTAG can be defined as a process to test connections on PCBs that are applied at the level of integrated circuit. JTAG is very useful for testing such connections and there are quite a few reasons for that. Using the customary in-circuit testers, it is quite tough to test the intricate circuits. These testers are unable to access BGA devices and small components and the physical space required by these devises also plays a limitation factor. On top of that, board testing has become quite expensive and all these factors ensure that JTAG is the best solution to triumph over the intricacies related with physical in-circuit testers.There is no need to use any physical probes for testing interconnects amid a board’s built-in circuits. This is definitely a great plus for using JTAG, as there is no need for any added personalized testing tool.

How JTAG works
If you have a JTAG enabled device with a boundary-scan cell for every pin, you can test the interconnects between integrated circuits easily. A boundary-scan cell is capable of reading and setting data of all the pins. With the device, you can connect the boundary-scan cells and start to transfer the data serially into the cells. Scan chain or scan path controls this process of serial shifting of data and this is the major functionality of JTAG interface.

JTAG interface
Generally, huge number of test vectors is required to initialize the entire devices. If you are using JTAG, there is no such need. The three major benefits of using JTAG devices are bigger diagnostic competence and higher test coverage, shorter time for testing, and minimum cost of equipments. This is not all, JTAG is also very useful in the electronics industry. JTAG has great usage in the filed of programming and debugging. Several FLASH memories, microcontrollers, FPGAs and comparable devices can be programmed by using the JTAG interface. Same interface can be used for the debugging purpose as well. Therefore, JTAG interface is a boon to the electronics industry. Even though plenty of variations abound with the JTAG header on the board, it is not a complex process. Any JTAG interface is compatible with the standard JTAG signals and boundary-scan software.

JTAG connectors for games
You can also use JTAG connector to play Xbox 360. Playing game is loved by almost everyone as it is one of the best pass-time activities and stress buster. You can choose from a diverse selection of games, but the problem could be high price factor. You can make use of JTAG connector and play full games without playing full money. The JTAG cable can establish connection with USB or any parallel port of your computer for excellent connectivity and access.

Below is the video introduce about JTAG boundary scan



This article is only the introduction of JTAG , if you want to study in deep about jtag , please visit the following urls…

- The Role of JTAG in system debug & test throughout the embedded system development lifecycle
- JTAG FAQ
- JTAG tutorial from Corelis
- JTAG tutorial in PDF format from Amontec

Thank you very much

Incoming search terms for the article:

More on Arduino part II

Pyxis OS for Arduino.

It is open source OS for Arduino. The OS and other applications can be run from sdcard as it store the OS and application in “.bin” file (like the image file on computer or mobile phone).Pyxis also provide the FAT library
called “PFAT” for read or write EEPROM card (turn the EEPROM into a harddrive).

The demo project use two microcontrollers. One for manage the user interface part
(use arduino mega) and another one use mega2560 + dataflash for handle the whole display
(it’s on the touch screen shiled board).Visit Pyxis for more information about this interesting OS.

Below is video from youtube for the demo of Pyxis OS

Thank you,
Jitkasem Pintaya.

Reference site:
1. http://www.skewworks.com/
2. http://www.electoday.com/bbs/viewthread.php?tid=4233&extra=page%3D1

More on Arduino part I.

More on Arduino part one.

- Arduino-tone
It is the library for produce square-ware tones.It can use with ATmega8,ATmega168/328 and ATmega1280
microcontroller series.With this library,you don’t need to use DAC (Digital to Analog onverter) for building the
tones.This library use timer and PWM of microcontroller, so it will affect the usage of other PWM outputs.

- Dataflash
It is the library for make your Arduino be able to interface to the external memory chip.It’s suitable for
use in storing the voice file or use in datalogging application.The original code of this library is come
from Atmel butterfly.

- Arduino contest
Finished contest from Instructables website.This contest has a lot of interesting Arduino projects and
also contain the instruction to describe about how to make each project too ( but I don’t know that it give the
source code relate to each Arduino project or not).

- ArbotiX Robocontroller
It is control board for robots.It use AVR (ATMEGA644p) as main microcontroller and also contain the Xbee module in order to communicate with the robot by wireless radio signal.The designer of ArbotiX board also designed the library that used for interfacing with the motor of Bioloid System (this will help in controlling the motor easier).This board can be used with various Bioloid motor series (Bioloid motor is “digital servo” motor, it can be commanded via RS485 or even can communicate via Xbee too).

- Multi-touch Technology

This technology is very interesting.The person who inspire this technology is Jefferson Y. Han.He is researcher at NYU (New York University).To know more about him, please visit these links.

1. http://en.wikipedia.org/wiki/Jeff_Han
2. http://cs.nyu.edu/~jhan/

This is Multi-touch presentation video.



The theory that used in Multi-touch is Total internal reflection.

Multi-touch Do-It-Yourself projects.
1. http://www.maximumpc.com/article/features/maximum_pc_builds_a_multitouch_surface_computer

2. http://www.instructables.com/id/S1D8LVAF3ER7VNE/

Reference site :
1. Ayarafun
2. Electoday webboard

Bluetooth

Bluetooth

Bluetooth is communication system of electronics device in short-range (about 5-6 metre) and without wire.It support Full duplex.Bluetooth was designed to be high speed communication. It can be used for sending the data between computer and mobile phone , mobile phone and smalltalk , etc…
Bluetooth use 2.4 Ghz radio frequency signal and the rate for sending the data is about 1 Mbps (one Mega-bit per second).This communication rate (1Mbps) make it suitable for sending digital sound signal with a little delay. Compare with wireless lan (WLAN), WLAN can send the signal within wider range than Bluetooth can but the advantage of Bluetooth over WLAN are “it is smaller,easy to install to the device and it consume less energy (about 0.1 watt)”.However Bluetooth is suitable for sending the streaming data signal more than other types of signal (such as sending the voice data signal from mobile phone to bluetooth headset).

Look at the video below for the pros and cons of Bluetooth.




Look at the video below for how does Bluetooth work.


Xbee

Xbee is one of popular wireless module in the world. It support two-ways communication (one Xbee
module can send or receive the data to/from other modules).The different between Zigbee
and Xbee is Zigbee is name of industry standard while Xbee is name of Zigbee standard
module produced by Digi
.Xbee can communicate via UART (TX,RX signal) and sending the signal (data) within the short range is very accurate.Xbee module have an internal IC that help
in encoding the data.The main advantage of this module is it consume low watt (low
electric power),small size and cheap
.Although it is restricted to send data within short
distance, it can send data from one node to another node and this feature make it
appropriate for making wireless sensor network.

The below image is the picture of xbee module


embedded Xbee

Picture of Xbee module


Below is useful links for doing Xbee on Arduino

Programming Arduino Wirelessly

Arduino Xbee Interface Circuit (AXIC)

XBee radios

Arduino+XBee+LCD Info Device

Thank you.

Incoming search terms for the article:

User Acceptance Testing.

UAT (User Acceptance Testing)

UAT is a sort of testing that usually done at the last step of software development process (before release the software to the market).UAT is done by user (the person who will use this software or person who possess requirement of software).It is the way to increase reliance and ensure that the software was designed correctly based on requirements.

Before doing UAT your software need to pass Unit Testing,Integration Testing,System testing and must solved the defects found in each of these testing phases (in practical, the defects relate to technical or logic of software should be fixed before sending to UAT).The defects concern with appearance or color of software are acceptable during doing UAT.

Test Case is also need in UAT because it help doing UAT more effective. Otherwise the test case should be designed on the perspective of Bunsiness Flow and Business Logic that based on requirement. The tester will emphasize on testing the software like they are real user.

Procedure for doing UAT.
One important factor you must focus on while you doing UAT is Test Environment.The test environment should be similar to Production Enviroment as much as possible.

Basic step of doing UAT are as follow…

-Make the testing plan for UAT.
-Design the test cases for UAT.
-Set up testing team for operate UAT in accordance with test cases.
-Operate UAT.
-Record Bug or Defect found during operate UAT and hold a meeting in order to summarize anything we have to modify.
-Fix bug or defect found in previous step and then do Regression Testing.
-Finish UAT, sign off.



UAT is classified as Black box testing.The test cases for UAT normally designed according
to requirements of user (after finish requirements definition phase). Business Analysis
team or System Analysis team are also provide the inputs used for creating the test cases
and it should be described using simple language which easy to understand because the
tester may be the person other than programmer or tester and they don’t know the
technical phrase.

Visit these site for more information about UAT (User Acceptance Testing)
-Wikipedia
-eHow
-Exforsys INC

Reference for this article:
-http://www.welovebug.com/user-acceptance-testing/what-is-uat/#more-1503

Thank you,
Jitkasem Pintaya.

software engineering User Acceptance Testing.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes