嵌入式学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Longyu_wlz/article/details/82930880

也许对大部分人来说,嵌入式的难点不在于学,而是很难入门。高门槛或许是一些人对嵌入式的最初印象,这个最初印象也是一个门槛。

单就个人而言,对嵌入式的理解众说纷纭,在这里我仅仅谈谈我对嵌入式的理解。

首先,嵌入式学习容易遇到如下几个“坑”:

  1. 买开发板时兴趣满满,买回来后发现不能调试,只剩下压箱底。

  2. 学校开了嵌入式方向,却总让人感觉自己学了个假的嵌入式,没有建立起完整的知识体系,这是一个硬伤。

  3. 学校开了嵌入式方向,却没有几个好的老师。如果单就讲课讲的好来说,这样的老师还是能够找到的。但是嵌入式学习不只需要理论,更需要多次的实践,应该说实践更为重要。这个实践或许是缺失最多的东西,也是未来的差距所在。这个差距在你工作初期表现的尤为明显,当你扩过了这个阶段,你又会发现你的知识体系又会成为你目前的天花板。我一直觉得在本科阶段理论与实践之间还是存在着平衡的问题,这也是通常我们会抱怨大学四年学不到东西的原因。

理论大于实践在学校生活中体现的并不尖刻,当你走上工作岗位后你会发现问题的严重性。在去年我写这篇文章时,我也常常抱怨本科阶段的学习。工作了几个月之后,我的想法有了改观。如果只是为了找到一份工作,那么学校教育确实有很大的不足,但长远来看理论的完备更为重要。你是否能够想象你要在工作中弥补理论的缺失要付出怎样的辛苦?这就是所谓的“年轻”吧!

如果将机组的学习作为嵌入式学习的起点,不知道能不能讲的过去?如果在这里非要推荐一本书的话,那么它只能是《CSAPP》了。当我在工作中听到领导向我大力推荐这本书时,我确实有点欣喜若狂。《CSAPP》仅仅是个基础,起码它现在是我的基础。抛开《CSAPP》中繁多的内容不谈,这本书能让人建立起一个计算机系统的整体架构,这点极其重要的,即便当时我并没有意识到这点。

裸机程序开发的学习就算作单片机学习的范畴吧。GPIO或许是永远的梗,不过也真的很简单啦!中断开始从天而降,前后台系统的概念也慢慢浮出水面。最开始对中断的理解仅仅停留在配置寄存器,编写中断服务程序之上,这时的中断不存在嵌套问题。慢慢的中断嵌套问题也成为了需要掌握的一个问题,中断优先级听上去也不再陌生了。

现在我常常会考虑中断频率的问题。就分时系统而言,过高的中断频率会造成 cpu 执行非中断服务程序代码的时间大幅度消减,用户体验降低。实时操作系统也存在这样的问题。中断能够及时响应依赖于 cpuIO 设备之间的速度差,当中断频率过高时,丢失中断的可能性升高,系统的实时性变差。硬件 fifoDMA 有助于该问题的解决。

暂且停笔吧!

猜你喜欢

转载自blog.csdn.net/Longyu_wlz/article/details/82930880