嵌入式学习的坑与一些思考
也许对大部分人来说,嵌入式的难点不在于学,而是很难入门。高门槛或许是一些人对嵌入式的最初印象,这个最初印象也是一个门槛。
单就个人而言,对嵌入式的理解众说纷纭,在这里我仅仅谈谈我对嵌入式的理解。
嵌入式的坑
首先,嵌入式学习容易遇到如下几个“坑”:
买开发板时兴趣满满,买回来后发现不能调试,只剩下压箱底。
学校开了嵌入式方向,却总让人感觉自己学了个假的嵌入式,没有建立起完整的知识体系,这是一个硬伤。
学校开了嵌入式方向,却没有几个好的老师。如果单就讲课讲的好来说,这样的老师还是能够找到的。但是嵌入式学习不只需要理论,更需要多次的实践,甚至可以说实践更为重要。这个实践或许是缺失最多的东西,也是未来的差距所在。这个差距在你工作初期表现的尤为明显,当你扩过了这个阶段,你又会发现你的知识体系又会成为你的天花板。我一直觉得在本科阶段理论与实践之间还是存在着平衡的问题,这也是通常我们会抱怨大学四年学不到东西的主要原因。
理论大于实践在学校生活中体现的并不尖刻,当你走上工作岗位后你会发现问题的严重性。在去年我写这篇文章时,我也常常抱怨本科阶段的学习。工作了几个月之后,我的想法有了改观。如果只是为了找到一份工作,那么学校教育确实有很大的不足,但长远来看理论的完备其实更为重要。一个知识体系不完备的开发者是走不了很远的! 你是否能够想象你要在工作中弥补理论的缺失要付出怎样的辛苦?这就是所谓的“年轻”吧!
嵌入式学习
如果将机组的学习作为嵌入式学习的起点,不知道能不能讲的过去?如果在这里非要推荐一本书的话,那么它只能是《CSAPP》了。当我在工作中听到领导向我大力推荐这本书时,我确实有点欣喜若狂。对于没看过《CSAPP》的人来说,它是个不小的门槛。可当你迈过这个门槛后你会发现它也仅仅只是个基础!抛开《CSAPP》中繁多的内容不谈,这本书能让人建立起一个计算机系统的整体架构,这点极其重要的,即便当时我并没有意识到这个问题。
裸机程序开发的学习就算作单片机学习的范畴吧。GPIO 或许是永远的梗,不过也真的很简单啦!
这之后中断开始从天而降,前后台系统的概念也慢慢浮出水面。
最开始我对中断的理解仅仅停留在配置寄存器,编写中断服务程序之上,这时的中断不存在嵌套问题。慢慢的中断嵌套问题也成为了需要掌握的一个问题,中断优先级听上去也不再陌生了。
现在我常常会考虑中断频率的问题。就分时系统而言,过高的中断频率会造成 cpu 执行非中断服务程序代码的时间大幅度消减,用户体验降低。实时操作系统也存在这样的问题。中断能够及时响应依赖于 cpu 与 IO 设备之间的速度差,当中断频率过高时,丢失中断的可能性升高,系统的实时性变差。硬件 fifo 与 DMA 就是这解决这一问题的尝试,使用的相当广泛。
由于时间原因,就先写到这里吧!
嵌入式学习的坑与一些思考相关推荐
- 嵌入式学习的几种线路图
嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段: 1.嵌入式linux上层应用,包括QT的GUI开发 2.嵌 ...
- 小小甜菜深度学习爬坑记
小小甜菜深度学习爬坑记 主要目的是整理一路学习的技术分享贴.我的电脑是笔记本联想拯救者R720,显卡是GTX1050Ti.其它环境仅供参考. 安装ubuntu+win10双系统 详情见技术贴用 Eas ...
- 小白深度学习入坑指南
小白深度学习入坑指南 小白深度学习入坑指南 写博客的初衷适合的人群 理论篇 说明 数学 CV ML DL 优化 实践篇 linux python 深度学习框架 框架学习 硬件配置 软件环境配置 常见的 ...
- 嵌入式学习笔记——STM32的USART通信概述
文章目录 前言 常用通信协议分类及其特征介绍 通信协议 通信协议分类 1.同步异步通信 2.全双工/半双工/单工 3.现场总线/板级总线 4. 串行/并行通信 5. 有线通信.无线通信 STM32通信 ...
- 嵌入式行业那些坑与出路
嵌入式的坑 烧钱 嵌入式的学习十分烧钱,这就让人有点望而却步.我是做DSP起步的,更是能体会到嵌入式绝对是一个拿钱搭梯子的学习行业. 在我的学习过程中身边有不少的人投向了CS行业,也就是纯软件开发,比 ...
- 嵌入式学习真的这么烧钱吗?
大家好,我是小麦,从一开始接触嵌入式到现在,已经已经有十年了. 在这期间走过很多弯路,踩过很多坑. 平时和搞技术朋友聊到嵌入式的各种坑的时候,都会不约而同地提到这几点, 硬件的成本高,比较氪金,技术 ...
- 毫无保留,这是我全部的嵌入式学习秋招经验!
作者:阿秀 校招八股文学习网站:https://interviewguide.cn 这是阿秀的第「209」篇原创 你好,我是阿秀. 往届互联网校招中一直都是软件为大,硬件不管是从招聘规模还是薪资来说可 ...
- ARM+LINUX嵌入式学习路线
嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,大概分3个阶段: 1.嵌入式linux上层应用,包括QT的GUI开发 2.嵌入式l ...
- 嵌入式学习路线——解惑
你是否在嵌入式学习过程中有很多疑惑,不知道从哪里开始,不知道怎么学一些列问题,在这里给了部分解答,一起去看看 问题一 初学者学习C语言什么时候才能写出像JAVA一样.WEB一样.QT C++一样.py ...
最新文章
- sklearn.preprocessing下的数据标准化(scale、MinMaxScaler)
- 小调查:足足两周了,下周你上班否?
- java MDC_log4j MDC实现日志追踪
- mac安装mysql修改密码_Mac下安装MySQL 5.7.28并且修改root密码-Go语言中文社区
- laravel的一个简单文件博客项目katana的使用
- wxWidgets:wxHtml 测试示例
- css3中的变形(transform)、过渡(transtion)、动画(animation)
- 几个提升Go业务开发效率的流行框架和开源库
- Unity项目文件夹结构
- 美团服务器不稳定号码保护,美团打车号码保护功能,搭建用户安全的防火墙
- linux usb重定向window,基于Linux的USB设备重定向研究.pdf
- 如何挑选蓝牙耳机,蓝牙参数说明
- unity3d shader之Julia集和Mandelbrot集绘制美丽图案
- 【数据】社区发现数据集
- luogu1378 油滴扩展 (深搜)
- 国外程序员真实生活曝光,谷歌的工资竟这么高
- 洛谷 P1873 [COCI 2011/2012 #5] EKO / 砍树
- html/CSS 字体样式表 font-family:中文字体的英文名称
- VUE Echarts世界地图 中文名称显示国家
- [Puppeteer]Puppeteer+Mocha+Chai实现端到端测试
热门文章
- Java面试题总结 - Java集合篇(附答案)
- html爱情表白神器,回忆纪念册(附源码)
- coding持续集成
- linux qt设置应用程序图标大小,Qt5 linux如何设置窗口图标图像
- [python学习]写入古诗,并复制
- 2021年中国互联网企业发展现状及发展趋势分析:互联网上市企业和互联网独角兽企业数量稳步增长 互联网企业集聚发展态势明显[图]
- AudioEffect
- mysql的四种连接方式_数据库的四种连接方式分别是什么
- 【回溯算法】N皇后问题
- DES与3DES加密C++实现