OK6410A 开发板 (三) 7 u-boot-2021.01 boot 解析 u-boot 与linux配置部分

发布者:心灵舞动最新更新时间:2022-09-23 来源: csdn关键字:OK6410A  开发板  u-boot 手机看文章 扫描二维码
随时随地手机看文章

U-boot配置

make O=output ok6410a_mini_defconfig

// 在配置的时候 不需要指定 ARCH(因为defconfig有写) 与 CROSS_COMPILE(因为现在并不需要,build的时候才需要)

// 如果写了CROSS_COMPILE,会去检查CROSS_COMPILE , 然后build的时候还是需要写

// 第一次用arm-gcc 的时刻, 编译时 的 CC      lib/asm-offsets.s


make[1]: Entering directory '/home/suws/ok6410/system-new/u-boot/output'

  HOSTCC  scripts/basic/fixdep

  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配置

  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

#


u-boot 和 linux 配置 的区别

配置需要填充的环境变量

u-boot 配置不需要填充 ARCH 与 CROSS_COMPILE 

u-boot 编译需要配置  CROSS_COMPILE

linux 配置需要填充 ARCH(这样才能找到defconfig) 与 CROSS_COMPILE (填充后会改变生成的.config,.config中会填充CROSS_COMPILE 的信息CONFIG_CC_VERSION_TEXT)

linux 编译也需要配置 ARCH 与 CROSS_COMPILE 


配置运行过程

相同点:

都是生成 scripts/kconfig/conf

并用命令 scripts/kconfig/conf  --defconfig=/path_to_defconfig/ok6410a_mini_defconfig Kconfig 生成 .config

不同点

u-boot 的 scripts/kconfig/conf 比较简单 

cc   -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o

linux的 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


关键字:OK6410A  开发板  u-boot 引用地址:OK6410A 开发板 (三) 7 u-boot-2021.01 boot 解析 u-boot 与linux配置部分

上一篇:OK6410A 开发板 (三) 8 u-boot-2021.01 boot 解析 SPL镜像运行部分
下一篇:OK6410A 开发板 (六) 3 OK6410A linux-5.11编译分析

推荐阅读最新更新时间:2024-11-12 20:58

STM32F4开发板----定时器(004)
定时器 定时器功能:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和pwm) 1.通用定时器 1.1 初始化基本定时参数 /** * @brief TIM Time Base Init structure definition * @note This structure is used with all TIMx except for TIM6 and TIM7. */ typedef struct { uint16_t TIM_Prescaler; /*! Specifies the prescaler value used to divide the TIM clock.
[单片机]
OK6410A 开发板 (八) 5 linux-5.11 OK6410A usb 移植
s3c6410 有两个USB实例(板子也都引出来了), 分别是 USB host 和 USB OTG , 这里说的是 usb host 代码 : https://github.com/lisider/linux/tree/ok6410a-linux-5.11 提交id : dc485e937e8bccc1fc01b5e6d9025bf83b2b6f83 defconfig : arch/arm/configs/ok6410A_sdboot_mini_net_lcd_x11_usb_defconfig CONFIG_USB_NET_DRIVERS=y CONFIG_USB_HID=y CONFIG_USB_OHCI_LI
[单片机]
<font color='red'>OK6410A</font> <font color='red'>开发板</font> (八) 5 <font color='red'>linux</font>-5.11 <font color='red'>OK6410A</font> usb 移植
OK6410A 开发板 (三) 17 u-boot-2021.01 boot 解析 U-boot 镜像运行部分 串口
u-boot 阶段 lowlevel_init 调用了以下函数 实现了 putc ,但不支持 printf spl_config_uart_baudrate uart_asm_init asm_putc board_init_f 调用了以下函数,完成后,支持printf initf_dm init_baud_rate // 查找 环境变量 baudrate gd- baudrate = env_get_ulong( baudrate , 10, 115200); serial_init // 重新设置了一下波特率 serial_find_console_or_panic g
[单片机]
Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux
——更新于2011/7/19,目前我已对boost的安装和使用有了新的认识,因此也会对两年前写的这篇文章做大幅修改,网上转载版本泛滥,请以本文为准。 ——更新于2013/3/20,增加ARM Linux下的编译配置方法。 理论上,本文适用于boost的各个版本,尤其是最新版本1.48.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,VS2010,V2012,gcc,arm-linux-gcc,C++ Builder等。 先总结一下Windows系统。 一、下载 首先从boost官方主页 http://www.boost.org/ 下载最新版boost安装包,或者使用Subv
[单片机]
u-boot-2016.09移植(3)-u-boot-spl.bin
从本节开始,就正式进入移植过程,首先进行u-boot-spl.bin的移植。 一、因为第一步要移植u-boot-spl.bin,所以我们需要先在头文件里添加宏CONFIG_SPL u-boot-2016.09$ vim include/configs/tq210.h #define CONFIG_SPL 二、时钟初始化 由上节分析,由于我们没有定义宏CONFIG_SKIP_LOWLEVEL_INIT,所以进入board/samsung/tq210/lowlevel_init.S进行硬件初始化。 首先添加S5PV210的时钟相关寄存器: u-boot-2016.09$ vim arch/arm/mach-s5
[单片机]
u-boot-2016.09移植(3)-u-boot-spl.bin
linux-2.6.32在mini2440开发板上移植-RTC移植
激活RTC 驱动 编者:RTC时钟在S3C2440上的移植非常的简单,因为linux已经支持了,仍以platform的形式来实现,只要把RTC的platform_deivce进行注册,对内核进行简单配置就好。但对于RTC的驱动的实现,很有值得研究的地方。这一驱动典型的使用了,linux内核中驱动分层设计的思想,对这驱动的研究,有利于理解linux内驱动的布局。对于一般的驱动,比较复杂的,很难看懂,这个就很不适合进行入门。太简单的,什么hello、led,这个容易懂,但这个也只能入门,不能用于深入。我感觉RTC驱动用来深入一点的入门是很好的,其中涉及到了platform和驱动设计中的分离思想。下面还是主要以手册所介绍为步骤,简述一下
[单片机]
<font color='red'>linux</font>-2.6.32在mini2440<font color='red'>开发板</font>上移植-RTC移植
linux-2.6.32在mini2440开发板上移植 LED 驱动程序移植
LED 驱动程序移植 编者;对于led的驱动程序,很多文章都有详细的介绍,我的博客里面有一篇专门详解这个的。需要看的,可以找下。led灯的驱动其实就代表了I/O口的驱动。在linux系统下,操作一个I/O口,可以说实在是麻烦至极与裸机操作相比较的话。这里简介移植过程,没写分析。 1 LED 驱动原理 这个就给个图就够了,搞驱动要连这个都搞不懂,那就完了。 2、驱动的移植。 在drivers/char 目录下,我们建立一个驱动程序文件mini2440_leds.c,内容如下: span style= font-size: 18px; #include linux/miscdevice.h #include linux/dela
[单片机]
<font color='red'>linux</font>-2.6.32在mini2440<font color='red'>开发板</font>上移植 LED 驱动程序移植
u-boot2010.03 移植篇(二)-----修改start.S,支持nand启动
---------------------------------------------------------- 使用环境 PC: Centos5.4 kernel: 3.0.1 corss: arm-linux-gcc 4.4.1 arm: s3c6410 uboot: uboot-2010-03 ---------------------------------------------------------- uboot的第一阶段,其实做的事情也是比较多的,,但是一般来说,重点就是配置各种硬件环境,来保证第二阶段能正常启动. 而该部分根据不同的硬件也是不同的..像我的,s3c6410有2片dr
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved