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

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

嵌入式的坑

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

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

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

嵌入式学习

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

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

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

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

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

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

嵌入式学习的坑与一些思考相关推荐

  1. 嵌入式学习的几种线路图

    嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段: 1.嵌入式linux上层应用,包括QT的GUI开发 2.嵌 ...

  2. 小小甜菜深度学习爬坑记

    小小甜菜深度学习爬坑记 主要目的是整理一路学习的技术分享贴.我的电脑是笔记本联想拯救者R720,显卡是GTX1050Ti.其它环境仅供参考. 安装ubuntu+win10双系统 详情见技术贴用 Eas ...

  3. 小白深度学习入坑指南

    小白深度学习入坑指南 小白深度学习入坑指南 写博客的初衷适合的人群 理论篇 说明 数学 CV ML DL 优化 实践篇 linux python 深度学习框架 框架学习 硬件配置 软件环境配置 常见的 ...

  4. 嵌入式学习笔记——STM32的USART通信概述

    文章目录 前言 常用通信协议分类及其特征介绍 通信协议 通信协议分类 1.同步异步通信 2.全双工/半双工/单工 3.现场总线/板级总线 4. 串行/并行通信 5. 有线通信.无线通信 STM32通信 ...

  5. 嵌入式行业那些坑与出路

    嵌入式的坑 烧钱 嵌入式的学习十分烧钱,这就让人有点望而却步.我是做DSP起步的,更是能体会到嵌入式绝对是一个拿钱搭梯子的学习行业. 在我的学习过程中身边有不少的人投向了CS行业,也就是纯软件开发,比 ...

  6. 嵌入式学习真的这么烧钱吗?

    大家好,我是小麦,从一开始接触嵌入式到现在,已经已经有十年了. 在这期间走过很多弯路,踩过很多坑. 平时和搞技术朋友聊到嵌入式的各种坑的时候,都会不约而同地提到这几点,  硬件的成本高,比较氪金,技术 ...

  7. 毫无保留,这是我全部的嵌入式学习秋招经验!

    作者:阿秀 校招八股文学习网站:https://interviewguide.cn 这是阿秀的第「209」篇原创 你好,我是阿秀. 往届互联网校招中一直都是软件为大,硬件不管是从招聘规模还是薪资来说可 ...

  8. ARM+LINUX嵌入式学习路线

    嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,大概分3个阶段: 1.嵌入式linux上层应用,包括QT的GUI开发 2.嵌入式l ...

  9. 嵌入式学习路线——解惑

    你是否在嵌入式学习过程中有很多疑惑,不知道从哪里开始,不知道怎么学一些列问题,在这里给了部分解答,一起去看看 问题一 初学者学习C语言什么时候才能写出像JAVA一样.WEB一样.QT C++一样.py ...

最新文章

  1. sklearn.preprocessing下的数据标准化(scale、MinMaxScaler)
  2. 小调查:足足两周了,下周你上班否?
  3. java MDC_log4j MDC实现日志追踪
  4. mac安装mysql修改密码_Mac下安装MySQL 5.7.28并且修改root密码-Go语言中文社区
  5. laravel的一个简单文件博客项目katana的使用
  6. wxWidgets:wxHtml 测试示例
  7. css3中的变形(transform)、过渡(transtion)、动画(animation)
  8. 几个提升Go业务开发效率的流行框架和开源库
  9. Unity项目文件夹结构
  10. 美团服务器不稳定号码保护,美团打车号码保护功能,搭建用户安全的防火墙
  11. linux usb重定向window,基于Linux的USB设备重定向研究.pdf
  12. 如何挑选蓝牙耳机,蓝牙参数说明
  13. unity3d shader之Julia集和Mandelbrot集绘制美丽图案
  14. 【数据】社区发现数据集
  15. luogu1378 油滴扩展 (深搜)
  16. 国外程序员真实生活曝光,谷歌的工资竟这么高
  17. 洛谷 P1873 [COCI 2011/2012 #5] EKO / 砍树
  18. html/CSS 字体样式表 font-family:中文字体的英文名称
  19. VUE Echarts世界地图 中文名称显示国家
  20. [Puppeteer]Puppeteer+Mocha+Chai实现端到端测试

热门文章

  1. Java面试题总结 - Java集合篇(附答案)
  2. html爱情表白神器,回忆纪念册(附源码)
  3. coding持续集成
  4. linux qt设置应用程序图标大小,Qt5 linux如何设置窗口图标图像
  5. [python学习]写入古诗,并复制
  6. 2021年中国互联网企业发展现状及发展趋势分析:互联网上市企业和互联网独角兽企业数量稳步增长 互联网企业集聚发展态势明显[图]
  7. AudioEffect
  8. mysql的四种连接方式_数据库的四种连接方式分别是什么
  9. 【回溯算法】N皇后问题
  10. DES与3DES加密C++实现