摘要: 在启动代码start.S中,代码的流程是什么样的呢? (reset) <arch/arm/cpu/armv7/start.S > (b lowlevel_init: arch/arm/cpu/armv7/lowlevel_init.S) (b _main) --> <arch/arm/lib/crt 阅读全文
posted @ 2021-12-23 19:24 liujunhuasd 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 基本概念:ATPCS(ARM-Thumb Procedure Call Standard) 规定了一些子程序间调用的基本规则,这些规则包括子程序调用过程中寄存器的使用规则,数据栈的使用规则,参数的传递规则。有了这些规则之后,单独编译的C语言程序就可以和汇编程序互相调用。 使用ADS的C语言编译器编译 阅读全文
posted @ 2021-12-23 14:54 liujunhuasd 阅读(192) 评论(0) 推荐(0) 编辑
摘要: https://www.codenong.com/cs110875874/ 初始化一系列外设,比如串口、定时器,或者打印一些消息等 void board_init_f(ulong boot_flags) { gd->flags = boot_flags; gd->have_console = 0; 阅读全文
posted @ 2021-12-23 14:53 liujunhuasd 阅读(79) 评论(0) 推荐(0) 编辑
摘要: BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属 阅读全文
posted @ 2021-12-23 14:31 liujunhuasd 阅读(84) 评论(0) 推荐(0) 编辑