乐鑫技术交流
直播中

张伟

7年用户 1616经验值
私信 关注
[问答]

为什么RTOS SDK的Rom指针比非OS SDK少?

我为自己编写了一个引导加载程序,并希望访问基于 4 rom 的函数。

它们出现在 NON-OS SDK 文件 eagle.rom.addr.v6.ld 中:

函数包括:ets_printf、ets_putc、SPIRead 和 SPIWrite。

The last two are very important since they are required for bootloader operation.  The two "ets_" functions are for exporting debug data during the boot process.

我不使用 NON-OS SDK,因为我更喜欢 RTOS 版本。

令我惊讶的是,这些函数在 RTOS SDK 中不存在。

有人可以告诉我RTOS_SDK中的等效函数名称吗?

为什么常见的低级函数会在一个 SDK 中,而不是另一个 SDK 中?

谢谢。
            

回帖(1)

王斌

2024-7-10 17:52:04
RTOS SDK(实时操作系统软件开发包)与非OS SDK(无操作系统软件开发包)之间的主要区别在于RTOS SDK提供了一个实时操作系统,而非OS SDK则没有。这可能导致一些函数在RTOS SDK中不可用或具有不同的名称。以下是您提到的一些函数在RTOS SDK中的可能等效项:

1. ets_printf 和 ets_putc:这些函数在RTOS SDK中可能没有直接的等效项,因为RTOS SDK可能使用不同的日志和调试方法。但是,您可以使用标准C库中的printf和putchar函数作为替代。

2. SPIRead 和 SPIWrite:在RTOS SDK中,您可以使用以下函数来实现SPI通信:

   - 对于SPI读取操作,您可以使用 `spi_flash_read` 函数。
   - 对于SPI写入操作,您可以使用 `spi_flash_write` 函数。

请注意,这些函数可能需要一些额外的配置和初始化步骤。您可以查阅ESP8266/ESP32的RTOS SDK文档以获取更多详细信息。

关于为什么RTOS SDK中的Rom指针比非OS SDK少,这可能是因为RTOS SDK在设计时考虑到了实时性能和资源限制。RTOS SDK可能会优化一些函数,以减少内存占用和提高性能。此外,RTOS SDK可能使用不同的方法来实现某些功能,这可能导致一些函数在RTOS SDK中不可用或具有不同的名称。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分