Back to Blog

JP Embedded Software Probation Assessment Requirements – Here are the Goals for the Next One and a Half Months

#Embedded#LinuxKernel#Linux#NetworkProtocols#Programming#Server

New Employee

Department

Probationary Position

Embedded Software Engineer

Mentor

Overall Training Objectives for the Probationary Period

  1. Familiarize with the setup of embedded experimental platforms and methods for compiling and debugging programs in a Linux environment.

  2. Proficiently master Linux kernel customization and file system customization.

  3. Possess advanced programming skills in a Linux environment (processes, threads, file I/O, network protocols).

  4. Master the development methods and procedures for simple character device drivers.

First

Month

Assessment Item

Detailed Description

Assessment Standard

Completion Status

Assessment Result

Embedded Development Environment Setup

Install virtual machine, cross-compiler, SMB server, configure super terminal, and become familiar with dnw download and burning commands. (1 week)

Development environment operates normally, can successfully compile test programs, and run them successfully on the development board.

Linux Kernel and File System Customization

Tailor the Linux kernel according to hardware, customize own file system, and burn it to the 2416 experimental board. (1 week)

System can boot normally.

LCD Screen Driver and Display (Part 1)

Familiarize with LCD initialization process,

workflow. Familiarize with RGB565

(2 weeks)

Write functions to draw points and lines of specified colors at specified positions on the screen.

Second

Month

Assessment Item

Detailed Description

Assessment Standard

Completion Status

Assessment Result

LCD Screen Driver and Display (Part 2)

Familiarize with methods for writing Unicode Chinese character fonts and displaying BMP images. (2 weeks)

Write a simple menu that can display Chinese characters and static images.

Advanced Programming Skills in Linux Environment (Part 1)

Implement a multi-user chat room program using threads and the TCP protocol. (2 weeks)

The following functions need to be implemented:

  1. A server-side program that can handle multiple client programs.

  2. Capable of one-to-one and one-to-many chat.

  3. File transfer functionality.

  4. File verification functionality.

  5. Examine solutions for shared conflicts during inter-thread communication.

Third

Month

Assessment Item

Detailed Description

Assessment Standard

Completion Status

Assessment Result

Advanced Programming Skills in Linux Environment (Part 2)

Consider how to implement the above program using processes. The main goal is to identify the key differences from the thread-based approach.

(1 week)

Familiarize with several methods of process creation and inter-process communication, and clarify the main differences between processes and threads.

Integrated Application of Linux Button Driver and Application Program

Write a driver for the 3 side buttons of the 2416 board, dynamically load it into the kernel, and provide an interface to control menu display and page turning in the previous application. (3 weeks)

Control the display on the screen simply via buttons (e.g., menu up/down, confirm, cancel).

Completion Requirements:

  1. Assessment Item: Determine the work arrangements for the probationary period based on job requirements.

  2. Detailed Description: Provide a detailed explanation of the assessment item.

  3. Assessment Standard: Define the criteria for passing or failing the assessment item, quantifying it as much as possible.

  4. Completion Status: The completion status of the assessment content.

  5. Assessment Result: "Pass" or "Fail".

Is anyone interested in learning and exchanging ideas together? Please add QQ: 353538832