3G Embedded LINUX Course in Nanjing Branch Center of E-Nest Education

3G Embedded LINUX Course System Enhanced Foundation Phase I Embedded Development Foundation (40 hours) Phase Objective Starting from zero foundation, you can skillfully install and use linux. skillfully carry out a variety of compilation and editing tools under linux. Skillfully build linux cross-compilation environment. Course Content ◆ Linux basics and system installation

◆ Cross-environment construction; initial understanding of the development board and the establishment of the environment;

◆ Linux common commands, text editor vi, simple shell script programming;

◆ Linux development environment basics: Gcc, Gdb, Make and Makefile

◆ Software versions: Gcc, Gdb, Make and Makefile. p>

◆Software version manager Svn

◆Embedded software development environment and use, development board kernel platform kernel system burn-in The second stage of embedded C programming (120 hours) Course content ◆ Review the basics of the C language, strengthen the concept of pointers and arrays, and learn the data structure and some basic algorithms;

◆Through a large number of programming examples focus on explaining the advanced programming knowledge of C language, including

◆Focus on the advanced programming knowledge of C, including functions and program structures, pointers, arrays;

◆Focus on the basic content of data structures, and skillfully apply the programming of chain tables, queues, stacks, etc.

◆In-depth introduction to the mastery of the commonly used C library functions, programming interface practices, function pointers, dynamic memory allocation, program preprocessing, linking principles, standard I/O libraries, and other core skills.

◆In-depth recursive and stack programming training, bit manipulation training, pointer training, string training, chained table and binary tree training.

◆In-depth introduction to the fundamentals of C programs at compile time and run time, and their program memory distribution.

◆Strengthen the students' ability to understand and debug the basic programming development in embedded development environment with high quality C programming specification and embedded programming points. After completing a large number of coding practice tasks mentioned above, students will independently complete the program development of an actual project development, such as a "net-optimized management system", "student management system", "station management system" and so on. After completing the above coding exercises, students will independently complete the program development of a real project. After the completion of the project, the student's coding volume can reach 5000-8000 lines, able to meet the general development of the enterprise coding tasks. The third phase of linux system programming (120 hours) Course content ◆ Learning Linux operating system basics and features, operating system processes and scheduling, the theory of concurrency in the operating system.

◆ System programming (signals/system calls/pipes/FIFO/message queues/*** enjoy memory, etc.), file I/O programming (file descriptors/file read/write interfaces/atomic operations/blocking and non-blocking IO, etc.),

◆ Multi-tasking and multi-threading programming (process identification/user identification/fork and vfork/multi-threading concepts/thread synchronization, etc. )

◆ Network Programming (basic network concepts / set of interface programming / network byte order / Client / Server structure / UDP programming); master the development process of Socket programming under Linux, familiar with the network programming call interface functions and related data structures, so that students initially have the ability to develop the system programming on Linux.

◆ In-depth familiarity with Linux system interfaces and calls, proficiency in GDB advanced debugging, static/dynamic library creation and invocation.

◆ In-depth familiarity with the network layering model. Realize basic TCP/IP programming. Project Practical Training Network communication terminal project training; improve the core point of operating system theory and programming, in-depth understanding of the Linux system call function, develop multitasking programming in the Linux environment, master the method of network socket interface call, develop terminal program, and skillfully use the development tools for debugging. Phase IV Embedded C++ Learning and Programming (80 hours) Course Content ◆ Linux c++ programming environment

◆ C++ syntax fundamentals, arrays, pointers and references, functions, recursion and program structure and complex data types

◆ Object-oriented programming: inheritance and multiple inheritance, operator overloading

◆ Template classes and standard template libraries

< p>◆ Exception Handling

◆ Data Structures and Simple Algorithms Skill Enhancement Stage 5 ARM Principles and Applications (40 hours) Course Content ◆ Embedded System Fundamentals: Embedded System Definition, Development, Embedded Real-Time Operating System;

◆ ARM Basic Concepts, Architecture, and Programming Models of ARM;

◆ ADS Integrated Development Environment. ARM assembly instruction set;

◆ Embedded system and interface design and ARM coprocessor; Stage 6 Bootloader and system kernel development (60 hours) Course content ◆ Skillfully compile and use u-boot, understand the principle and function of the bootloader, as well as mastering the process of u-boot boot;

◆ Skillfully develop details of uboot process and write the bootloader. ◆ Master the basic functions and source code structure of Linux kernel, familiar with the compilation and configuration of Linux kernel;

◆ Familiar with the kernel power control and interrupt processing mechanism;

◆ Kernel customization and compilation, kernel transplantation, kernel debugging; Project Practical Training ◆ Carry out the U-boot program for Mini2440 and the U-boot program for Mini2440. U-boot porting, modification, compilation and burning for Mini2440.

◆ Perform kernel customization, porting, compilation and target board download for Linux 2.6.24 kernel according to Mini2440;

◆ Perform Jeffs2, Ramdisk and Yaffs file system porting, compilation and target board download according to Mini2440 hardware configuration. Network Image QT Terminal Phase VII Linux Kernel Driver Development and Debugging (80 hours) Course Content ◆ Master the basic structure of Linux driver for three types of devices, master the data transfer between user space and kernel space, synchronization, mutual exclusion, blocking and sleep mechanisms in the kernel; skillfully develop the development of blocking/non-blocking type of character driver devices.

◆ Understand and master 1inux kernel interrupt subsystem implementation principle, master linux interrupt handler writing method; master kernel delay mechanism and memory management mechanism.

◆ Understand Linux block devices, MTD device driver features and framework, with MTD Nand Flash driver development capabilities;

◆ In-depth understanding of the Linux network driver socket, socket buffer (sk_buff) and other concepts, to understand the network driver data exchange process. Network device driver development and examples;

◆ In-depth study of embedded Linux display driver framebuffer development method, understand the embedded Linux graphics driver implementation mechanism, complete the customization for a variety of LCD hardware driver;

◆ Learning TouchScreen, KeyBoard driver writing process; familiar with the driver programming process. Familiarize with the driver programming process and testing Project practical training Porting the LCD/TouuchScreen driver of S3C2440 Phase VIII Mobile Communication Technology and 3G Basics (40 hours) Course Content ◆ Mobile communication basics, concepts of wireless communication networks

◆ GSM-UMTS-LTE evolution process and network architecture

◆ Core network (CN), GSM-LTE, GSM-UMTS, and GSM-LTE. ◆Core network (CN), GSM circuit domain CSV service process

◆Basic process of GPRS/EDGE packet domain (PS) data service

◆IMS network architecture, process of multimedia conversation established in 3G system network image QT terminals Project Practical Training and Employment Evaluation Stage 9: Practical Training Project (120 hours) Stage Objectives Focuses on learning the engineering project development process in a comprehensive way. Focus on learning the engineering project development process in a comprehensive way, which includes project requirements, project design, program coding, program debugging and testing, and version release. Let students experience and participate in the whole project development process in advance. By breaking down the project in a team approach, collaborative development, each student plays different roles and carries out different roles. Practical training content ◆ Learning engineering project development process: project requirements, project design, program coding, program debugging and testing, version release

◆ Decompose the project as a team, collaborate in development, and students play different roles;

◆ Project development: 3G protocol stack application SIPCALL; IMSserver construction; Phase 10: Graduation assessment and career guidance Graduation assessment and employment guidance ◆ Project development defense by technical experts

◆ Resume optimization and refinement;

◆ Mock interview training, pre-professional guidance 3G Embedded LINUX Course Learning Flowchart:

Embedded Linux Software Architecture Layering Diagram: