你好 !
我想咨询下,我想用汇编语言来编写ARM程序 但是不知道从何处下手 问问有没有像C语言那样的固件库文件 是用汇编语言给编写的
我用的是cotex-M 芯片 我也有同样的疑问,用keil可以吗。该怎么开始学习?我看过arm汇编语言的介绍了。但是还是一头雾水
汇编是一种理解系统很好的方式。
鉴于你已经有一些汇编指令的基础,下面你可以学习一些开发板自带的样例来强化你这方面的知识,一般来说,用来学习的开发板都自带一些例程,你可以找其中一个简单的C语言例程,把它在开发板上调通,理解它在干什么。下面再来用Keil单步调试这个例程,在调试的过程中,你可以打开汇编窗口(View->disassembler view)将C语言和汇编一一对应,你甚至可以在例程中加入自己的一些加减乘除/循环/函数调用,看看编译器是怎么把它转化成汇编的。玩了几个例程之后,你就大概了解汇编是怎么一会事情了。
后面要看你用用汇编来干什么?
系统初始化?这你需要对板子和SOC有一定了解,比如初始化的时候要初始化哪些元件,CPU应该置于什么状态,一般开发板例程的start.s文件都有
系统优化?这你可以先用Keil将代码Profile一遍,找到系统的瓶颈,然后对他进行优化(时间/空间?),数据的组织,算法优化,完了后看看编译器生成的汇编代码是否足够高效,如果不够,再用汇编对相应的地方进行改写,这个时候还可以用一些特殊的加速单元比如DSP指令,甚至Neon汇编(这个在Cortex A上才有)。