28圈.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[责任编纂:黄丽]

为您推荐

热点文章

杰出视频

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