Close

ARM + uClinux the development of embedded systems: development platform choice and demonstration

pechestarpechestar wrote 12/13/2016 at 07:26 • 4 min read • Like

Some time ago based on arm + uClinux development of a network monitoring system, seeing the project to be done immediately, and finally relieved, so finishing some notes and ideas and we would like to develop some of this model for some discussion, I hope to help you .

More information about embedded hardware design, Please visit this site.

In accordance with the development process I want to be divided into the following sections.

1. Development platform selection and demonstration

2. Development environment development

3. General procedure development

4. Linux to ARM + uClinux platform migration

5. The rest of the problem

1. Development platform selection and demonstration

A project to get hands, how to choose the development platform (mainly refers to the CPU and operating system and development environment and tools) should be said that critical, and sometimes this not only affect the progress, product quality, maintainability and other general issues, and even related to the program Can be realized. I combined with their own network monitoring system simple summed up a number of platform considerations, please also add.

From the system function to consider:

(1) whether there are on-chip peripherals, special instructions or supporting software modules directly to achieve system functional requirements. This is a lot of people feel that the decision-making a great impact

(2) the price

This should be provided by the CPU to provide comprehensive resources, which provides a number of useful resources, the number of useless resources, or that three words, cost-effective, on the other hand, is to grasp the main contradiction is not some features are necessary , What is the characteristics of user needs in the bright spot (to rely on these bright spots up the price), then the flowers have to spend.

(3) power consumption

The system CPU power requirements are not high, but for mobile devices, this is fatal, but this is not just for the CPU, almost all devices must be tightened belts running.

(4) processing speed

This needless to say, we all understand the importance, but the specific figure, but a science, on the one hand is how fast they need, if coupled with non-real-time operating system, this thing is not good control, There is no parallel, what architecture, there is no dedicated instruction (see more DSP cattle people, do this a must), access to external memory and peripherals, there are no instructions, Speed, etc., which is called a slow bottleneck.

(5) the required hardware support (such as external memory, dual power supply, etc.)

This is miscellaneous, but will increase the additional price, the system size, etc., can not be ignored.

From the developer's point of view:

(1) whether there is sufficient technical support, including demo version and schematics, demo programs, operating systems and BSP, test development tools.

(2) its own conditions, including the requirements of the project development cycle, the developer of the device and development model familiarity and ease of mastery.

(3) whether the available resources are rich (books, networks, etc.)

The above three main considerations to quickly develop a stable system.

(4) the system can be inherited, portability and scalability.

(5) whether there is stock.

(6) the quality of program providers. (Including technical level and service awareness).

According to the above considerations, select the s3c4510b (ARM7TDMI) + uClinux development model

(1) The following is the platform for my system to meet the situation: (and the above points correspond)

The monitoring system hardware part of the main requirements of the following parts:

A. Ethernet interface (s3c4510b comes with a network controller)

B. Serial port (own)

C. And data acquisition chip interface (8-bit data lines, less than 8-bit address bus). (Comes with)

The system software part of the main requirements of the following sections:

A. Hardware interface driver (uClinux provide serial and network controller driver)

B. Network protocol stack support (uClinux provide TCPIP, UDP and other protocol stack)

C. Application layer program (if you can count from the Linux transplant program, it is too much, I used a ready-made)

(2) The application system is not the kind of bulk things, the price requirements are not harsh, but this can be the cheapest CPU to 55 or so, can be accepted.

(3) The application system has a fixed power supply, power requirements are not high. Of course, ARM is said to save power on the very characteristics.

(4) the application system speed to meet two aspects: 1. Serial port: 115200bps 2. Network speed to 10Mbps on the line, so the system speed is not high. This ARM can be internal to 50M.

(5) the system requirements for the volume is not high, plus the film flash and RAM is no problem (so far I feel really no desire for the system!)

From the developer's point of view:

(1) because the time is very tight (one and a half), so support the more the better. At present, from the developers to get a development board, schematics, uClinux, the corresponding driver, bootloader, can be used. Software and hardware parallel development. (Bootloader and network controller driver did not provide the original code, a pity :-(

(2) I was on the embedded system development model and ARM are only heard, linux contact with about a month. Now think of some scared.

(3) online resources, very much.

(4) the use of the above development model, the software maintainability, portability and scalability are good.

(5) the current use of the CPU is still relatively common, spot no problem.

(6) the quality of the program provider you ... ... .. still can it :-)

Based on the above considerations and the current development situation, this program is quite satisfactory.

Today, the first home, and next time to introduce specific development steps.

Like

Discussions