打印
[学习资料]

嵌入式工程师到底要不要学习ARM汇编指令?

[复制链接]
517|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
中国龙芯CDX|  楼主 | 2023-12-27 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

网上搜索这个问题,答案很多,大部分的建议是不要学汇编,只要学C语言。

而一口君作为一个十几年经验的驱动工程师,个人认为,汇编语言还是需要掌握的,想要搞精、搞深,汇编和计算机系统知识是必须的。

我们来列举一些问题
系统是如何启动的?
链接C语言的函数是如何调用的,参数是如何传递的?
如何使能关闭中断?
多核处理器是如何分配进程到某个核上运行的?
MMU是如何实现的?
中断产生之后,cpu是如何处理的?
系统调用是如何实现的?
这些问题要想搞懂清楚就必须要搞懂汇编代码,搞懂arm架构。

系统启动、上电代码都是汇编,汇编不掌握,你如何知道系统是如何启动的?

想了解指针的本质、函数名的本质,就要深入汇编级代码,通过反汇编,看底层指令是如何对C语言的高级特性进行处理的,这都需要汇编语言的功底。

掌握汇编,是成为底层系统工程师、NB工程师的必备技能
另外,汇编没那么恐怖,也就是那十几个常用的命令,再加上配套的伪指令,基本程序结构,半天就差不多了。与其花半天时间在这里纠结要不要学,不如赶紧学,技不压身。

当然,学习汇编之前,你还要对CPU处理器架构、寄存器有一个了解,你要知道,汇编程序都是跟这些寄存器打交道的。学ARM汇编的话,需要掌握ARM处理器的基本架构、不同模式下的寄存器配置。

最终你会发现,你学习的哪里是汇编?学习的明明是ARM嘛!

汇编,只是一个语言工具,一些助记符而已。

使用特权

评论回复
沙发
自己的灌饼| | 2023-12-27 09:14 | 只看该作者
当然要学习汇编语言,并不需要精通,但是得会

使用特权

评论回复
板凳
AdaMaYun| | 2023-12-28 17:51 | 只看该作者
汇编,只是一个语言工具,但必须得会

使用特权

评论回复
地板
亚瑟| | 2023-12-29 09:49 | 只看该作者
汇编能看懂就行了吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

293

主题

2185

帖子

4

粉丝