Serial number |
Course name |
Course Content |
Requirements |
1 |
Linux operating system usage |
This course introduces the concepts and installation methods of the Linux operating system from a starting point. It describes the basic commands, management configurations, and editors in Linux, including the VI Editor, GCC compiler, knowledge about gdb debugger and make project management tools. |
Proficient |
2 |
Embedded Linux C language Advanced Programming |
C language is the most important and major programming language in the embedded field. This course will focus on the advanced programming knowledge of C language through a large number of programming examples, including functions and program structures, pointers, arrays, common algorithms, and database functions. In addition, this section focuses on the basic content of the data structure, including linked list, queue, stack, tree, hash table, and graph. |
Proficient |
3 |
Embedded Linux project development process |
This course mainly enables students to understand the embedded Linux development environment establishment and project development processes from a macro perspective, so that the students can establish the concept of the overall architecture, the entire process includes embedded product requirement analysis and selection, hardware platform, porting, startup code, driver development, and system deployment. |
Master |
4 |
Embedded Linux Advanced Application Programming |
Embedded Linux application development is the most important part of Embedded Linux and the most widely used orientation. The main goal of this course is to be proficient in program design under embedded Linux, be proficient in the embedded Linux development environment, and strengthen the students' understanding of Linux application development and the ability to code and debug, including system programming, file I/O, multi-process and multi-thread, network programming, Gui programming, and database. |
Master |
5 |
ARM hardware interface |
This course focuses on arm's common interface development and hardware circuit design basics (including Io, serial port, watchdog, real-time clock, SPI, IIC, scan keyboard, flash operations, etc ), it lays a solid foundation for future device-driven learning. |
Master |
6 |
Embedded Linux System Development |
System development is a basic skill required for underlying development of embedded Linux. This course will teach students how to build an embedded Linux operating environment from scratch when the hardware circuit board is ready, the content includes Kernel Cutting, kernel transplantation, cross-compilation, kernel debugging, bootloader programming, root file system creation, and integrated deployment of Linux systems. |
Master |
7 |
Embedded Linux kernel development |
This course is a basic course for driver development. It goes deep into kernel details, understands the operating mechanism of Linux, and lays a theoretical foundation for driver development, content includes kernel source code structure, memory management, process management, interrupt management, system calling, kernel synchronization, clock and timer management, signal, scheduling, inter-process communication, file system and I/O device management. |
Proficient |
8 |
Embedded Linux driver development Basics |
This article introduces the concepts and development processes of Embedded Linux driver development, describes the key technologies involved in the driver, and focuses on the development of character device drivers, including serial port, I/O, watchdog, real-time clock, SPI, IIC, scan keyboard, A/D conversion, timer and other interface driver development. |
Proficient |