gpt4 book ai didi

embedded - 如何从微 Controller 迁移到嵌入式 linux?

转载 作者:行者123 更新时间:2023-12-03 20:40:41 25 4
gpt4 key购买 nike

作为与此问题相反的一种:"Is low-level embedded systems programming hard for software developers"我想就从低级嵌入式系统转向使用操作系统(尤其是嵌入式 Linux)为更高级系统编程的建议征求意见。

我主要使用小型微 Controller 硬件和软件,但现在只做软件。我的教育也主要包括硬件和嵌入式的东西。我没有多少编程类(class),对软件设计或OO编码了解不多。

现在我手头有一个大项目,将在嵌入式 Linux 中完成。我在设计事物和保持事物可管理方面遇到了重大问题,因为我以前真的不需要这样做。同样利用多任务和阻塞调用而不是从主函数运行“并行”任务就像另一个世界。

您在从低级编程转向使用 OS(Linux)的更大系统方面有哪些经验?什么是困难的,你是如何解决的?需要什么样的心态?

从零开始学习 C++ 还是继续使用纯 C 是否值得?

最佳答案

使用 Linux 内核替换微 Controller 系统的主要问题是驱动您正在与之交互的设备。为此,您可能必须编写驱动程序。我会说坚持使用 C 作为语言,因为您将希望保持用户空间尽可能干净。查看 uclibc 用于精简 C 标准库的库。

http://www.uclibc.org/

您还可以找到 忙箱有用。这提供了许多用户空间实用程序作为单个二进制文件。

http://www.busybox.net/

然后,只需从某个存储启动到实时系统,并通过与您的硬件接口(interface)的 init 运行一些控制逻辑。如果需要,您可以访问实时系统并运行 busybox 实用程序。实际上,唯一的区别是用户空间比正态分布更精简,并且在目标方面您将“更接近”内核。

还可以查看实时 linux。

http://www.realtimelinuxfoundation.org/

如果您需要一些正式的任务完成 promise 。我怀疑最难的部分将是启动/持久存储以及与您的硬件接口(interface)(如果它是异国情调的)。如果您不熟悉 Linux 引导,那么

http://www.cromwell-intl.com/unix/linux-boot.html

可能有帮助。

简而言之,如果你没有为 Linux 进行过深入的开发,没有构建过自己的发行版,或者没有内核经验,那么 你可能会发现编程很辛苦 .

http://www.linuxdevices.com/也可能有帮助

祝你好运

关于embedded - 如何从微 Controller 迁移到嵌入式 linux?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/942112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com