arm b bl 地址无关码_嵌入式工程师到底要不要学习ARM汇编指令?

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

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

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

我们来列举一些问题

  1. 系统是如何启动的?
  2. 链接C语言的函数是如何调用的,参数是如何传递的?
  3. 如何使能关闭中断?
  4. 多核处理器是如何分配进程到某个核上运行的?
  5. MMU是如何实现的?
  6. 中断产生之后,cpu是如何处理的?
  7. 系统调用是如何实现的?

这些问题要想搞懂清楚就必须要搞懂汇编代码,搞懂arm架构。 

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

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

掌握汇编,是成为底层系统工程师、NB工程师的必备技能

另外,汇编没那么恐怖,也就是那十几个常用的命令,再加上配套的伪指令,基本程序结构,半天就差不多了。与其花半天时间在这里纠结要不要学,不如赶紧学,技不压身。

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

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

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

我们要学习的,其实是ARM

ARM文章计划

一口君为了让大家更好的更快的学习ARM,根据自己多年研发和教学经验,将ARM的知识点逐步分解,按照一定顺序讲解,最终分解成十几篇文章。

一口君对网上铺天盖地的资料进行了详细的梳理,内容设置上可以说是奶妈式的讲解,,大家只需要根据我的文章,按部就班的学习,就能够达到掌握ARM汇编,真正的是从0开始学ARM汇编。

文章是否完成
0.到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】已发布
1. 从0开始学ARM-安装Keil MDK uVision集成开发环境审查中
2. 从0开始学ARM-CPU原理,基于ARM的SOC讲解审查中
3. 从0开始学ARM-ARM模式、寄存器、流水线审查中
4. 从0开始学ARM-ARM指令,移位、数据处理、BL、机器码审查中
5. 从0开始学ARM-MRS、MSR、寻址操作、原子操作原理审查中
6. 从0开始学ARM-异常、异常向量表、swi审查中
7. 从0开始学ARM-GNU伪指令审查中
8. 从0开始学ARM-混合汇编审查中
9. 从0开始学ARM-GPIO、LED两种驱动编写方法审查中
10. 从0开始学ARM-基于Exynos4412的pwm详解TBD
11. 从0开始学ARM-基于Exynos4412中断详解以及key裸机程序编写TBD
12. 基于ARM UART裸机驱动详解已发布
13. 从0开始学ARM-exynos4412-RTC裸机程序编写TBD
14. 从0开始学ARM-exynos4412-看门狗裸机程序编写TBD
15. 从0开始学ARM-位置无关码TBD
16.一文搞懂ADC裸机和基于Linux驱动编写方法已发布
17.I2C时序详解,基于ARM Cortex-A9的mpu6050驱动程序编写方法已发布
18.SPI协议,spi转can,MCP2515裸机驱动详解已发布
19. uboot代码启动分析TBD

有的文章已经发布,有些文章还在审查中,还有一些文章还在紧张的编写中,标题个文章结构可能还会稍微调整,后面会不定期发布,敬请关注。

其他网友提问汇总

35d7dcf381a221de84f60df26f77224d.gif

 1. 两个线程,两个互斥锁,怎么形成一个死循环?

35d7dcf381a221de84f60df26f77224d.gif

 2. 一个端口号可以同时被两个进程绑定吗?

35d7dcf381a221de84f60df26f77224d.gif

 3. 一个多线程的简单例子让你看清线程调度的随机性

35d7dcf381a221de84f60df26f77224d.gif

 4. 粉丝提问|c语言:如何定义一个和库函数名一样的函数,并在函数中调用该库函数

推荐阅读

【1】 到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】 必读 【2】Linux面试题100道,看看会多少? 【3】Modbus协议概念最详细介绍 必读 【4】I2C基础知识入门 【5】多路复用IO内幕  【6】 又一华为程序员进了ICU:压垮一个家庭,一张结算单就够了! 必读
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值