28圈.com

自由X汇编额定场景是什么,, ,, ,搞懂这个概想写代码更顺手

自由X汇编额定场景是什么,,,,,搞懂这个概想写代码更顺手

先抛个结论:自由-X汇编X额定场景,, ,, ,不是三样器材,, ,, ,是一件事的三个面。。。。。。 。。搞懂它,, ,, ,你手头那些跑起来总有点“玄学”的嵌入式代码,, ,, ,多半能少掉不少头发。。。。。。 。。

它说的是在一种相对自由的编译环境下,, ,, ,用汇编说话去实现特定职能,, ,, ,并且把这个实现锁定在一个明确的、可预期的运行场景里。。。。。。 。。听起来绕,, ,, ,拆开就分了然。。。。。。 。。

? “自由-X”不是乱来,, ,, ,是给你选择权

“自由」剽个词在编程里最容易让人误会。。。。。。 。。不是你想怎么写就怎么写,, ,, ,而是指工具链和指令集对你的限度比力少。。。。。。 。。好比某些精简指令集的芯片,, ,, ,你写个加法都得自己折腾寄放器,, ,, ,但换来的是每条指令的周期都清明显楚。。。。。。 。。

而“自由-X”更像是给了一个矫捷的框架,, ,, ,让你能用靠近硬件的逻辑去节造执行流程。。。。。。 。。你不必要像高级说话那样,, ,, ,还要猜编译器最后会天生什么鬼器材。。。。。。 。。这种自由,, ,, ,是看得见、摸得着的自由。。。。。。 。。

? “汇编」剽步,, ,, ,为什么绕不外去

其实此刻好多场景的确能够用C或者C++糊弄从前,, ,, ,但一旦涉及到精确延时、临界区保 ;;;;ぁ⒍蕴囟ㄗ刺姆牌鞯牟僮鳎 ,, ,高级说话就露怯了。。。。。。 。。

不是它不能,, ,, ,是它太“聪明”了,, ,, ,聪明到有时辰会助你做决定。。。。。。 。。但硬件上电那一刻,, ,, ,必要的是确定性,, ,, ,是绝对的可控性。。。。。。 。。

这时辰就得汇编上场。。。。。。 。。它不是用来写整个项主张,, ,, ,而是用来补那几个要命的关键地位的。。。。。。 。。就像赛车换胎,, ,, ,全车都是高级工程学,, ,, ,但关键时刻拧几个螺丝,, ,, ,必须得人来,, ,, ,并且是带着扭矩扳手的人来。。。。。。 。。

? “额定场景”是最后的保险丝

最容易被忽略的其实是“额定场景」剽四个字。。。。。。 。。同样的汇编代码,, ,, ,在50MHz的时钟下跑得好好的,, ,, ,你换到72MHz的板子上,, ,, ,可能延时就禁绝了。。。。。。 。。这不是代码错了,, ,, ,是场景变了。。。。。。 。。

额定场景的意思是,, ,, ,你在写这段汇编的时辰,, ,, ,就得把CPU频率、表部晶振、总线吩斓系数、甚至电压颠簸领域都定死。。。。。。 。。别人拿从前用,, ,, ,只有不改这些前提,, ,, ,那代码就是一颗放心丸; ;;;;你要是改了前提,, ,, ,那代码就是定使亘弹。。。。。。 。。

所以,, ,, ,真正会写的人,, ,, ,城市在代船埠部的注解里写明显:这段器材,, ,, ,是在什么芯片、什么主频、什么模式下验证过的。。。。。。 。。这就是职业素养。。。。。。 。。

? 换个角度理解,, ,, ,它就是一路锁

若是你感触上面太干,, ,, ,能够换个角度。。。。。。 。。自由-X汇编X额定场景,, ,, ,性质上就是一路锁。。。。。。 。。锁芯是你的算法,, ,, ,钥匙是特定的硬件配置,, ,, ,而锁体则是你写代码时那种“不当协”的态度。。。。。。 。。

它不钻营花哨,, ,, ,钻营的是在有限前提下,, ,, ,把机能榨到极致,, ,, ,并且保障不犯错。。。。。。 。。这种工作,, ,, ,看着单调,, ,, ,但每一次judging地让一个GPIO在精确的1微秒后翻转,, ,, ,那种成就感迸酌库函数调一个PWM爽多了。。。。。。 。。

搞嵌入式的人,, ,, ,迟早城市遇到这四个字。。。。。。 。。早点想领略,, ,, ,比踩坑之后再去翻手册强。。。。。。 。。你手头要是也有这么一段“只能这么跑”的老代码,, ,, ,不妨想想它当初是在什么场景下被写出来的。。。。。。 。。想通了,, ,, ,你就能改得动了。。。。。。 。。

[责任编纂:黄子轩]

为您推荐

热点文章

杰出视频

凤凰资讯官方微信
凤凰资讯官方微信
关注更多资讯
【网站地图】【sitemap】