历史上的今天
今天是:2025年08月05日(星期二)
2021年08月05日 | 嵌入式工程师到底要不要学习ARM汇编指令?
2021-08-05 来源:eefocus
嵌入式工程师到底要不要学习ARM汇编指令?
网上搜索这个问题,答案很多,大部分的建议是不要学汇编,只要学C语言。
而一口君作为一个十几年经验的驱动工程师,个人认为,汇编语言还是需要掌握的,想要搞精、搞深,汇编和计算机系统知识是必须的。
我们来列举一些问题
系统是如何启动的?
链接C语言的函数是如何调用的,参数是如何传递的?
如何使能关闭中断?
多核处理器是如何分配进程到某个核上运行的?
MMU是如何实现的?
中断产生之后,cpu是如何处理的?
系统调用是如何实现的?
这些问题要想搞懂清楚就必须要搞懂汇编代码,搞懂arm架构。
系统启动、上电代码都是汇编,汇编不掌握,你如何知道系统是如何启动的?
想了解指针的本质、函数名的本质,就要深入汇编级代码,通过反汇编,看底层指令是如何对C语言的高级特性进行处理的,这都需要汇编语言的功底。
1. 掌握汇编,是成为底层系统工程师、NB工程师的必备技能
另外,汇编没那么恐怖,也就是那十几个常用的命令,再加上配套的伪指令,基本程序结构,半天就差不多了。与其花半天时间在这里纠结要不要学,不如赶紧学,技不压身。
当然,学习汇编之前,你还要对CPU处理器架构、寄存器有一个了解,你要知道,汇编程序都是跟这些寄存器打交道的。
学ARM汇编的话,需要掌握ARM处理器的基本架构、不同模式下的寄存器配置。
最终你会发现,你学习的哪里是汇编?学习的明明是ARM嘛!
汇编,只是一个语言工具,一些助记符而已。
我们要学习的,其实是ARM。
2. ARM文章结构
一口君为了让大家更好的更快的学习ARM,根据自己多年研发和教学经验,将ARM的知识点逐步分解,按照一定顺序讲解,最终分解成二十一篇文章。
一口君对网上铺天盖地的资料进行了详细的梳理,内容设置上可以说是奶妈式的讲解,大家只需要根据我的文章,按部就班的学习,就能够达到掌握ARM汇编,真正的是从0开始学ARM汇编。
| 序号 | 文章 |
|---|---|
| 1 | 到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】 |
| 2 | 从0开始学ARM-安装Keil MDK uVision集成开发环境 |
| 3 | 从0开始学ARM-CPU原理,基于ARM的SOC讲解 |
| 4 | 从0开始学ARM-ARM模式、寄存器、流水线 |
| 5 | 从0开始学ARM-ARM指令,移位、数据处理、BL、机器码 |
| 6 | 从0开始学ARM-MRS、MSR、寻址操作、原子操作原理 |
| 7 | 从0开始学ARM-异常、异常向量表、swi |
| 8 | 从0开始学ARM-GNU伪指令,lds使用 |
| 9 | 从0开始学ARM-混合汇编 |
| 10 | 从0开始学ARM-GPIO、LED两种驱动编写方法 |
| 11 | 从0开始学ARM-基于Exynos4412的pwm详解 |
| 12 | 从0开始学ARM-基于Exynos4412中断详解以及key裸机程序编写 |
| 13 | 基于ARM UART裸机驱动详解 |
| 14 | 从0开始学ARM-exynos4412-RTC裸机程序编写 |
| 15 | 从0开始学ARM-exynos4412-看门狗裸机程序编写 |
| 16 | 一文搞懂ADC裸机和基于Linux驱动编写方法 |
| 17 | I2C时序详解,基于ARM Cortex-A9的i2c 外设裸机驱动程序编写方法 |
| 18 | SPI协议,spi转can,MCP2515裸机驱动详解 |
| 19 | 从0开始学ARM-位置无关码 |
| 20 | uboot代码启动分析 |
| 21 | 为什么使用结构体效率会高?一文给你讲透 |
史海拾趣
|
用2416的IROM将2G SD卡上的Bootloader.nb0加载到stepstone,但一直加载不上,流程是按S3C2450_IROM_ApplicationNote_Rev003.pdf 上做的,觉得加载的地址总是不对,想看下有谁知道的。… 查看全部问答> |
|
STM32的外部总线上挂了一个MD9000A+一个SRAM。跑ucos+lwip. 不使用外部SRAM。所有的都OK,程序非常稳定. 但是只要把系统的堆空间放到外部SRAM,LWIP的TCP连接立刻就无法连接成功了。 那把堆空间放在片内,把LWIP的源文件的的变量全都分配到 ...… 查看全部问答> |
|
你与杰出电子工程师的差距在哪?(转载)时间:2011-03-16 12:26:19 来源:互联网 作者: 当今,电子工程师与条码技术人才、研发类工程师等值。面临就业市场人才储备不足的问题,并将会在未来的一段时间内保持空位等待合适人才应聘的局面。摩托罗拉 ...… 查看全部问答> |
|
最近刚开始学习arm-linux,手头有个2410的开发板,看了些东西了,但是有个问题纠结着,不要笑话哈~初学者~:::::::::::::::::::::::::::::::::::::::::::::::::linux操作系统和自己编写的程序(点 ...… 查看全部问答> |
|
【聊聊DSP】我一直追随着“她”TI的 DSP 已经30岁了,居然跟我年纪相仿!当初第一次接触到DSP的时候,我工作没多久,自己只懂点C51,发现公司里有块开发板,板上密密麻麻的贴片电阻,电容,芯片,特别是上面印着“DSP”字样的芯片吸引着我,她管脚 ...… 查看全部问答> |




