Pee*_*eeS 1 esp8266 arduino-esp8266
ESP SDK 库(非公开)存在限制,例如在 promisc 模式下数据包 recv 的长度(最大 112 字节)。
我试图联系他们以获得一些意见和指示 - 但他们的回答似乎都是废话。
是否可以在没有 SDK 的情况下对芯片进行编程 - 从而制作我自己的 SDK 并忘记它们的限制?
小智 5
esp8266 上的处理器核心是“xtensa”。处理器核心,或者我们简称为处理器,是我们使用 C 或 C++ 或汇编程序进行编程的部分。处理器的指令集是由公司公开的(是Tensilica..还是Cadence??),一旦你有了指令集,你就可以直接编程或制作编译器,对处理器有完全的自由。
处理器核心并不是完整的产品,对于我们最终消费者来说,像乐鑫这样的公司购买处理器核心设计的知识产权,并通过将 SPI、I2C、UART 等外设放入其中来构建最终产品。 esp8266 的外壳,wifi 收发器,围绕处理器核心。
这些外设以数字方式控制,并以数字方式输出到处理器,因此处理器可以与它们连接 - 但它们的动作可以是数字的或模拟的。对于 UART、SPI、I2C 等,espressif 为我们提供了数据表,其中介绍了可用于控制该外设的所有寄存器。这就像将您想要传输的内容写入该 X 内存地址,然后在 Z 内存地址上设置 Y 位以开始传输。例如,对于 SPI,有一些寄存器可以控制传输的速度、极性、相位等。一旦您知道如何在较低级别控制外设,您就可以编写高级驱动程序,espressif 也提供了这些驱动程序,但您可以编写自己的驱动程序。
对于 Wifi,espressif 尚未发布外围设备的接口方式,因此我们必须依赖于 espressif 发送给我们的编译后的二进制文件。您可以在“lib/lib80211.a”上使用“objdump -t”来至少获取 Wifi 驱动程序提供的例程的名称。您可以从 C 或汇编代码调用这些例程,并且比 espressif 预期的要低一些,但要降低任何水平都需要通过手动理解编译的驱动程序中的低级代码来进行“逆向工程”,没有人会冒这个风险和时间 -流走。
| 归档时间: |
|
| 查看次数: |
1055 次 |
| 最近记录: |