U-boot configuration
make O=output ok6410a_mini_defconfig
// You don't need to specify ARCH (because it's written in defconfig) and CROSS_COMPILE (because it's not needed now, it's needed when building) when configuring
// If CROSS_COMPILE is written, CROSS_COMPILE will be checked, and then it still needs to be written when building
// The first time using arm-gcc, CC lib/asm-offsets.s during compilation
make[1]: Entering directory '/home/suws/ok6410/system-new/u-boot/output'
cc -Wp,-MD,scripts/basic/.fixdep.d -Iscripts/basic -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -o scripts/basic/fixdep ../scripts/basic/fixdep.c
GEN ./Makefile
rm -f .tmp_quiet_recordmcount
ln -fsn .. source
/bin/bash ../scripts/mkmakefile
.. . 2021 01
GEN ./Makefile
HOSTCC scripts/kconfig/conf.o
cc -Wp,-MD,scripts/kconfig/.conf.o.d -Iscripts/kconfig -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -c -o scripts/kconfig/conf.o ../scripts/kconfig/conf.c
YACC scripts/kconfig/zconf.tab.c
bison -oscripts/kconfig/zconf.tab.c -t -l ../scripts/kconfig/zconf.y
LEX scripts/kconfig/zconf.lex.c
flex -oscripts/kconfig/zconf.lex.c -L ../scripts/kconfig/zconf.l
HOSTCC scripts/kconfig/zconf.tab.o
cc -Wp,-MD,scripts/kconfig/.zconf.tab.o.d -Iscripts/kconfig -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -I../scripts/kconfig -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c
HOSTLD scripts/kconfig/conf
cc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o
scripts/kconfig/conf --defconfig=arch/../configs/ok6410a_mini_defconfig Kconfig
#
# configuration written to .config
#
make[1]: Leaving directory '/home/suws/ok6410/system-new/u-boot/output'
Linux configuration
HOSTCC scripts/basic/fixdep
gcc -Wp,-MMD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -o scripts/basic/fixdep scripts/basic/fixdep.c
HOSTCC scripts/kconfig/conf.o
gcc -Wp,-MMD,scripts/kconfig/.conf.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/conf.o scripts/kconfig/conf.c
HOSTCC scripts/kconfig/confdata.o
gcc -Wp,-MMD,scripts/kconfig/.confdata.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/confdata.o scripts/kconfig/confdata.c
HOSTCC scripts/kconfig/expr.o
gcc -Wp,-MMD,scripts/kconfig/.expr.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/expr.o scripts/kconfig/expr.c
LEX scripts/kconfig/lexer.lex.c
flex -oscripts/kconfig/lexer.lex.c -L scripts/kconfig/lexer.l
YACC scripts/kconfig/parser.tab.[ch]
bison -o scripts/kconfig/parser.tab.c --defines=scripts/kconfig/parser.tab.h -t -l scripts/kconfig/parser.y
HOSTCC scripts/kconfig/lexer.lex.o
gcc -Wp,-MMD,scripts/kconfig/.lexer.lex.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -I ./scripts/kconfig -c -o scripts/kconfig/lexer.lex.o scripts/kconfig/lexer.lex.c
HOSTCC scripts/kconfig/parser.tab.o
gcc -Wp,-MMD,scripts/kconfig/.parser.tab.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -I ./scripts/kconfig -c -o scripts/kconfig/parser.tab.o scripts/kconfig/parser.tab.c
HOSTCC scripts/kconfig/preprocess.o
gcc -Wp,-MMD,scripts/kconfig/.preprocess.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/preprocess.o scripts/kconfig/preprocess.c
HOSTCC scripts/kconfig/symbol.o
gcc -Wp,-MMD,scripts/kconfig/.symbol.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/symbol.o scripts/kconfig/symbol.c
HOSTCC scripts/kconfig/util.o
gcc -Wp,-MMD,scripts/kconfig/.util.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/util.o scripts/kconfig/util.c
HOSTLD scripts/kconfig/conf
gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/confdata.o scripts/kconfig/expr.o scripts/kconfig/lexer.lex.o scripts/kconfig/parser.tab.o scripts/kconfig/preprocess.o scripts/kconfig/symbol.o scripts/kconfig/util.o
scripts/kconfig/conf --defconfig=arch/arm/configs/ok6410A_sdboot_mini_defconfig Kconfig
#
# configuration written to .config
#
Differences between u-boot and linux configuration
Configure the environment variables that need to be filled
u-boot configuration does not need to fill ARCH and CROSS_COMPILE
u-boot compilation requires configuration of CROSS_COMPILE
The linux configuration needs to fill in ARCH (so that defconfig can be found) and CROSS_COMPILE (filling will change the generated .config, and the .config will be filled with the CROSS_COMPILE information CONFIG_CC_VERSION_TEXT)
Linux compilation also requires configuration of ARCH and CROSS_COMPILE
Configuration run process
Same point:
All generate scripts/kconfig/conf
And use the command scripts/kconfig/conf --defconfig=/path_to_defconfig/ok6410a_mini_defconfig Kconfig to generate .config
difference
u-boot scripts/kconfig/conf is relatively simple
cc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o
Linux scripts/kconfig/conf is more complicated
gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/confdata.o scripts/kconfig/expr.o scripts/kconfig/lexer.lex.o scripts/kconfig/parser.tab.o scripts/kconfig/preprocess.o scripts/kconfig/symbol.o scripts/kconfig/util.o
Previous article:OK6410A development board (three) 8 u-boot-2021.01 boot analysis SPL image running part
Next article:OK6410A Development Board (VI) 3 OK6410A Linux-5.11 Compilation Analysis
- 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
- [Evaluation of EC-01F-Kit, the EC-01F NB-IoT development board] Part 2: Manual connection and data publishing of MQTT
- Teach you step by step how to design CPLD/FPGA and MCU together
- In three minutes, you can understand the concept and classification of power amplifiers!
- Gate circuits: AND gate, OR gate, NOT gate circuits and examples
- 4 types of electrical energy conversion, let’s take a look
- Summary of the differences between SPMSM and IPMSM
- DSP system design - Why is the DSP with large on-chip RAM more efficient?
- What are the advantages and disadvantages of BMS controlling the positive end of the battery and controlling the negative end?
- A brief summary of the DQ axis in the FOC algorithm
- 【NUCLEO-WL55JC2 Review】——by nich20xx