Why should ARM's startup code use assembly language?

In ARM, the startup code of ARM must be written in assembly language, which has not been well understood.

The reason given in the book is

C language does not have the conditions to run immediately after power-on:

Global variables are not initialized, the system stack is not initialized, and so on.

Why doesn't the C language of the MCU start the code? (keil comes with startup code, but it will go wrong if it is not handled well, generally it doesn't matter.)

It seems to be related to the compiler, and today I saw a more convincing answer.

When the compiler compiles the C language, it will add a fixed code **.O file, which is a file that comes with the compiler.

That is, the first instruction executed by C language is not the main entry function of C language, but the instruction of **.O.

The MAIN function entry is called after the instruction is initialized, but it cannot be run directly. We must write a piece of code to replace it.

So we often see some super simple startup code:

AREA |DATA|,CODE,READONLY

ENTRY

Ldr r13, =0 x1000

Im port ledMain

b ledMain

END

As above.

Dell Adapter

Laptop power adapter charger for Dell:

Laptop Model Adapter Output
Latitude E5400 E5410 E5500 E5510 19.5v 4.62a, 7450
Studio XPS 16 (1645)1640 1645 1647 19.5v 4.62a, 7450
Studio XPS M1645 M1647 19.5v 4.62a, 7450
XPS 14 15 17 L501x L502x L702x L702x 19.5v 4.62a, 7450
Inspiron 1464 1564 1764 19.5v 4.62a, 7450
Inspiron 1525 1440 1526 19.5v 3.34a, 7450
Precision M4600 M6600 19.5v 6.7a, 7450
Inspiron N5050 N4010 N5110 19.5v 3.34a, 7450
Inspiron 14Z-N411Z 13Z N311Z 19.5v 4.62a, 7450
Inspiron 1545 19.5v 3.34a, 7450
Latitude E5420 E5530 E5430 E6420 19.5v 4.62a, 7450
Inspiron 1440 1525 1526 1545 1750 19.5v 3.34a, Octagon tip
Inspiron 1300 B120 B130 19v 3.16a/3.42, 5525
Inspiron 1525 1526 1545 19.5v 3.34a, 7450
Studio 1440 1440n 1440z 14z 14zn 19.5v 3.34a, 7450
Latitude E4300 E4310 19.5v 4.62a, 7450
Inspiron 13Z 13ZD 13ZR M301 M301z M301ZD M301ZR N301 19.5v 3.34a, 7450
Inspiron N301Z N301ZD N301ZR 19.5v 3.34a, 7450
Studio 1535 1536 1555 1557 1558 19.5v 4.62a, 7450
Latitude E5420 E5520 E6430 E6530 E6420 E6520 19.5v 4.62a, 7450
Inspiron Mini 10 10v 1010 1010n 1010v 1011 1011n 1011v 19v 1.58a, 5517
Inspiron 14V 14VR M4010 N4020 N4030 19.5v 4.62a, 7450
Inspiron N4110 N5110 N7110 M5010 19.5v 3.34a, 7450
630M 640M E1405 19.5v 4.62a, 7450
Inspiron 15-3521 17-3721 19.5v 3.34a, 7450
Latitude 120L 19.5v 3.34a, 7450
Vostro 1710 1710n 1720 1720n 19.5v 4.62a, 7450
Vostro 1500 1700 Inspiron 1520 1521 1720 19.5v 4.62a, 7450
Vostro 1400 1420 PP26L 19.5v 3.34a, 7450
Latitude D410 19.5v 3.34a, 7450
Inspiron 1120, 1121, M101 19.5v 3.34a, 7450
Inspiron Mini 1012 1018 19v 1.58a, 5517


Our service:

Stable output and high charging efficiency.

Elegant outlook design as original one, touch smoothly and comfortable.

Original charger is good, but as a replacement, our product has more reasonable price when your original charger is broken.

And, the market of the replacement adapters becomes bigger and bigger. People would rather buy a copy one then the original because of the price.

But at the same time, people worry about that they will buy something defective. So the problem comes, how to buy a good quality one with a good price?

As a professional power adapter manufacturer, we have excellent R&D team, skilled staffs and responsible after-sale service. All your benefits can be under protected after you buy products for our company.

Our certificates :ISO9001:2008 & ISO14001:2004 , CCC , CE , FCC , ROHS.

All our products has 1 year warranty. In other words, if you get the dad products which are not damaged physically from us in one year, we will replace you the new one or the whole bulk order.

Mini Charger For Dell,Big Connector Adapter,45W Power Adapter,Dell Computer Adapter

Shenzhen Waweis Technology Co., Ltd. , https://www.szwaweischarger.com

Posted on