Bootloader学习笔记 1/2

本文介绍了Bootloader的基本概念,其在系统上电时初始化硬件设备并加载内核的角色。详细讲解了如何编写Bootloader,包括搭建系统框架、初始化硬件如关闭看门狗、设置时钟、初始化SDRAM等步骤,并提到了代码重定位和内核启动的细节。
摘要由CSDN通过智能技术生成

Bootloader简介
开发板在系统上电时,需要一段程序来进行初始化:关闭看门狗(WATCHDOG)、改变系统时钟、初始化存储控制器、将后续的代码复制到内存中等。像这样一段代码,它能将操作系统内核从本地或者远端复制到内存中运行,我们称之为Bootloader.
简而言之,Bootloader的目标,在系统上电时开始执行,初始化硬件设备、准备好软件环境,最后启动内核。
如何编写Bootloader
一、 搭建系统框架
1. 初始化硬件:关看门狗、设置时钟、设置SDRAM、初始化NAND FLASH
2. 如果bootloader比较大,要把它重定位到SDRAM
3. 把内核从NAND FLASH读到SDRAM
4. 设置”要传给内核的参数”
5. 跳转执行内核
完善代码
1.新建source insight 工程,新建start.s文件参考芯片手册

芯片手册看门狗的寄存器值
系统分频时钟的寄存器
根据芯片手册中看门狗和系统时钟寄存器的值设置如下代码

#define WTCON           0x53000000
#define CLKDIVN         0x4c000014
#define MPLLCON         0x4c000004
#define CLKDIVN         0x4c000014

.text
.global _start
_start:

/* 1. 关看门狗 */
    ldr r0, =WTCON
    mov r1, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值