To do embedded system customization, you need to know these development processes

Why do embedded system customization

Many embedded projects use off-the-shelf distributions and then strip them down to just the basics for a variety of reasons. First, remove unneeded packages to reduce occupied storage space. At startup, embedded systems generally do not require a large amount of storage space as well as available storage space. When the embedded system is running, it is possible to copy a large number of operating system files from the non-volatile memory to the memory. Second, removing unused packets reduces the possible attack surface. If you don't need them there is no need to hang these potentially vulnerable packages on it. Finally, removing unused packages reduces release management overhead. If there are dependencies between packages, meaning that any one package requests an update from upstream, then they must all be kept in sync. That can lead to validation nightmares.

The following embedded development service provider Langruizhike Xiaobian will take you to understand the development process of embedded systems!

1. Establish a development environment, the operating system generally uses Redhat Linux, choose custom installation or full installation, download the corresponding GCC cross compiler through the network for installation (for example, arm-1inux-gcc, arm-uclibc-gcc), or install the product The relevant cross compiler provided by the manufacturer;

2 Configure the development host, configure MINICOM, the general parameters are baud rate 115200 Baud/s, data bits are 8, stop bits are 1, 9, no parity, and software and hardware flow control is set to no. The same is true for the configuration of HyperTerminal under Windows. The role of the MINICOM software is to debug the information output of the embedded development board as a monitor and a tool for keyboard input. Configuring the network is mainly to configure the NFS network file system. You need to close the firewall to simplify the setting process of the embedded network debugging environment. 3. Establish a boot loader BOOTLOADER, download some BOOTLOADER with open source code from the Internet, such as U.BOOT, BLOB, VIVI, LILO, ARM-BOOT, RED-BOOT, etc., and transplant and modify it according to the specific chip. Some chips do not have a built-in boot loader, such as Samsung's ARV17 and ARM9 series chips, so it is necessary to write the FLASH programming program on the development board. You can download the corresponding programming program online, and there are also open source code J under Linux. -FLASH program. If you can't program your own development board, you need to modify the source code according to your specific circuit. This is the first step in getting the system up and running. If the user buys the emulator from the manufacturer, it is easier to program the FLASH. Although the core technology cannot be understood, it can greatly improve the development speed for those who need to develop their own applications quickly.

4 Download the Linux operating system that has been ported, such as MCLiunx, ARM-Linux, PPC-Linux, etc. It would be better if there is a Linux operating system that is specially ported for the CPU used, and then add the driver for specific hardware after downloading. The program is then debugged and modified. For the CPU with MMU, the module can be used to debug the driver, while for the system such as MCLiunx, only the kernel can be compiled for debugging.

5. To establish a root file system, you can download and use BUSYBOX software to reduce functions, generate a basic root file system, and then add other programs according to your own application needs. Since the default startup script generally does not meet the needs of the application, it is necessary to modify the startup script in the root file system. Its storage location is located in the /etc directory, including: /etc/init.d/rc.S, / etc/profile, /etc/.profile, etc., automatically mount the configuration file /etc/fstab of the file system, the specific situation will vary with the system. The root file system is generally set to read-only in embedded systems, and tools such as mkcramfs genromfs need to be used to generate burn-in image files.

6. Create the FLASH disk partition of the application, generally use the JFFS2 or YAFFS file system, which requires the driver of these file systems in the kernel, some systems use a linear FLASH (NOR type) 512KB ~ 32MB, some systems use nonlinear FLASH (NAND type) 8MB ~ 512MB, some two are used at the same time, and the FLASH partition scheme needs to be planned according to the application.

7 To develop applications, you can put them in the root file system, or in the YAFFS and JFFS2 file systems. Some applications do not use the root file system, but directly design the application and the kernel together, which is somewhat similar to μC/OS -II way.

8 Program the kernel, root file system and applications, and release the product.

Embedded system developers are increasingly looking for ways to differentiate their products from the competition by adding more features.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325795417&siteId=291194637