楼主: xiaocaihong

大咖问答第十一期:韦东山解答单片机和Linux等嵌入式问题

  [复制链接]

该用户从未签到

发表于 2020-7-9 17:08:29 | 显示全部楼层
分享到:
Q向涵Q 发表于 2020-7-7 13:25
linux开发比安卓开发,有哪些优势

安卓的底层就是Linux,
先说说安卓的缺点把:
体系太庞大太复杂,出问题的话中小公司都很难搞定。
所以安卓用在手机上比较多,很难在手机圈外面使用。
对于其他非手机的设备,也是基于厂家提供的整套方案来使用:
比如平板用全志的方案,广告机用瑞芯微的方案。

Linux相比于单片机,有更强的硬件性能、更丰富的软件,不在需要重复造轮子。
相比于安卓,用Linux开发又能比较深入地掌控整个系统。
使用安卓,一是硬件性能要求更高,二是软件更复杂维护起来也更困难,
不做通用设备比如手机这些,用安卓干嘛呢?
如果设备上面运行的就是你们自己的软件,没考虑运行第三方软件,不建议用安卓。
我录制安卓都接近5年了,每一个模块都搞得复杂无比,后悔入坑安卓。
当然,公司实力强就是另一回事了,要做出一个平台设备,让客户去使用APP市场的各类软件,这种场合非安卓不可。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2020-7-9 17:08:29 | 显示全部楼层
天师猫神 发表于 2020-7-7 13:46
嵌入式Linux能用在工业自动化上吗

当然可以,实际上很多公司都有基于Linux的工业自动化产品。
比如NXP公司在2017年就推出了“开放式Linux系统”(OpenIL),可以解决Linux的实时性问题。
在工业领域使用Linux的缺点主要是实时性,
可以是同经过实时性改造的Linux,
也可以搭配单片机:单片机进行实时性处理,Linux进行数据传输、处理、GUI显示等待。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2020-7-9 17:08:29 | 显示全部楼层
天师猫神 发表于 2020-7-7 13:47
嵌入式Linux所做的产品一般有什么缺点

在工业领域,主要是实时性差。
在非工业领域,我认为它几乎没有缺点:
1.现在低端的能运行Linux的芯片,价格比单片机贵不了多少
2.国内Linux人才数量起来了,这意味着软件成本也低。
如果非要找出一些缺点,就是门槛比单片机高。
硬件成本:单片机可能几块钱就可以实现一个功能,非要强上Linux的话需要几十块。
软件成本:单片机软件开发相对简单,Linux那一套入门要半年吧
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2020-7-9 17:08:29 | 显示全部楼层
天师猫神 发表于 2020-7-7 13:48
嵌入式Linux在各种智能机器人上用了多吗,,比如服务型机器人,水上运输机器人,,空中飞行机器人?

我没去看多这些机器人的方案,
但是大疆无人机是Linux+单片机的组合。
就像前面说的:单片机进行实时性处理,Linux进行数据的复杂处理
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2020-7-9 17:08:29 | 显示全部楼层
yinwuqing 发表于 2020-7-8 12:39
韦老师,您好!Linux中的多进程多线程,同步与互斥访问,一个进程的pid是怎么形成的?kill一个进程,只需要kill这个进程所对应的pid号,那这个号其本质是什么?32位系统与64位系统,所申请的pid号位数会一样长吗?

一个进程在内核里有一个task_struct,内核中每个task_struct编个号,这就是PID了。
至于32位、64位系统的PID,你可以看内核里的task_struct结构体,它的PID都是int类型,都是32位。
kill掉进程,实际上是kill程序发信号,发给要PID对应的进程。
也就是PID对应的task_struct会被设置位“有信号等待处理”。
信号怎么被处理呢?
1.一个进程的运行空间是分为用户态、内核态的,
比如程序调用write函数时,是运行于用户态;
在write函数里,会调用一条汇编指令,比如 swi #xxx,这就会进入内核态,
在内核态里,首先保存“用户态的返回地址”,然后调用内核的sys_write函数。
2.执行完sys_write,系统会从“用户态的返回地址”继续运行代码
上面1、2是正常的流程。
如果内核在继续从“用户态的返回地址”执行之前,也就是从内核态返回用户态前夕,
发现有普通的信号信号要处理,怎么办?
内核会偷偷修改“用户态的返回地址”,改为信号函数的地址,
这样进程就会先运行信号函数,
运行完信号函数后,再从原来的“用户态的返回地址”继续运行。

如果是特殊的信号,比如KILL信号,那么进程就退出好了,不再执行。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2020-4-24 09:00
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2020-7-10 19:59:42 来自手机 | 显示全部楼层

    回帖奖励 +10 与非币

    韦老师 您好   用嵌入式Linux做什么项目可以新颖一点  在比赛当中可以脱颖而出  目前还没有好的想法
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 2082 天

    连续签到: 164 天

    [LV.Master]伴坛终老

    发表于 2020-7-10 21:26:32 | 显示全部楼层
    韦老师,如果在编译一个应用程序需要第三方插件支持,而这个插件下载又下载不了,服务器在国外。将软件源更换成国内的链接地址,但还是找不到资源包,而且没有安装这个插件就编译不了这个应用程序,这种情况下怎么解决呢?另外如果一个双核MCU,能够实现一个核运行Linux系统,另一个核运行RTOS,两个核实时相互通讯呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 2082 天

    连续签到: 164 天

    [LV.Master]伴坛终老

    发表于 2020-7-12 14:24:48 | 显示全部楼层
    韦老师,您好!Linux是否是实时系统?如何提高Linux系统和应用的实时性?有时候会遇到嵌入式系统中的优先级翻转,一般什么情况下优先级会出现翻转,以及如何避免优先级翻转呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:07
  • 签到天数: 1053 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2020-7-13 08:13:12 | 显示全部楼层
    你好,韦老师,想请教下linux系统和单片机相比,在实时性方面,那个更好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-9-9 08:12
  • 签到天数: 58 天

    连续签到: 3 天

    [LV.5]常住居民I

    发表于 2020-7-13 10:49:36 | 显示全部楼层
    接触liunx有很长一段时间了,一直没有入门,因为工作中用不到,现在想入门提高一下自己,liunx现在主要做应用的比较多吧,做驱动方面需求现在市场需求现在还多么.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 11:59 , Processed in 0.185001 second(s), 30 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.