0 序言

笔者在一所应用技术型大学里工作了近十年,在工作期间,见到了很多同学在学习一些新技能的时候都是在跑各种开发板上的例程,比如说点个流水灯,驱动个屏幕什么的,当把这些例程跑通后,他们就会很开心,因为这对于他们来说就是0到1的突破,就像我当初学习C语言的时候,看到hello world也是兴奋的不行。但是只会这些例程是远远不够的,特别当他们遇到一些综合的问题的时候往往束手无策,通常他们把教程中的程序直接复制过来改一改然后就运行,其实大多数时候这样做是不行的,教程上的程序只是针对于某个功能的演示,如果想应用到实际当中,还要做很多的处理。其实总结起来就是缺少完整案例的训练来把同学们所学的知识点全部贯通起来,即使网上也有相关的案例教程,由于同学们初学的原因,很多细节问题可能把控不好,导致整个程序都无法调通。为了帮助初学者很好的入门,笔者计划写一系列教程,帮助同学们完成这个入门的过程。

1 数据采集系统

笔者计划以数据采集系统为案例,所涉及到的内容包括STM32、FPGA、树莓派/Linux、数字信号处理等内容,尽量包含电子信息类本科生所学的专业课程。笔者也会建立答疑群,来帮助同学们解答在学习中遇到的问题。划重点,这是答疑群,就像上课一样,有什么不会的都可以在群里问,只要是跟这个案例相关的就行。

本文的题目是教大家学习嵌入式,可能我所理解的嵌入式和大家在网上看到的嵌入式的概念不一样,网上一说到嵌入式基本上指的是嵌入式Linux开发,而我理解的嵌入式则是一个更广泛的概念,只要是那种小型专用设备的开发,不管用的什么类型的芯片,我基本上都把他们归为嵌入式开发。关于嵌入式这个概念,大家有不同的意见可以相互探讨。

下面说说数据采集系统的方案。

(以上图片均来自网络,只是为了观看美观才加入的图片,如有侵权,请联系作者删除)

框图最右面的AD/DA是整个采集系统的最前端,负责把电的模拟量转换成数字量,然后将数字量通过串口或并口的方式发送给FPGA或者是STM32,这里同时使用了FPGA和STM32是因为有些数字量适合用FPGA处理,有些数字量适合用STM32处理,因此这里把两种方式都包括了,采集到的数字量经过FPGA或STM32处理后再通过USB2.0送到树莓派进行下一步处理,这里的树莓派就相当于一台小电脑,里面运行的是Linux操作系统,只不过这个Linux功能比嵌入式Linux的功能要多很多,在树莓派里会对采集的数据再做处理,例如滤波等等,最后将处理后的数据显示在触摸屏上,此处使用QT来编写图形界面。

3 结束语

初步想法是实现FPGA和STM32分别控制两个ADC采集两路模拟信号(模拟信号参数此先不确定),并经过树莓派的处理,能够在显示屏上显示两路模拟信号的波形,并计算出每一路信号的频率和幅值。类似于一个简单的示波器,但是比示波器功能要少很多。麻雀虽小,五脏俱全。功能虽然简单,但是基本上包括了嵌入式系统所需要的大部分知识,也足够同学们入门学习了。

举报/反馈

嵌入式linux项目案例,通过项目案例来学嵌入式相关推荐

  1. linux内核培训广州,嵌入式Linux驱动开发高级培训班-华清远见嵌入式培训中心

    课程目标 本课程以案例教学为主,系统地介绍Linux下有关FrameBuffer.MMC卡.USB设备的驱动程序开发.参加本课程学习的学员,因为具备了Linux设备驱动开发基础,所以本课程针对性较强, ...

  2. arm嵌入式linux应用实例开发pdf,零点起步——ARM嵌入式Linux应用开发入门一书的源代码...

    代码片段和文件信息 属性            大小     日期    时间   名称 ----------- ---------  ---------- -----  ---- 文件      2 ...

  3. arm开发板嵌入式 linux 修改开机启动logo,ARM开发板 嵌入式Linux 修改开机启动LOGO...

    1.嵌入式 Linux LOGO显示原理 嵌入式Linux是直接在FrameBuffer的基础上.直接显示一个ppm格式的图象.它 kernel/drivers/video/fbcon.c中的fbco ...

  4. s3c2440a如何保证嵌入式linux对于虚拟内存的支持?,基于S3C2440的嵌入式LINUX操作系统内核研究【资料学习】.doc...

    学校代码: 11059 学 号:0805070285 Hefei University 毕业论文(设计) BACHELOR DISSERTATION 论文题目: 基于S3C2440的嵌入式 LINUX ...

  5. 嵌入式Linux内核和文件系统,在IXP435上移植嵌入式Linux内核和根文件系统

    简要介绍如何在IXP435上移植嵌入式Linux内核和根文件系统 1.安装交叉编译工具 为什么要先安装交叉编译工具?由于我们的Linux操作系统是安装在嵌入式处理器平台上的,需要在主机上编译出开发板需 ...

  6. linux如何实现网络高级编程,嵌入式Linux网络编程之:网络高级编程-嵌入式系统-与非网...

    10.3  网络高级编程 在实际情况中,人们往往遇到多个客户端连接服务器端的情况.由于之前介绍的如connet().recv()和send()等都是阻塞性函数,如果资源没有准备好,则调用该函数的进程将 ...

  7. esp32 嵌入式linux,初体验乐鑫 ESP32 AT 指令-嵌入式系统-与非网

    乐鑫 AT 固件初体验 初步体验 AT 指令下 TCP 数传,为了验证 AT 命令解析器. 前往乐鑫官网 下载最新版本 AT 固件和 AT 指令集手册. 硬件准备 本文使用乐鑫的 ESP-WROOM- ...

  8. 【嵌入式Linux】嵌入式项目实战之七步从零编写带GUI的应用之显示系统、输入系统、文字系统

    文章目录 前言 1.显示系统 1.1.程序分层 1.2.几个重要的数据结构 1.3.程序分析 2.输入系统 2.1.程序分层 2.2.触摸屏输入 2.2.1.几个重要的数据结构 2.2.1.程序分析 ...

  9. 嵌入式项目_嵌入式Linux项目分享_linux系统编程

    分享一个适合入门嵌入式linux系统编程的项目,其他项目见:牛客嵌入式项目 同时附上本人编写的两个牛客高级专栏: <100道安卓常见面试题全解析> <嵌入式 面经C++软件开发 面经 ...

  10. 华清远见嵌入式Linux就业培训班

    ● 课程目标 4 招生简章     通过本课程的系统学习,可以使学员由浅入深地对嵌入式Linux系统全面学习,能够独立胜任嵌入式Linux应用开发.系统开发.驱动开发等多方面工作.课程目标包括:    ...

最新文章

  1. oracle数据库如何写翻页_ORACLE数据库分页查询/翻页 最佳实践
  2. c语言密钥短语密码得到代替字母表,c语言程序设计竞赛题及其答案
  3. Android通过百度地图API用Service和Alarm在后台定时获取地理位置信息
  4. Focal Loss升级:让Focal Loss动态化,类别极端不平衡也可以轻松解决
  5. 市场需求才是比特币优化的参考标准
  6. 【数据库范式】 分析题第一范式
  7. 前端学习(2973):配置嵌套路由
  8. mysql查询包含字符串(模糊查询)
  9. linux vim 单引号,单引号和双引号的区别、linux快捷键、zip压缩、lrzsz、vim常见问题...
  10. 一文看懂压敏电阻和tvs的区别
  11. docker 常用指令
  12. 宋体小四在手机上是几号_word文档4号宋体 word宋体小四是几号字
  13. c/c++原子锁应用(跨平台)
  14. Python计算时间差天数
  15. Android解决ViewPager页面滑动空白bug和图片点击bug
  16. python学后总结_学员 | 斥巨资学完数据分析后,给大家总结了7个小建议
  17. 关于报错An unexpected error occurred: “https://registry.yarnpkg.com/react: socket hang up“
  18. gateway使用教程
  19. MD编辑器就是不告诉你之表情
  20. 史上最全C++排序算法总结!!!(没有之一)

热门文章

  1. python自学,这几个网站就够了
  2. Python+vue+elementui高考志愿填报辅助系统django
  3. HR警告:应届生求职简历中的实习经历千万别水
  4. C语言strstr函数
  5. 布林通道参数用20还是26_布林通道最佳参数
  6. 三菱FX3U与4台台达变频器通讯说明:用三菱FX3U的PLC实现与4台台达变频器modbus通讯
  7. TELEDYNE DALSA Sherlock 系统软件 sherlock SH7-PRO视觉加密狗
  8. Springboot之Actuator信息泄露漏洞利用
  9. go module无法下载golang.org/x
  10. Invalid bound statement (not found): com.xxx.dao.xxxDao.selectByxx错误