eboot启动代码分析及内核启动代码分析

本篇基于AT91SAM9261,使用官方bsp,wince5,bsp使用src版本,内容会不断增加和更新

一.eboot代码分析

1.代码架构

入口点

PLATFORM/AT91SAM9261EK/SRC/BOOTLOADER/EBOOT/startup.s

第一个c入口

main() 

PLATFORM/COMMON/SRC/ARM/ATMEL/AT91SAM926x/BOOTLOADER/GenericEBOOT/main.c

几个调用的实现

EBOOT_LowLevelInit()  时钟串口等初始化,后边还有初始化的

PLATFORM/AT91SAM9261EK/SRC/BOOTLOADER/EBOOT/init_at91sam9261.c

BootloaderMain() 此函数最为关键

PLATFORM/COMMON/SRC/COMMON/BOOT/BLCOMMON/blcommon.c

BootloaderMain()调用函数的实现

OEMDebugInit()

PLATFORM/COMMON/SRC/ARM/ATMEL/AT91SAM926x/BOOTLOADER/GenericEBOOT/main.c

OEMInitDebugSerial()

PLATFORM/COMMON/SRC/ARM/ATMEL/AT91SAM9261/KERNEL/DEBUGSERIAL/debugSerial.c

OEMPlatformInit() 此函数也很关键

PLATFORM/COMMON/SRC/ARM/ATMEL/AT91SAM926x/BOOTLOADER/GenericEBOOT/main.c

EBOOT_SetDefaultEBootCFG() 初始化参数,用处很大

PLATFORM/COMMON/SRC/ARM/ATMEL/AT91SAM926x/BOOTLOADER/GenericEBOOT/eboot_cfg.c

EBOOT_DisplayMenu 你看到的菜单了,都在这

PLATFORM/COMMON/SRC/ARM/ATMEL/AT91SAM926x/BOOTLOADER/GenericEBOOT/menu.c

OEMLaunch 执行内核哦

PLATFORM/COMMON/SRC/COMMON/BOOT/BLCOMMON/blcommon.c

用个source insight全部索引下就好了,eboot代码全部在platform下的,没有public和private下的

 二.NK代码分析

1.代码框架

入口点

PLATFORM/COMMON/SRC/ARM/ATMEL/AT91SAM926x/KERNEL/STARTUP/startup.s

接着

PRIVATE/WINCEOS/COREOS/NK/KERNEL/ARM/armtrap.s

其调用了若干c函数,source insight即可

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值