找回密码
 注册
关于网站域名变更的通知
查看: 340|回复: 1
打印 上一主题 下一主题

U-boot的gd_t和bd_t数据结构简介

[复制链接]
  • TA的每日心情

    2019-11-20 15:22
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-10-28 16:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    # w  w3 l* C( k  Z% b7 w8 z! Z8 ggd_t和bd_t是u-boot中两个重要的数据结构,在初始化操作很多都要靠这两个数据结构来保存或传递。分别定义在./include/asm-ARM/global_data.h和 ./include/asm-arm/u-boot.h) F  z+ x, Y5 E! y9 ~. p

      P! N, ]* m0 D; f8 e1、gd_t : global data数据结构定义,位于文件 include/asm-arm/global_data.h。其成员主要是一些全局的系统初始化参数。当使用gd_t时需用宏定义进行声明:DECLARE_GLOBAL_DATA_PTR,指定占用寄存器R8。0 d  e- k. ^3 q  }) d+ k2 z8 m

    4 r: Z8 J+ i/ t$ b* B" g8 G" p2 V- A
    4 \' ?& ~3 `% h, f, L- f; N8 \4 k- ^4 Q7 l4 c3 V* v
    typedef struct global_data {
    ' k' d/ J0 [& Pbd_t *bd; // struct board_info指针,保存板子信息
    " }& F: C9 S% f+ g9 ]& \0 ^unsigned long flags; // 指示标志,如设备已经初始化标志等
    " o' |' s: M, l' L* {0 {unsigned long baudrate; // 串口波特率
    3 f8 U+ V4 A" }! I4 ]+ |unsigned long have_console; // 串口初始化标志# B/ A" y3 E- ~3 X7 \4 E! V
    unsigned long env_addr; // Address of Environment struct ,环境参数地址
    8 i9 T5 y. E, c- E- {3 L) Dunsigned long env_valid; // 环境参数CRC检验有效标志
    % ~2 d! h: I% q0 C8 E- t6 runsigned long fb_base; // frame buffer的基址' D+ {+ k0 ^8 U. u
    #ifdef CONFIG_VFD0 {  f$ ^  p' N3 s& V2 T" K4 l
    unsigned char vfd_type;
      o" A1 p% I  G, d# W& A#endif5 `5 e' S$ y9 y" ?
    #if 0
    0 E$ o- i8 D& K' ]) h$ y$ kunsigned long cpu_clk;
    * p+ Q( T3 M6 a' M: V# B$ Funsigned long bus_clk;
    2 f) Z% r" W+ S5 M! M: Zunsigned long ram_size; ' t, h, D8 C* j7 m& \
    unsigned long reset_status;
    - O% K4 J' r, l  x7 E% c$ I#endif
    . ?7 r9 k* D: c+ w8 b* I1 f2 Avoid **jt; : X  U' z. `! b9 L6 l
    } gd_t;; K7 \& }" r3 A% E1 m% r

    8 _) I+ f! W! v7 b& c& T- @- v, j5 b3 h$ a
      t/ I4 G7 y! L- Z* {
    #define GD_FLG_RELOC 0x00001
    $ R1 G* S( n. i" `$ t+ f( |$ C#define GD_FLG_DEVINIT 0x00002 / r6 o$ J' A  n; ?% Y4 Z
    #define GD_FLG_SILENT 0x00004
    ! W$ B, e+ b7 ^#define GD_FLG_POSTFAIL 0x00008
    . T9 n3 z1 T0 ]9 M
    ; g  f/ D5 f+ s& q3 ~3 j/ F9 J: m4 y#define GD_FLG_POSTSTOP 0x000100 ?( c; R: T, ~
    0 |, I! V# u) j2 Y4 y
    #define GD_FLG_LOGINIT 0x00020' ?/ f& }5 G$ _$ W; R- x( G8 n

    2 i& x0 v) c! P- y& y4 J; F4 E. {; t#define GD_FLG_DISABLE_CONSOLE 0x00040 2 }; A6 t, s* S) |7 r
    #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8")0 Y! V4 n0 Q: [9 E/ W$ R
    / n- T- U; V( P: w
    2.、bd_t :board info数据结构定义,位于文件 include/asm-arm/u-boot.h。保存板子参数。
    / p1 o! B, `. G. B- i2 f' H2 L) I4 H6 e" \. y1 l
    typedef struct bd_info {2 X  t6 e, k; B) |
    int bi_baudrate; // 串口波特率7 [7 z: s+ s3 a! O& }9 V
    unsigned long bi_ip_addr; // IP地址+ k# ~8 q: u( C: E$ D5 X* B' \( y! x
    struct environment_s *bi_env;7 X- W2 {/ Z+ q* x
    ulong bi_arch_number; // 板子ID号
    $ X8 T7 L0 h+ J( nulong bi_boot_params; // 启动参数
    + Y( J! q; ^# Fstruct // DRAM BANKS配置,起始地址与长度/ ]6 g$ ?0 U! G8 C
    {! X6 H) P* n3 F8 W
    ulong start;, r# V$ ~1 \7 Q/ [" I' V
    ulong size;, j9 v" [, @3 \# v* F9 q
    }bi_dram[CONFIG_NR_DRAM_BANKS];9 f3 {9 R. n  S, B0 w4 H" k
    } bd_t;

    该用户从未签到

    2#
    发表于 2020-10-28 16:54 | 只看该作者
    U-boot的gd_t和bd_t数据结构简介
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 21:21 , Processed in 0.171875 second(s), 25 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表