首页 > 其他分享 >嵌入式系统里你需要知道的东西

嵌入式系统里你需要知道的东西

时间:2023-08-25 21:44:37浏览次数:46  
标签:编程 东西 Linux 系统 嵌入式 内核 串口 ARM

STM32单片机

1.库函数编程以及寄存器操作
2.复杂外设:DMA、ADC、DAC、PWM、IIc、SPI、jtag调试、中断、时钟系统
3.高级模块:蓝牙、WiFi、摄像头、键盘鼠标、USB

书+开发板

正点原子,资料齐全,视频配套

博客+自己做笔记

cortex M3内部结构 STM32的内部结构和cortex M3内核结构 《cortex M3/M4权威指南》
C语言进阶 C指针、数据结构

《C和指针》

《C primer》

《数据结构与算法分析》

实时操作系统

freertos 或者 ucos操作系统

下载源码,学会移植,学习操作系统基本结构,深入掌握操作系统调度和内存管理

源码+手册+大佬博客
应用层 学习一点C++或者C#,常识写上位机程序,Windows的应用程序  

一般嵌入式的大厂大都要求有Linux开发经验,

按照顺序:先学会使用Linux,再学习Linux内核。Linux十分庞大,弄懂一个组件或者一项就能找个不错的工作。

Linux应用层编程、Linux系统编程、ARM体系结构(嵌入式一般先学ARM架构,其他架构工作中再学)

Linux驱动、Linux内核基本模块:内存管理,任务调度,文件系统。弄懂一个需要很多时间。

书籍:

《Unix环境高级编程》【】

《Linux内核设计与实现》【】

《Linux系统编程》【】

《深入理解Linux内核》【】

《Linux设备驱动开发详解》【】

《Linux设备驱动程序内核机制》【】

《Linux内核情景分析》【】

《ARM体系结构与编程》【】

《ARM嵌入式系统开发:软件设计与优化》【】

______________________________________________________________

来源:https://www.zhihu.com/question/322341076/answer/1068611110
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

______________________________________________________________

建议:

1.多参加比赛,配合软硬件开发调试的经历对今后发展很有帮助

2.开发板购买资料齐全的

3.进阶时最好不要按某模块顺序学习,而是先定需求再学模块(从目标到学习,效果更好)

需求的例子:

①用串口完成PC和设备通讯

②串口使用自定义协议,包含起始位、地址、数据、结束位、CRC校验

③通过串口管理外部设备如复位、蜂鸣器、设置DA输出、获取AD值,并在界面显示

④支持串口在线升级,存储使用外部FLASH,下载支持断点重传,版本检验和完整性检验

⑤上位机开发支持自定义串口协议软件,用常用的可以实现图像界面的语言和框架,如c#,c++,python

⑥支持自定义协议替换为FreeModbus协议,使用宏切换

……

用Web端,通过浏览器实现上述功能

【分解为小模块进行实现】

4.总结!写文档或写博客发表,完成比完美更好。调试成功了AD、串口通讯协议等等都可以发,分享开发心得和解决问题的思考过程与步骤。能写出来讲给别人听一定是经过思考的。

5.早点定位行业,积累工作经验!

来源:玩嵌入式,一般怎么入门? - 听心跳的声音的回答 - 知乎 

 

标签:编程,东西,Linux,系统,嵌入式,内核,串口,ARM
From: https://www.cnblogs.com/asandstar/p/17658016.html

相关文章

  • Linux系统:第十章:服务器环境搭建
    将防火墙关闭并设置为开机不自动启动:systemctlstopfirewalld.servicesystemctldisablefirewalld.serviceLinux系统中JDK的安装与配置进入opt目录下:cd/opt在opt目录下上传jdk文件:jdk-8u152-linux-x64.tar.gz解压:tar-zxvfjdk-8u152-linux-x64.tar.gz进入etc目录下:cd......
  • Linux系统:第四章:Linux文件系统
    Linux文件系统 概述Linux系统中只有一个文件系统,以“/”作为根目录,从根目录出发可以找到任何一个文件和目录。这样就有了一个访问目录、文件的统一规范。在根目录下的诸多目录都有特定的作用,其中有些目录对我们日常操作来说非常的重要。[bin]是binary的缩写,这个目录存放着......
  • CentOS 7 上更新系统时间和时区
    要在CentOS7上更新系统时间和时区(CST,即中国标准时间),可以按照以下步骤进行操作:更新系统时间:首先,你可以使用以下命令来手动更新系统时间为当前时间:sudodate+%T-s"hh:mm:ss"替换"hh:mm:ss"为当前的小时、分钟和秒。你也可以更新日期和时间一起,例如:sudodate+%Y%m%......
  • #是男人就做架构师# 系统架构设计师 案例复盘
    前言本文对2022年系统架构设计师下午题进行复盘总结,实际考试中,试题一是必做的,剩下题目4选2即可。今年的下午题结合了实际项目,是理论结合实践的典范。试题一 会员与促销管理系统某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务,提高用户的粘性。在项目立项之初,公司领......
  • 数据窗口单元格中输入值后直接保存时提示未输入,需要点击两次才能保存,这是输入值没有按
    解决办法:在保存事件起始位置判断IFdw_1.AcceptText()=-1ordw_2.AcceptText()=-1ThenReturn-1//将控件内容置于系统缓存区IFdw_1.of_updatespending()+dw_2.of_updatespending()=0thenReturn0//两个数据窗口没改变直接退出(改变时=1) ......
  • 嵌入式人工智能:容器化库和应用程序 — 如何选择正确的选项
    人工智能(AI)彻底改变了企业的运营方式,从使用AI工具到采用“AIplus”思维方式来实现增长。嵌入式AI是这一转型的关键策略,它将AI无缝注入解决方案中,以增强智能、效率、直观性和自动化。部署嵌入式AI有两种方法:容器化库和应用程序。让我们探讨每种方法、其优点、用例以及......
  • 四、Docker Buildx 构建支持多系统架构的Docker镜像
    一、前言1.本文主要内容使用DockerBuldx构建支持AMD64、ARM、ARM64等架构的镜像并传送到DockerHub。2.环境支持安装Docker>=19.03该版本包含buildx,该功能仅适用于Dockerv19.03+版本。Linuxkernel>=4.8自该Linux内核版本binfmt_misc支持fix-binary(......
  • 操作系统
    庄园主奴隶找一个管家传达命令(这个管家就相当于我们少掉的内存)计算机的世界中叫做操作系统还有一种东西帮我们把内容保存到了硬盘操作系统帮我们解析了双击的指令什么是操作系统:将外部的指令发给CPU文件:操作系统干了什么:1.接受外部指令转化成0和12.翻译你和写的字符,把对......
  • 从零做软件开发项目系列之五——系统开发过程
    前言在软件项目的设计开发过程中,除了前期的用户需求调研确认,系统设计、数据库设计等工作之外,还有一些重要的工作需要考虑,比如软件开发模式,如何制定开发计划,如何协调开发人员开展开发工作等。本文将这几项内容与大家进行分享交流。1软件开发模式(模型)我们在项目中,根据具体情况,会......
  • 互联网医院系统定制|互联网医院成品功能有哪些?
    随着信息化的飞速发展,医疗领域信息化程度日益加深,医院对于信息化的自身需求越来越高,由此也推动了医院信息化的快速发展。而即时医疗信息服务能够解决普通老百姓医疗信息匮乏、花大钱看小病、就医不及时等基本问题。通过智能手机、平板电脑等移动终端,利用移动网络接收、分享即时的医......