嵌入式如何入门,要不要学习Python

#提问

我是你的公众号读者朋友,江苏省在读大学生一名,目前是大四免研。研究生方向是嵌入式系统与应用(导师招这样的学生,但是本身设计这个方向不多),目前还比较有时间,想要自己深入学习一下嵌入式方面的知识,像就这方面,请教一下工作的前辈

下面这张图片,是我捋出来自己会的、知道的,跟嵌入式相关的,然后还有一些问题,想要请教一下前辈,问题也写在上面了

希望前辈给予一些指导

问题图片

#回答

看这个图片吧 单片机我是非常强烈要学习的,单片机是嵌入式的基础,我特别建议学51,是因为51单片机的东西少,汇编指令也少,资料非常充分,作为入门是再好不过的了。

可能大家发现了下面的图片有一点特点,就是可以直接从单片机学习Linux,我上大学的是否,我们班上有一个打扰就是这样学的。单片机做基础,理解了一些硬件的基础知识,就可以杀入到嵌入式Linux里面去了。

嵌入式学习顺序

最近看到的 正点原子 发的一个开发板,里面介绍的入门顺序是非常不错的,也刚好跟我的思路吻合,我在这里不是为了吹正点原子,也没有什么合作关系,想深入学习嵌入式和Linux我还是建议韦老师的资料

点击查看大图

点击查看大图

我不是非常建议一上来就使用STM32是因为STM32会比51复杂一些,入门的话,肯定是越简单越好,但是最近特别流行的这个板子,韦老师店铺也有 可以学习裸机外设编程、可以学习rtos、也可以用来学习Linux,从这方面来说,这个板子确实是非常适合初学者的,我记得之前有一个板子很火是 mini2440,主要原因也是因为资料非常多,现在学习跟10年前相比,很多软件和硬件提升了很多,也更容易找到学习资料和学习伙伴。喜欢这碗饭的同学们,吃起来是非常香的。

为什么学习51单片机?

可以看看我之前在知乎的回复

做开发板赚钱其实是非常难的,特别是前期的时候,首先是开发板的毛利非常低,什么叫做毛利呢?毛利就是在一台机器上扣除所有开支能赚到的钱,我之前搞的那个51开发板,自己投入了也有一千多,快递一个是10元,我卖一个19.9,相当于卖一个亏一个,而且还没什么人喜欢。

做硬件赚钱一般是这样

  • 做行业产品,这样毛利高,即使销量不是很多也能赚钱。

  • 做消费电子,毛利低,但是销量高,所以也能赚钱。

  • 做服务,在设备里面增加服务费,买了设备后,可以免费使用基础功能,但是如果想用高级功能,就需要开通会员「乐视就是典型代表」。

#编程语言学习

编程语言学习

C语言学习之后开始学习C++,这个时候就应该有数据结构的思维,比如栈,链表,队列等,也要会自己实现,当然了,也包括使用编程语言完成一些基本的排序算法。

这个顺序不是完全一成不变的,你也可以在学习语言的时候,就开始学习数据结构,这些都没有问题。

#要不要学习python?

我觉得如果有时间学习,python是应该去学的,而且学习python我觉得比学习C语言更加有趣,但是前提是,前面已经学完了一遍,如果前面还没有完成学习,就直接进入python,那你可能想从事的可能不是嵌入式方向了。

学习python建议大家安装 pycharm,利刃在手,天下我有。

python 比较厉害的地方是在于,可以用python处理很多大量的数据,这个是它的强项,但是嵌入式,还是会已C语言和平台为主。

最近有跟一个朋友聊天,他们现在正在使用C++做一个嵌入式操作系统,而且因为C++更接近C语言,这也是为嵌入式系统铺设道路的一个方面。

当然了,python也很强,之前用的ESP32开发板,就可以使用python进行控制,只不过在中间封装了一层。

最后,欢迎有不同看法的大佬评论说出你的想法。

关于学习资料,感觉已经足够多了,还不满足的,在公众号后台回复 「1024」获取。

#推荐阅读:

    专辑|Linux文章汇总

    专辑|程序人生

    专辑|C语言

嵌入式Linux

微信扫描二维码,关注我的公众号 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

13.强符号和弱符号

我们在编写代码的过程中经常会遇到一种叫做符号重复定义(Multiple Definition)的错误,这是因为在多个源文件中定义了名字相同的全局变量,并且都将它们初始化了。 例如,在 a.c 中定义了全局变量 global: int…

C语言——预编译

C语言——预编译 宗旨:技术的学习是有限的,分享的精神是无限的。 在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使…

深入理解cache对写好代码至关重要

There are only two hard things in Computer Science: cache invalidation and naming things.-- Phil Karlton全文目录CACHE基础CACHE的组织TAG,INDEXVIVT,VIPT,PIPTCache别名问题CACHE一致性icache、dcache同步多CPU核cache同步CPU与设备cache同步意识到CACHE的编程perf中的…

[推举]网络工程师必懂的专业术语

路由器问题: 1、什么时候使用多路由协议? 当两种不同的路由协议要交换路由信息时,就要用到多路由协议。当然,路由再分配也可以交换路由信息。下列情况不必使用多路由协议: 从老版本的内部网关协议( Interio…

基础练习 特殊回文数

问题描述123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式输入一行,包含一个正整数n。输出格式按从小到大的顺序输出满足条件的整…

IO流--buffer

示例展示: package buffer;import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.I…

Linux 用户空间和内核空间

最近在微信群里看到有人提这个问题,然后查了下资料,觉得这篇文章是写得最能让人看懂的,分享给大家。欢迎大家评论说出自己的见解,让更多的人更容易理解这部分知识。之前的相关文章Linux内存,先看这篇文章Linux物理内存…

数据库的学习

自从搬到那边学校去了,就好久都没有写过我的学习了。因为没那么多时间上网了,有时候去网吧上网也不想写了。又开始了一本书的学习,那就是数据库。还记得去年那个时候学数据库的时候,大家都说我们学会最多的就是ctrlc和ctrlv&#…

2017.12.20-21

1.今天,继续学习公司产品DDS的开发手册。 首先,其中有几个概念需要认识: CORBA(Common Object Request Broker Architecture):公共对象的请求代理体系结构,OMG组织定义的一种面向对象应用的标准国际规范架构。为简化跨平台应用而提…

C语言——宏定义

C语言——宏定义 宗旨:技术的学习是有限的,分享的精神是无限的。 注意:宏定义不是函数!! 一般用来简化操作的,但又能避免函数调用那样需要进行切换环境,花费时间。例如: #define ma…

一个深入学习Linux/C/C++的原创技术号

今天给大家推荐一个Linux/C/C领域的公众号,大家都知道这个领域的号不多,而【编程珠玑】就是这样一个专注该领域的原创类公众号,原创占比95%以上,目前已有原创文章200多篇,而且原创间环环相扣,皆有关联。公众…

Redis Java调用

Redis Java调用 package com.stono.redis;import redis.clients.jedis.Jedis;public class RedisJava {public static void main(String[] args) {Jedis jedis new Jedis("localhost");System.out.println("ok");System.out.println("ping "jed…

Linux 资料大全

Hello all,给大家分享一些 Linux 学习资料,包含:社区网站、在线教程、命令大全、在线模拟器、经典书籍、镜像站点等 ...从入门到进阶,应有尽有。无论你是小白,还是 Linux 高手,都不容错过,100% …

C语言——字符串函数

C语言——字符串函数 宗旨:技术的学习是有限的,分享的精神是无限的。 常用字符串操作函数的实现:注释部分你们注意一下,我没加/,加了/就看不到注释了。 ************************************************* *功能:实…

创业思考点滴

创业的理由应该是为了做更有意义的事,而不是赚更多钱,是为了更大程度地实现自身价值,而不是得到更多财富。 创业对个人是很大的挑战,这种挑战会让人成长得更快。 在创业过程中,自省很重要,很多时候问题与困…

各种排序方法的比较

简单排序包括直接插入排序、冒泡排序、和简单选择排序。 排序方法的稳定性&#xff1a;假设KiKj&#xff08;1<i<n,1<j<n,i!j&#xff09;&#xff0c;若在排序前的序列中Ri领先于Rj&#xff08;即i<j&#xff09;&#xff0c;经过排序后得到的序列中Ri领先于Rj…

生命很短,我用tldr

我们平时使用命令的时候&#xff0c;如果忘记的或者不知道这个命令如何使用&#xff0c;然后你就会去百度&#xff0c;也会去使用man 或者 -- help 查看&#xff0c;但是看到的一般都是长篇大论。如果你看了这篇文章&#xff0c;就会知道tldr是怎么样的存在。tldr 的含义TL;DR …

Linux安装vsftpd

卸载vsftpd sudo yum remove vsftpd 安装vsftpd sudo yum -y install vsftpd 创建一个文件夹用来当作ftp得仓库 cd / sudo mkdir ftpfile 创建一个用户,仅对文件夹有上传权限,又没有登陆权限 sudo useradd ftpuser -d /ftpfile/ -s /sbin/nologin//赋值权限sudo chown -R ftpus…

EJB 学习笔记

1、ejb 基础知识&#xff08;1&#xff09; 无状态会话bean不保存客户机的会话状态优点&#xff1a;使用小量的实例即可满足大量的客户。每个实例都没有标识&#xff0c;相互之间是等价的。等?的无状态会话bean&#xff1a; 多次和一次调用的结果和效应相同。在集群中可以…

C语言——项目规范

C语言——项目规范 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 //基本原则 1、尽量少使用全局变量&#xff0c;或者说禁止使用全局变量&#xff1b; 2、实在要在其他文件使用本文件中的变量&#xff0c;以函数接口返回其值&#xff0c;在其他文件…