Embedded Software Design
分享
课程详情
课程评价
spContent=Embedded software design is a major course of computer, software engineering and other subjects. It is an important course with strong practicality and technicality. The main task of this course is to comprehensively introduce the thoughts and methods of GNU C programming language based on ARM/Embedded Linux operating system. Through the study of this course, students can master the basic process and method of embedded software design.
—— 课程团队
课程概述

The syllabus: Curriculum resources are organized into 16 courses (12 chapters).

Arrangement of class hours: This course is designed according to 2 classes per week and 2 class hours each. Complete 32 class hours of the course in 8 weeks. Students are free to choose your study time each week.

Course resource introduction: Course resources include 79 teaching videos and extended learning videos, 79 non-video materials, 14 sets of exercises, 1 set of final tests, as well as code resources corresponding to all chapters.

Arrangement of teaching activities:

1. Each chapter has teaching videos, coursewares and other resources. After each class, there are self-test questions. All of these needs to be done by students through self-study.

2. There are homework questions after each class, including about 5 multiple-choice questions and a different number of discussion questions, which are used to test the learning effect.

3. Before the end of the course, all students are required to complete a set of final exams on time.


授课目标

Course learning objectives:

1. You can say the connotation and extension of embedded system and embedded software, as well as the concept of cross-development environment.

2. You can list several major embedded C programming architectures and ARM C programming optimization methods.

3. You can build embedded software using tools such as editors, compilers, and debuggers.

4. Using the general method of embedded Linux C programming to complete the software design of file, directory, memory, process, thread, IPC, socket, etc.

5. You can fully use the driver design method to independently complete the driver design of LED, Keyboard, Nixie tube and other hardware.

课程大纲
预备知识

Learners of this course should have the following pilot knowledge

1. C or C++ language: You have taken relevant courses and can write more than 200 lines of code independently.

2. Computer organization and structure: You have learned the course of computer organization and structure, and understood the working principle of the five major parts in the computer.

3. ARM architecture: You have learned the architecture of any ARM processor and written assembly language program independently.

4. Operating system principles: You have studied the course of operating system principles and understood the basic principles of files, directories, IPC and other mechanisms.

5. Linux operating system: You have taken courses in Linux operating system, or installed and used Linux operating system yourself, and can skillfully use more than 20 common shell commands.

参考资料

Teaching material:  

Beginning Linux Programming, edited by Neil Matthew & Richard Stones, Wrox Press, 4th edition, 2007, ISBN13: 9780470147627.

常见问题

1. How to start this course?

(1) Students need to prepare a computer, or a mobile phone with Internet access;

(2) Register for the China University MOOC account, find the course through the course inquiry, and join the course;

(3) Start the course according to the schedule of one chapter per week. After class, there are exercises and a final exam. Please pay attention to the time node and don't miss the test and exam.


2. Learning requirements:

(1) Students must complete the learning tasks in the required period of time, including videos, coursewares, discussions, etc.;

(2) Finish tests and final exam on time.


3. Introduction to the teacher

Doctor, professor, school of software, Dalian University of Technology, winner of BaoGang Excellent Teacher Award, presided over "computer organization and structure" National Gold Course.


Presided over 1 national quality engineering project related to this course, 2 university-level education reform projects, completed the course content update, curriculum resources production, teaching mode reform and other work.


----------------- Well, above is the official description, and here's the real me ----------------


My name is Lai Xiaochen. I like to discuss with kids about the way of doing things, communication skills, and learning direction. I spent a lot of time on teaching, including this course. I am a teaching enthusiast (unfortunately, some kids do not like the BGM of this video) and have a wide range of hobbies, such as reading, astronomy, military affairs, sports, photography, bird watching, and various kinds of stones. I especially like football, and I am a supporter of AC Milan, FCB and the national team of Argentina. I love Messi, but I don't know if I will watch the game of Barcelona after Messi retires. Hope Messi can get the 7th golden goal!


If you have any questions, please contact me: 33138725@qq.com


Let's meet in class  ~0~~~~~~~~