嵌入式学习的坑与一些思考

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

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

嵌入式的坑

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

买开发板时兴趣满满,买回来后发现不能调试,只剩下压箱底。
学校开了嵌入式方向,却总让人感觉自己学了个假的嵌入式,没有建立起完整的知识体系,这是一个硬伤。
学校开了嵌入式方向,却没有几个好的老师。如果单就讲课讲的好来说,这样的老师还是能够找到的。但是嵌入式学习不只需要理论,更需要多次的实践,甚至可以说实践更为重要。这个实践或许是缺失最多的东西,也是未来的差距所在。这个差距在你工作初期表现的尤为明显,当你扩过了这个阶段,你又会发现你的知识体系又会成为你的天花板。我一直觉得在本科阶段理论与实践之间还是存在着平衡的问题,这也是通常我们会抱怨大学四年学不到东西的主要原因。

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

嵌入式学习

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

裸机程序开发的学习就算作单片机学习的范畴吧。GPIO 或许是永远的梗,不过也真的很简单啦!

这之后中断开始从天而降,前后台系统的概念也慢慢浮出水面。

最开始我对中断的理解仅仅停留在配置寄存器,编写中断服务程序之上,这时的中断不存在嵌套问题。慢慢的中断嵌套问题也成为了需要掌握的一个问题,中断优先级听上去也不再陌生了。

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

由于时间原因,就先写到这里吧!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值