2016 - 2025

感恩一路有你

uboot入门教程 Uboot设备树如何移植?

浏览量:2851 时间:2023-06-23 21:45:48 作者:采采

Uboot设备树如何移植?

移植方法:只能通过NandFlash控制器访问NandFlash,即只需要知道Nand控制器的寄存器地址。

NandFlash不是一个RamLik

uboot是什么,在linux中干嘛用的?

U-boot是嵌入式系统中常用的一种引导加载程序。Bootload

uboot启动流程详细分析?

U-BOOT的分析从链接文件开始,链接文件是针对编译文件的,直接从start开始。s文件,如果它没有被编译。以u-boot-2009.11为例。对于S3C2440A,它的内核是arm920t,所以它的文件位置位于cpuarm920tstart。S

_code函数首先由start.s执行,在这个函数的源代码中,有以下动作。

1.1将CPU设置为SVC32模式。

1.2关闭看门狗,关闭中断,设置时钟分频系数,一般放入初始化文件lowlevel_init。与板级相关,位于boardsamsungsmdk 2410 low level _ init . s。

1.3 CPU初始化,关闭MMU和缓存。

1.4跳转到lowlevel_init中的lowlevel_init函数。s文件位于boardsamsungsmdk 2410 low level _ init . s。

2.lowlevel _ init.s文件中的lowlevel_init函数初始化内存控制器,然后返回起点。s,然后执行以下操作。

3.内存初始化后,返回开始的动作。s如下

3.1重定向U-BOOT到内存运行,也就是拷贝到内存。

3.2初始化堆栈

3.3清除BSS部分

3.4跳转到board.c文件中的start_处。Armboot功能,位置:lib_armoard.c

文件中的start_armboot函数大致做了以下动作。

4.1初始化norflash、NAND FLASH、串口、网卡、MMC等。,这与主板上的特定CPU和设备密切相关。

4.2跳转到commonmain.c处main.c文件中的main_loop函数

文件中的main_loop函数大致执行以下操作。

5.1设置启动次数、调制解调器功能、版本号、启动延迟等。

5.2循环读取用户输入的信息,并进行相应的操作。

其文件的跳转过程是start.s-gt低级别_ init . s-gt start . s-gt board . c-gt main . c

文件 函数 start 动作

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。