首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用raspberry pi pico执行系统命令

如何使用raspberry pi pico执行系统命令
EN

Stack Overflow用户
提问于 2021-08-26 15:45:12
回答 2查看 820关注 0票数 0

我想知道是否有可能使用raspberry pi pico在计算机上运行系统命令,然后将它插入USB?

我试过像普通的C程序那样做:

代码语言:javascript
复制
#include "pico/stdlib.h"
#include <stdlib.h>
#include <stdio.h>

int main() {
    printf("Start");
    stdio_init_all();
    char *cmd = "ls";
    system(cmd);
    return 0;

}

尽管printf工作得很好,但系统功能(例如: readfile)却无法工作。

有任何方法,我可以运行某种行动在PC上使用微微usb输出?

此外,还有一个名为皮科达基的项目,它允许pico在系统上运行命令,但不幸的是,它已经用python编写了,我正在寻找c代码。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-27 13:01:11

要在嵌入式系统中以C语言运行system()函数调用,首先需要了解以下几点:

  • system()使用作为参数传递的字符串调用用户shell。你在运行操作系统吗?shell通常是操作系统组件,在许多嵌入式系统中通常不存在。
  • system()要求/bin/sh正常工作。要运行ls,需要在adition中安装它( ls命令)。

您没有说明您在Raspberry pi pico中有什么操作系统,但恐怕它不是linux (或任何unix风格的),所以可能所有这些都是禁止的。

通常,在小型系统中使用类似unix的环境的要求阻碍了在这样的系统中使用高技术的操作系统。Linux需要大量内存(就像正常的raspberry pi中的内存,而不是小型版本中的内存),一个大容量的存储系统(在usb磁盘、闪存卡等中),但通常是几Gb的最小安装)。

在您的例子中,264 to的ram非常小,因为有一个非mmu处理的微处理器,能够寻址虚拟内存空间。另外,2Mb的闪存使您可以编写大型程序,但不需要安装像linux这样的操作系统。

您是否是system()的模拟器,您应该能够运行其他程序,但如何运行?raspberry pi pico只有运行一个程序的空间(写入闪存的程序,而没有其他程序),即使您编写了多任务操作系统的内核,您也缺乏运行文件系统存储程序的空间,因为您通常对安装程序的闪存有有限的访问权限。

票数 1
EN

Stack Overflow用户

发布于 2021-11-27 17:04:02

Pico使用usb到串口与Pc通信,反之亦然。除非Pc上有服务器解释通过串行发送的数据,而不是执行cmd命令,否则用传输方式是不可能的。但是,您可以让Pico模仿USB设备并发送击键。检查丁香b和这个皮科超级键盘项目

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68941622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档