This article goes from WebEx to:http://www.topeetboard.com
Video explanation Address:http://v.youku.com/v_show/id_XOTI4Njc0NDIw.html
Knowledge system of embedded technology:
Learning steps for the iTOP-4412 Development Board and accompanying tutorials
Embedded knowledge of a wide range of beginners difficult to get started
This section describes the embedded technology learning steps for beginners
Try to play the role of sketchy, in a large number of learning materials have a relatively clear context
Finally, we will introduce a practical case
The first thing to figure out is the meaning of several important documents:
Learning method: First of all, to master the basic architecture
For architecture, the basic thing is to figure out a few concepts (the meaning of several files):
bootloader Boot program (UBOOT)
Linux operating system kernel (kernel)
File system (may contain 2 files )
We recommend that you first read: "To clarify a few basic concepts - Xun for elite chat record . doc"
This file is in the QQ Group sharing
Development of the build environment, source code compilation and write-up, application and drive building and so on are all around these files unfold!
Step Two: Build the Environment for development and compilation
WIN7 System -- "virtual machine --"ubuntu
For beginners, it is recommended to follow the tutorial requirements and steps to do, so less detours, more efficient
Other systems are not allowed, but may encounter problems with various installation and compilation processes
Proficiency in the future, then to innovate, then you can do a variety of different attempts
Build development environment, sometimes not smooth, need to overcome some installation problems
Schindler has made a great degree of simplification of the installation steps, such as the Ubuntu image on the virtual machine, the direct copy can be used, to avoid the installation of various plug-ins through the network
The building is completed, you can follow the tutorial to learn the source code compilation and system burning.
Again: All of this work is done around the three files (actually 4 files)
The compilation and burning of Linux or Android Systems is dependent on this development environment.
Step three: design of Linux applications
After learning the compilation and burning of system files, you should learn more about embedded Linux application development.
To follow the video directory in the network tray: " iTOP4412 Development Board video tutorial and related"--->"embedded Linux Video", To do this part of the study.
Beginners to follow this video tutorial to learn Linux application development, there are two aspects to note:
The first experiment (Section 0 ), the production of the smallest system. The smallest file system (simplified linux file system), which cut off the graphics system and other functions (the graphics system is often the most resource-intensive), like many devices do not need a screen, such as routers, communications class control products such as the need for such a minimum system.
These experiments, in addition to the methods in the video (direct burning), can be achieved through the network file system (NFS) , This method is important, must master (reference experiment ). It can make debugging more convenient and fast.
Fourth step:Linux Driver Learning
Mastering Linux driver programming is difficult
Linux drivers are divided into three categories: network devices, block devices, character-based device drivers
The related drivers for network devices and block devices are ported by default and can be used directly
Focus on the character device driver design, where the operation for GPIO is the base content (stepper motor, switching volume, relay, current and voltage analog,PWM).
RFID,GPS,GPRS,CAN and so on is the actual use of Linux The system itself, such as the serial port,i²c and SPI bus to achieve.
Network device programming, directly in the application to use the SOCKET , do not need to modify the underlying
Before learning to drive, it is recommended that you first study a document: "Linux Driver Discussion _ Elite QQ Group chat Records ." Doc "After this document is on sale QQ the group share.
Debug Linux driver, also use Network File system (NFS)
Learn how to write drivers using modules
Use modules to dynamically load and unload drives
Insmod Rmmod
Finish this section to learn some Android top apps and start experimenting with small products.
Do not need to too much analysis of Linux Source code, do not need to study ARM architecture too much!
Ready now!
Actual case (access control system)
The main implementation of the project is four functions:
Real-time monitoring of RFID
reading data via the SPI bus
After the signal is collected and checked, the drive (gate) relay
GPIO to control
Pass the record information to the database through the network
SOCKET communication (as described in the Linux Lab tutorial)
A screen is required for status display and interaction.
Use C + +(QT) or JAVA(Android) to write top -level applications
We will provide a full set of case source for everyone to use and reference
Embedded product development, screen selection is very important, it is the first thing to do.
PC Monitor interface is fully compatible
VGA,DVI,HDMI
Embedded although the specification is the same, but the interface is mostly incompatible
RGB,LVDS,MIPI,EDP
such as Samsung and Apple mobile phone screen can not be mixed, Huawei, Xiaomi, Lenovo also so
Various embedded device screens are mostly incompatible
Embedded products pursue differentiation, and the appearance of innovation
For different specifications of the screen, you need to tailor the driver board, and modify the driver
Product development, the need for engineers to screen selection, and then the shell and product shape to be determined. Once the screen is selected, it is not easy to replace other models, so be cautious!
When the screen is selected, the corresponding driver development is not very difficult
Hardware interface design will follow the RGB,LVDS and other interface specifications, just follow the interface definition to make the driver board, and increase the back photoelectric circuit (generally according to the reference circuit design can be)
Linux driver is generally perfect, only need to modify the resolution, refresh frequency and other parameters, this part of the Content Development Board has a companion tutorial can be consulted.
Summarize
Provide the actual project source code
Read this project ----- Embedded learning is a sign of getting started
Clear goal: Make products, become qualified engineers
Do not need to read through the Linux Source code, do not need to study the ARM processor itself architecture knowledge, and even do not need to engage in bare metal programs!
Follow-up study to refine --- Master of the road.
The development of the Internet of things, embedded development will also be everywhere.
[Learning Guide] Embedded technology Learning steps based on TTM 4412 Development Board