◆ Construction of cross environment; Preliminary understanding and environment establishment of development board;
◆Linux common commands, text editor vi, simple shell script programming;
◆Linux development environment foundation: Gcc, Gdb, Make, Makefile.
◆ Software Version Manager Svn
◆ Embedded software development environment and use, development board kernel platform kernel system burning second-stage embedded C language programming (120 class hours) Course content ◆ Review the basic knowledge of C language, strengthen the concepts of pointer and array, and learn data structures and some basic algorithms;
◆ Explain the advanced programming knowledge of C language through a large number of programming examples, including functions and program structures, pointers and arrays;
◆ Skillfully apply linked list, queue, stack and other programming around the basic content of data structure;
◆ In-depth introduction to master the core skills of common C library function programming interface practice, function pointer, dynamic memory allocation, program preprocessing, link principle, standard I/O library, etc.
In-depth recursive and stack programming training, bit operation training, pointer training, string training, linked list and binary tree training.
In-depth introduction to the basic principle of C program at compile time and run time, and its memory allocation.
◆ Strengthen students' high-quality C language programming specifications and embedded programming points, as well as their understanding of basic programming development in embedded development environment and their ability of coding and debugging. Project Training At this stage, students will independently complete the program development of an actual project such as Network Optimization Management System, Student Management System and Station Management System after completing the above coding practice tasks. After the completion of the project, the number of students' codes can reach 5000-8000 lines, which can meet the task requirements of developing coding classes in enterprises as a whole. The third stage of linux system programming (120 class hours) course content ◆ Learn the basis and characteristics of Linux operating system, the process and scheduling in operating system, and the concurrency theory in operating system.
◆ System programming (signal/system call/pipeline /FIFO/ message queue/* * memory sharing, etc.). ), file I/O programming (file descriptor/file read-write interface/atomic operation/blocking and non-blocking IO, etc. ),
◆ Multitasking and multithreading programming (process identification/user identification /fork and vfork/ multithreading concept/thread synchronization, etc.). )
◆ Network programming (network basic concept /windows sockets programming/network byte order/client/server structure /UDP programming); Master the development process of Socket programming under Linux, and be familiar with the calling interface functions and related data structures of network programming, so that students can initially have the ability to develop system programming on Linux.
Deeply familiar with the interface and call of Linux system, proficient in GDB advanced debugging, static/dynamic library creation and call. .
Very familiar with network hierarchy model. Realize basic TCP/IP programming. Project training network communication terminal project training; Improve the core point of operating system theory and programming, deeply understand the calling function of Linux system, develop multi-task programming in Linux environment, master the method of network socket interface calling, develop terminal programs, and skillfully use development tools for debugging. The fourth stage of embedded C++ learning and programming (80 class hours) course content ◆Linux c++ programming environment
◆C+++syntax, arrays, pointers and references, functions, recursion, program structures and complex data types.
◆ Object-oriented programming: inheritance and multiple inheritance, operator overloading.
◆ Template class and standard template library
◆ Exception handling
◆ Data structure and simple algorithm skills upgrading The fifth stage of ARM principle and application (40 class hours) Course content ◆ Embedded system foundation: definition and development of embedded system, embedded real-time operating system;
◆ Basic concept, architecture and programming model of ◆ARM;
◆ADS integrated development environment, ARM assembly instruction set;
◆ Embedded system and interface design and ARM coprocessor; The sixth stage Bootloader and system kernel development (60 class hours) course content ◆ Proficient compilation, use u-boot, understand the principle and function of bootloader, and master the startup process of u-boot;
Familiar with the development details of uboot process and write uboot code;
Master the basic functions and source code structure of Linux kernel, and be familiar with the compilation and configuration of Linux kernel;
◆ Familiar with kernel power control and interrupt handling mechanism;
◆ Kernel customization and compilation, kernel transplantation and kernel debugging; Project training ◆ U-boot transplantation, modification, compilation and burning for Mini2440.
◆ Cut, transplant, compile and download Linux 2.6.24 kernel according to Mini2440;
◆ According to the hardware configuration of Mini2440, transplant, compile and download Jeffs2, Ramdisk and Yaffs file systems. Development and debugging of Linux kernel driver in the seventh stage of network mirror QT terminal (80 class hours) Course content ◆ Grasp the basic structure of drivers of three types of devices in Linux, grasp the data transmission between user space and kernel space, and grasp the synchronization, mutual exclusion, blocking and sleep mechanism in the kernel; Clever development of blocking/non-blocking character driver.
Understand and master the implementation principle of 1inux kernel interrupt subsystem, and master the programming method of linux interrupt handler; Master kernel delay mechanism and memory management mechanism.
◆ Understand the characteristics and framework of Linux block devices and MTD device drivers, and have the ability to develop MTD Nand Flash drivers;
Deeply understand the concepts of socket and socket buffer in Linux network driver, understand the data exchange process of network driver, the development and examples of network device driver;
Deeply study the development method of embedded Linux display driver framebuffer, understand the implementation mechanism of embedded Linux graphics driver, and complete the customization for various LCD hardware drivers;
◆ Learn the writing process of touch screen and keyboard driver; Familiar with driver programming process and test project training. Transplanting S3C2440 LCD/TouuchScreen driver, mobile communication technology and 3G foundation, the eighth stage (40 class hours) course content ◆ Mobile communication foundation, the concept of wireless communication network.
◆ Evolution process and network architecture of GSM-UMTS-LTE
GSM circuit domain core network (CN), CSV business process.
◆ Basic flow of ◆GPRS/EDGE packet domain (PS) data service.
◆IMS network architecture, the process of establishing multimedia session in 3G system, network mirroring, QT terminal project training and employment evaluation. Stage IX: The comprehensive development process of the targeted learning project in the training project (120 class hours), including 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 decomposing the project in a team way and cooperating in development, students play different roles and carry out the project in different roles. Training content ◆ Learn the development process of engineering projects: project requirements, project design, program coding, program debugging and testing, and version release.
◆ Decompose the project as a team, cooperate in development, and each student plays a different role;
◆ Project development: 3G protocol stack application SIPCALL;; IMSserver construction; Stage 10: Graduation evaluation and employment guidance Graduation evaluation and employment guidance ◆ Technical experts will defend the students' project development.
◆ Resume optimization and refinement;
◆3G embedded LINUX course simulation interview training and pre-job guidance learning flow chart:
Hierarchical diagram of embedded Linux software architecture;