400 views|4 replies

152

Posts

0

Resources
The OP
 

What knowledge points do you need to learn for embedded low-level development? [Copy link]

Embedded low-level development is a broad and in-depth field, which involves multiple different technical directions. For example, kernel and driver development, system transplantation, ARM development, each of which has its own specific knowledge points and technical requirements.

Kernel and driver development

  1. Operating System Principles: Understand the internal working principles of the operating system, including process management, memory management, file system, input and output system, etc.
  2. C language: Mastering C language is a must because most embedded systems and kernel codes are written in C language.
  3. Data structures and algorithms: A good foundation in data structures and algorithms can help you better understand and design complex kernel modules.
  4. Hardware knowledge: Understand computer architecture, especially processor architecture (such as ARM, x86, etc.).
  5. Driver Development: Become familiar with the device driver model and understand how to write and debug drivers.
  6. Kernel debugging skills: Learn to use tools such as GDB and JTAG for kernel-level debugging.
  7. Real-time operating system (RTOS): For application scenarios that require real-time response, it is very important to understand the working mechanism of RTOS.

System transplant

  1. Setting up a cross-compilation environment: Learn to build cross-compilation tool chains for different target platforms.
  2. Bootloader: Understand how bootloaders like U-Boot work and how to configure them.
  3. File system: Be familiar with the characteristics and usage of various embedded file systems (such as YAFFS2, JFFS2, EXT4, etc.).
  4. Device Tree: For modern Linux kernels, it is necessary to understand the concept and configuration of device tree.
  5. Hardware adaptation: Ability to adjust and optimize system settings according to the characteristics of the target hardware platform.
  6. Performance tuning: Master optimization techniques in aspects such as system startup time and memory usage.

ARM Development

  1. ARM Architecture: Gain an in-depth understanding of the different versions of the ARM architecture (such as ARMv7, ARMv8, etc.) and the differences between them.
  2. Assembly language: Although most code is now written in high-level languages, knowing some ARM assembly is still helpful for low-level development.
  3. Embedded Linux: ARM processors are widely used in embedded Linux, so it is necessary to be familiar with the development process under Linux.
  4. Power Management: Learn about the power management features in ARM processors, which is especially important for mobile devices.
  5. Multi-core programming: With the popularity of multi-core processors, mastering multi-threaded programming and parallel processing techniques becomes increasingly important.

The above are the knowledge points that need to be learned for several main directions in embedded low-level development.

This post is from Talking

Latest reply

  Details Published on 2024-10-22 19:27
 
 

4817

Posts

4

Resources
2
 

Involving knowledge in computer science, electronic engineering, programming, etc.

This post is from Talking
 
 
 

5998

Posts

6

Resources
3
 

Is this the bottom layer from the chip manufacturer? Or is it the product-level bottom layer?

This post is from Talking
Personal signature

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

277

Posts

0

Resources
4
 

There are too many fields involved, such as algorithms, single chip microcomputers, control systems, computer languages, and chip information. However, if you just want to apply it, you don’t have to think too much. There are many ready-made cases that you can learn from.

This post is from Talking
 
 
 

7422

Posts

2

Resources
5
 
This post is from Talking
Personal signature

默认摸鱼,再摸鱼。2022、9、28

 
 
 

Guess Your Favourite
Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

Featured Posts
C language uses binary tree to parse polynomials and evaluate

It mainly realizes the analysis of polynomial data calculation. If there is a need to make a simple calculator based on ...

STM8S001J3 uses HalfDuplex mode and uses IO mapping and cannot receive data.

The first time I used STM8S001J3, I mainly used UART and EEPROM. At that time, I saw that UART_TX conflicted with SWIM, ...

The disappearing boundary between MCU and MPU

There was a time when microprocessors (MPUs) and microcontrollers (MCUs) were two completely different devices. Microcon ...

Relationship between PN conduction voltage drop and current and temperature

*) , the E junction is affected by temperature, and the change in on-state voltage drop is related to Is and Ic The cond ...

Free Review - Topmicro Intelligent Display Module (5) Touch Screen

This post was last edited by wenyangzeng on 2021-11-1 16:36 Free Review - Topmicro Intelligent Display Module (5) Touch ...

View circuit - load switch

In many circuits, one power supply may correspond to multiple loads. Sometimes the power supply of the load needs to be ...

[Flower carving DIY] Interesting and fun music visualization series project (24) - infinite LED mirror light

I suddenly had the urge to do a series of topics on music visualization. This topic is a bit difficult and covers a wide ...

Common Problems in RF Circuit Design

666836 Common problems in RF circuit design 1. Interference between digital circuit modules and analog circuit modules ...

M4N-Dock basic usage environment configuration

# M4N-Dock basic usage environment configuration## Login system The default system is Debian system. Plug in the network ...

The price came out and I looked at it for more than an hour.

21.59 Did you guess it right?

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list