• linux u-boot跟踪方法总结


    拿到一块板子,其中很重要的一项就是看电路图还有Datasheet。

    这个真的很重要,首先你要知道cpu的架构是什么,armv7?arvmv5?还是其他的,哪个公司的芯片?是freescale 还是TI还是MTK,还是samsung,Hisilicon还是一些其他的什么芯片,现在的CPU的数据手册都比较全,都很容易在官网找到相关的资料,但是还要在官网找到其他的一些有用的信息,比如说官方对于这个芯片有没有评估板,对于这块板子有哪些支持的系统,相关的工具,比如说烧写系统的工具,都是很有用的。

    其实一款嵌入式产品,除了初期产品规划时候规划的功能以外,cpu已经给这款产品定了型。

    今天就记录一下针对一款产品u-boot 的跟踪方法。

    纯属个人土方法,不正确望指出。

    1.如果拿到板子的时候已经给了一套系统给你,确定了正确的烧写方式,确定了正确的sysboot。那么就可以着手开始跟踪u-boot,在以前的随笔里有一些记录,但是也是不是很成熟很通俗易懂,今天讲一个比较俗的跟踪方法。

      首先,确定你的makefile 的正确配置,将这个u-boot配置一次,然后编译成功出来一次。

      就拿以前的tiny4412那块板子来说,u-boot的正确配置是 make tiny4412_config make -j8   编译成功后。

      他会生成几个重要的文件,u-boot.bin , u-boot.lds 第一个是编译完的二进制文件,第二个是编译链接脚本。

      我们开始的地点就是u-boot.lds.

      这里面会指定u-boot的开始位置,打个简单的比方,如果你的cpu是 armv7的架构,那个你的开始位置十有八九是arch/arm/cpu/armv7/start.S

      不要问我为什么,这是经验。但是上述情况也有特殊情况,具体要看u-boot.lds,如果实在不行就看这个这个文件下有没有start.o文件,有的话就是了。

      我的u-boot.lds是

    1  .text :                                                                        
    2  {                                                                              
    3   arch/arm/cpu/armv7/start.o (.text)                                            
    4   board/samsung/tiny4412/libtiny4412.o (.text)                                  
    5   arch/arm/cpu/armv7/exynos/libexynos.o (.text)                                 
    6   *(.text)                                                                      
    7  }                                                                              

      这说明我的开始位置就是刚才那个,第二个文件就下下面那个。。。。

      那个文件还规定了入口是(_start)

      接下来就是  _start    reset   cpu_init_crit   board_init_f   relocate_code  board_init_r  main_loop   反正就是这个套路,顺着下去就是了,如果不确定这个文件是不是自己要进去的,那么就搜索一下这个文件的.o文件,如果有,一般来说就是,但是还要看include/configs/********.h  文件,这个文件我在前面也介绍了。

      如果你不知道u-boot的各个文件结构,看顶层文件的README应该有一些介绍。

      

  • 相关阅读:
    vmareworkstation 15 安装密钥
    Linux进入ftp界面退出方法
    linux安装mysql(5.1.73)
    安装http服务,用http搭建web网
    telnet远程连接
    yum出现问题解决方法
    samba
    nfs搭建
    解决VMwareworkstation无法在windows上运行
    2 shell编程
  • 原文地址:https://www.cnblogs.com/chenfulin5/p/5903860.html
Copyright © 2020-2023  润新知