UBOOT之board.c分析(四)

/************使能中断**********************/
enable_interrupts ();

enable_interrupts 函数在lib_arm/interrupts.c中定义:
/* enable IRQ interrupts */
void enable_interrupts (void)
{
unsigned long temp;
__asm__ __volatile__("mrs %0, cpsr\n"
     "bic %0, %0, #0x80\n"
     "msr cpsr_c, %0"
     : "=r" (temp)
     :
     : "memory");
}
上面的函数使用一段内嵌汇编代码将CPSR寄存器中的禁止/使能中断位清零,也就是打开了中断。

if ((s = getenv ("loadaddr")) != NULL) {         //获得环境变量load_addr的值
    load_addr = simple_strtoul (s, NULL, 16);    
}


/******************网络初始化*********************************/
#if defined(CONFIG_CMD_NET)
#if defined(CONFIG_NET_MULTI)
puts ("Net:   ");                                 //打印网卡信息,就是UBOOT刚上电时打印的那个Net:   
#endif
eth_initialize(gd->bd);                     //初始化网卡

/****************跳转到main_loop**************************************/

for (;;) {
    main_loop ();
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值