关闭
搜索
搜索
本版
帖子
用户
热搜:
程序员
简洁模式
高级模式
用户组: 游客
消息
提醒
新听众
我关注的
帖子
道具
勋章
任务
设置
退出
请
登录
后使用快捷导航
没有帐号?
立即注册
设为首页
收藏本站
开启辅助访问
切换到窄版
登录
or
立即注册
快捷导航
搜索
首页
论坛
BBS
MCU单片机技术
程序员交流
学习嵌入式难不难?嵌入式软件开发的路线讲解
[复制链接]
作者:
达益IPHONE
版块:
›
嵌入式操作系统
›
vxWorks
发布时间:
2020-1-26 01:21:14
1253
0
返回列表
达益IPHONE
当前离线
中级会员
中级会员, 积分 337, 距离下一级还需 163 积分
中级会员
中级会员, 积分 337, 距离下一级还需 163 积分
积分
337
发消息
楼主
电梯直达
达益IPHONE
发表于 2020-1-26 01:21:14
|
只看该作者
|
倒序浏览
|
阅读模式
相信大家都了解过学习嵌入式并非易事,嵌入式开发门槛高,涉及的知识面广,既要求懂硬件,又必须能写软件,而软硬件涉及的知识体系却又是异常的庞大;并且学习这些短期内看不到成绩,需要坚持数年,执着在一个领域深耕。 具备基本的电路知识,了解常用元器件、芯片,能看懂原理图,作为嵌入式软件开发人员也必须懂一些硬件设计方面的知识;
具备一定的MCU设计与应用能力,从单片机到ARM再到DSP,能够根据客户要求设计产品;掌握至少一种单片机的编程与使用,比如常见的STM32,后期可以涉猎FPGA;
学习C语言,掌握基本的数据类型、指针、结构体等;了解基本的MCU外围模块,SPI、I2C、UART、GPIO、ADC、PWM、Timer、FLASH等原理,能根据硬件原理以及芯片手册编写裸机设备驱动程序;掌握常用工业通讯协议比如CAN、Modbus等;
学习至少一种操作系统,包括但不限于uCOS、FreeRTOS、RT-Thread、Vxworks等,并且一定要学习嵌入式linux的使用与编程,搞明白多任务调度、信号量、邮箱等的原理与使用; 学习linux平台下的设备驱动程序设计,掌握字符设备、块设备、网络设备的驱动框架,并能够熟练设计这些设备驱动,比如ADC、UART、SPI、GPIO、Camera等等,视频驱动框架一定要搞懂V4L2;
学习GUI设计,具备基本的嵌入式产品GUI设计能力,可以学习Qt,它的跨平台特性很适合嵌入式开发;当然也可以转到App设计开发;
学习多线程编程,搞明白线程池原理并应用到实际产品中;具备高并发网络通信编程能力,熟练掌握epoll以及libevent的使用和设计;
掌握至少一种数据库编程能力,嵌入式可以学习SQlite;
掌握C/C++编程语言,可以设计linux平台下的应用程序以及后台服务程序,并涉猎其他编程语言,可以学习Python;
修炼内功,学好数学,学习各种编程算法,掌握常用数据结构以及算法的原理和实现,链表、队列、排序、查找等;掌握常用滤波算法及其实现,比如一阶互补滤波、卡尔曼滤波等;掌握PID原理与算法实现;
以上即是嵌入式软件开发的路线,当然不一定适合每个人,但总体来讲掌握这些对以后的进一步发展有很大帮助。
嵌入式软件开发人员的从业范围也是异常的庞大,小到家用电器,大到工业航天设备等都有嵌入式的存在。比如手机、电视、冰箱,比如航天飞机、通信卫星、人工智能、无人机、移动机器人、无人驾驶、激光雷达、智慧医疗、医疗仪器、可穿戴设备、物联网等,也包括一些工业嵌入式产品,比如电力设备、新能源设备、汽车、发电、通讯等等,可以说只要需要微处理器的地方都离不开嵌入式。
对于嵌入式软件开发来讲,懂得必须要多,但更要专;要做T字形人才,在一个领域深耕,才能有好的发展,切勿浅尝辄止,好高骛远。
要找到自己的兴趣点,喜欢无人机,那就在飞行控制算法方面做深入研究;
喜欢图像处理,那就在图像处理算法方面多深入研究;
喜欢人工智能,那就在机器学习、深度学习方面做深入研究;
喜欢汽车电子,那就在汽车领域深入研究;
总之,嵌入式不是一蹴而就,需要数年的坚持与执着,要想在嵌入式任何一个领域精进,都不是一件容易的事。
选一个方向,沉下心来,做就是了。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
收藏
0
相关帖子
•
刚入行不会选择STM32?听听资深工程师怎么说
•
年薪50W大神总结的2021版Linux学习路线图终于搞到了
•
嵌入式技术发展的一些思考
•
运维工程师需要掌握什么技能软件?
•
嵌入式工控机装什么系统?
•
关于ARM嵌入式系统开发,你知道的有多少?
•
Python基础教程之参加Python培训课程学习内容详解
•
华为鸿蒙(python程序员)总结的一整套python学习路线,内含python学习视频 ...
•
硬件产品经理技术知识(一)嵌入式系统
•
如何才能成为一名DevOps工程师?
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
表情
@朋友
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
IT业界资讯
linux
快速回复
返回顶部
返回列表