三星soc平台Exynos4412平台裸机开发介绍(五)之uboot介绍及基于uboot编程(汇编流水灯程序)

本文介绍了UBoot在ARM平台,特别是Exynos4412上的应用,阐述了其作为bootloader的作用,并详细讲解如何基于UBoot编写Hello World和汇编流水灯程序,包括编译和下载到开发板的过程。
摘要由CSDN通过智能技术生成

ARM-uboot介绍以及基于uboot编程

1. uboot介绍

是制作bootloader的源码集合,在arm的板子上所有的bootloader都是由uboot做出来的。

2. uboot的作用

引导和加载操作系统内核,本身不属于操作系统,是在操作运行之前执行的一小段代码,为操作系统的运行提供硬件环境。

3. 基于uboot编写helloworld程序

#define printf(...)  (((int (*) (const char *, ...))0x43e11a2c)(__VA_ARGS__))

int _start(void)                                                                                                                                             
{
    printf("hello world\n");
    return 0;
}
  • 编译命令:
    /*只编译不链接 */
    arm-linux-gcc -c hello.c -o hello.o
    /*手动链接,指令定程序入口地址 */
    arm-linux-ld -Ttext=0x40008000 hello.o -o hello
    /*生成纯净的二进制 */
    arm-linux-objcopy -O binary hello hello.bin
  • 编译完成后将hello.bin程序下载到开发板内存40008000的内存地址
    执行程序:go 4000
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值