在看start.s时有些汇编不理解,
1: .arm是什么意思?
2:.globl
_start 的作用?
3:.section
".bsp_start_text", "ax" 的意思?
通过下面的解释就一目了然了。
一、汇编一般使用的场合:
(1)、汇编语言在ARM中一般用在启动代码中,比如Bootloader 初始化时对 CPU 和 协处理器 等进行初始化, 此时没有建立起 C 语言运行环境, 这个时候使用汇编语言执行初始化操作;
(2)、汇编效率比较高, 在Linux 内核中对效率有特殊要求的地方也会使用汇编语言来编写.
二、ARM汇编的分类:汇编语言可以分为ARM标准汇编语言和GNU汇编语言两种;
他们使用的地方是不同的,一般来说ARM标准汇编语言适用于ARM公司的汇编器, 适合在 Windows 平台使用, 如ADS
而GNU汇编语言适用于 Linux 平台交叉编译工具链的汇编器。