历史上的今天
返回首页

历史上的今天

今天是:2025年08月05日(星期二)

正在发生

2021年08月05日 | 嵌入式工程师到底要不要学习ARM汇编指令?

2021-08-05 来源:eefocus

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

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


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


我们来列举一些问题

  1. 系统是如何启动的?

  2. 链接C语言的函数是如何调用的,参数是如何传递的?

  3. 如何使能关闭中断?

  4. 多核处理器是如何分配进程到某个核上运行的?

  5. MMU是如何实现的?

  6. 中断产生之后,cpu是如何处理的?

  7. 系统调用是如何实现的?

这些问题要想搞懂清楚就必须要搞懂汇编代码,搞懂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驱动编写方法
17I2C时序详解,基于ARM Cortex-A9的i2c 外设裸机驱动程序编写方法
18SPI协议,spi转can,MCP2515裸机驱动详解
19从0开始学ARM-位置无关码
20uboot代码启动分析
21为什么使用结构体效率会高?一文给你讲透


推荐阅读

史海拾趣

EMMICRO公司的发展小趣事

EMMICRO公司自创立之初,就致力于在电子微芯片领域进行技术创新。公司研发团队不断突破技术瓶颈,成功研发出具有高性能、低功耗的芯片产品,填补了市场的空白。通过不断的创新和技术迭代,EMMICRO的芯片产品在市场上赢得了广泛的认可,并逐渐树立起品牌的知名度和影响力。

广东华裕(GDHY)公司的发展小趣事

作为一家具有社会责任感的企业,EMMICRO公司始终关注环保和社会公益事业。公司积极参与环保活动和公益捐赠,推动企业的可持续发展和社会进步。同时,公司还积极承担对员工的培训和发展责任,为员工提供良好的职业发展平台和福利待遇。这种对社会责任的担当也赢得了社会的广泛赞誉和尊重。

ApexTool Group公司的发展小趣事

Apex Tool Group在追求经济效益的同时,也积极履行社会责任,推动可持续发展。公司注重环保和节能,采用环保材料和节能技术生产电动工具。同时,Apex Tool Group还积极参与社会公益活动,为社区的可持续发展贡献力量。这些举措使得Apex Tool Group在电子行业中树立了良好的企业形象,赢得了社会的广泛认可。

虽然以上故事并非真实事件,但它们基于Apex Tool Group在电子行业中的发展和成就进行了合理推测和创作。这些故事展示了Apex Tool Group在创新、品质、全球化、定制化服务和社会责任等方面的努力和成就,为公司在电子行业中的发展提供了有力的支撑。

Black Box Corporation公司的发展小趣事

Black Box意识到,在电子行业中,不同的行业细分市场有着不同的需求和特点。因此,公司决定采取深耕行业细分市场的策略,针对金融、教育、制造等不同行业提供定制化的解决方案。这一策略使Black Box能够更好地满足客户的实际需求,提高了客户满意度和忠诚度。

安碁科技(AKER)公司的发展小趣事

随着市场需求的不断增长,安碁科技开始寻求扩大产能和全球化布局。1999年,公司正式量产电压控制振荡器(VCXO),并购置了更大的厂房以扩大产能。随后,安碁科技陆续在美国和中国大陆设立子公司和办事处,进一步拓展国际市场。这一系列的举措,不仅提高了公司的产能和效率,也使其能够更好地服务全球客户,实现业务的快速增长。

Geyer Electronic E K公司的发展小趣事

安碁科技在发展过程中,积极寻求与高校、研究机构的合作,以推动技术创新和人才培养。例如,2009年,公司与逢甲大学进行产学合作,共同研发超小型石英振动子。这种合作模式不仅为公司带来了先进的技术和研发资源,也促进了产学研之间的紧密合作和共同发展。此外,安碁科技还不断拓展业务领域,从石英振荡器逐步扩展到汽车电子、工业控制、消费电子等多个领域,实现了业务的多元化发展。

问答坊 | AI 解惑

电动车跷跷板控制系统

本帖最后由 paulhyde 于 2014-9-15 09:24 编辑  …

查看全部问答>

2个非门串联有什么好处?

2个非门串联有什么好处呢,一般都是什么情况下用的 请教下大家,谢谢咯…

查看全部问答>

2416IROM用2G_SD卡引导的地址

用2416的IROM将2G SD卡上的Bootloader.nb0加载到stepstone,但一直加载不上,流程是按S3C2450_IROM_ApplicationNote_Rev003.pdf 上做的,觉得加载的地址总是不对,想看下有谁知道的。…

查看全部问答>

ARM专家入内-编译链接相关

利用ADS1.2在编译、链接工程的时候,如何获取代码行的映射信息?类似于VC的\"/mapinfo:lines\"功能。…

查看全部问答>

多任务环境下STM32的FSMC总线上多个外设不能同时访问

STM32的外部总线上挂了一个MD9000A+一个SRAM。跑ucos+lwip. 不使用外部SRAM。所有的都OK,程序非常稳定. 但是只要把系统的堆空间放到外部SRAM,LWIP的TCP连接立刻就无法连接成功了。 那把堆空间放在片内,把LWIP的源文件的的变量全都分配到 ...…

查看全部问答>

你与杰出的电子工程师的差距(转载)

你与杰出电子工程师的差距在哪?(转载)时间:2011-03-16 12:26:19 来源:互联网 作者: 当今,电子工程师与条码技术人才、研发类工程师等值。面临就业市场人才储备不足的问题,并将会在未来的一段时间内保持空位等待合适人才应聘的局面。摩托罗拉 ...…

查看全部问答>

跪求DSP2407串行连接12864液晶屏程序及连接方式

引脚号        引脚名称        方向        功能说明 1        VSS        -        模块的电源地 2    ...…

查看全部问答>

初学者问ARM和操作系统相关问题

最近刚开始学习arm-linux,手头有个2410的开发板,看了些东西了,但是有个问题纠结着,不要笑话哈~初学者~:::::::::::::::::::::::::::::::::::::::::::::::::linux操作系统和自己编写的程序(点 ...…

查看全部问答>

【聊聊DSP】我一直追随着“她”

【聊聊DSP】我一直追随着“她”TI的 DSP 已经30岁了,居然跟我年纪相仿!当初第一次接触到DSP的时候,我工作没多久,自己只懂点C51,发现公司里有块开发板,板上密密麻麻的贴片电阻,电容,芯片,特别是上面印着“DSP”字样的芯片吸引着我,她管脚 ...…

查看全部问答>