1. Open CodeWarrior for ARM Developer Suite software
2. Create a new project, the project type is ARM Executalbe Image, please note that the project name and path must not be in Chinese, otherwise it cannot be opened
3. Add files to the project, [file]->new, select the File tab, enter the file name, such as main.c, select the Add to Project checkbox, and select only DebugRel in Targets (the generated image only contains basic information)
4. Add existing system files, copy the system files to the project directory, select Add files under the [Project] menu on the project page, add the corresponding files, and select DebugRel in Targets.
5. Select Create Group under the [Project] menu on the project page to classify the files.
6. Configure the project options. Click the [DebugRel Setting…] tool button on the toolbar and configure in the DebugRel Setting dialog box:
In the [Target Settings] item, select Post-Linker as ARM fromELF, and then compile and generate an executable file
[Language Settings], select ARM920T for Architecture or Processor of each language
[Linker] item, change the RO Base (memory starting address) of Simple image in the Output tab under ARM Linker to 0x30000000, change the Image entry point in the Options tab to 0x30000000, fill in 2440init.o in Object/Symbol under the Layout tab (the target file of the initialization code, such as the initialization code is 2440init.s, and 2440init.o is generated after compilation), fill in Init in Section (at the entrance of the main function in 2440init.s, a read-only code segment named Init is defined by AREA), the ARM Linker setting is completed, and the set parameters are listed in Equivalent Command Line; select Plain binary in the output format of the executable file under ARM fromELF.
7. System code analysis
2440init.s: system initialization code, setting the system working mode, initializing the stack and interrupt vector table, configuring the storage controller, specifying the entry address of the function, etc.
2440slib.s: Mainly initializes MMU
2440lib.c: some system functions, Delay function is a millisecond delay function, some system clock functions
2440lib.h
2440addr.h: defines all registers, interrupt request flags
def.h: defines data types and commonly used Size values
Uart.c: Function definitions related to the serial port
uart.h
Previous article:Causes and solutions for WinCE startup failure
Next article:Embedded laser ranging system solution based on μC/OS-II
- Popular Resources
- Popular amplifiers
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- Learn ARM development(19)
- Learn ARM development(14)
- Learn ARM development(15)
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- EEWORLD University - UCOS operating system foundation of the Internet of Things
- Smart module PIP keyboard to set real time clock
- A must-know for RF engineers: How to design a directional coupler circuit?
- Wireless communication library micropython-radio
- DSP system design - how to mix 5V/3.3V
- Innovate, accelerate and connect across every band and protocol with the SimpleLink MCU platform
- A rough estimate of the falling speed!
- Disassemble the original Keil artifact DSTREAM
- MSPEXP432P401RLaunchPad Development Kit
- lm317 always breaks down